==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_6b903c7b-2abf-4fb6-a9a5-997f71e85c9d]...done ==> Making package: curl 8.16.0-1.1 (Thu Sep 11 16:50:28 2025) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.16.0-1/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.16.0-1.1 (Thu Sep 11 14:51:12 2025) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (9) New Version Net Change core/debuginfod 0.193-5 0.42 MiB core/libmicrohttpd 1.0.2-1 0.61 MiB extra/perl-error 0.17030-2 0.04 MiB extra/perl-mailtools 2.22-2 0.10 MiB extra/perl-timedate 2.33-8 0.08 MiB extra/zlib-ng 2.2.5-1 0.26 MiB extra/git 2.51.0-1 29.23 MiB extra/patchelf 0.18.0-3 0.24 MiB extra/valgrind 3.25.1-3 74.45 MiB Total Installed Size: 105.43 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-mediawiki-api: git mediawiki support perl-datetime-format-iso8601: git mediawiki support perl-lwp-protocol-https: git mediawiki https support perl-cgi: gitweb (web interface) support python: git svn & git p4 subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing patchelf... installing libmicrohttpd... installing debuginfod... Optional dependencies for debuginfod elfutils=0.193: for translations installing valgrind... Optional dependencies for valgrind lib32-glibc: 32-bit ABI support [installed] python: cg_* scripts :: Running post-transaction hooks... (1/5) Creating system user accounts... Creating group 'git' with GID 971. Creating user 'git' (git daemon user) with UID 971 and GID 971. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Checking for old perl modules... (5/5) Updating the info directory file... ==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of curl git repo... Cloning into 'curl'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' libtoolize: Remember to add 'LT_INIT' to configure.ac. configure.ac:128: installing './compile' configure.ac:452: installing './config.guess' configure.ac:452: installing './config.sub' configure.ac:128: installing './install-sh' configure.ac:134: installing './missing' docs/examples/Makefile.am: installing './depcomp' ==> Starting build()... checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.16.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/x509.h... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... yes checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_free in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... yes checking if libraries can be versioned... yes checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.16.0 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (openssl + nghttp3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! Making all in lib make[1]: Entering directory '/startdir/src/build-curl/lib' make all-am make[2]: Entering directory '/startdir/src/build-curl/lib' CC libcurl_la-amigaos.lo CC libcurl_la-altsvc.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-fopen.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-krb5.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la make[2]: Leaving directory '/startdir/src/build-curl/lib' make[1]: Leaving directory '/startdir/src/build-curl/lib' Making all in docs make[1]: Entering directory '/startdir/src/build-curl/docs' RENDER mk-ca-bundle.1 RENDER curl-config.1 RENDER runtests.1 RENDER testcurl.1 Making all in . make[2]: Entering directory '/startdir/src/build-curl/docs' RENDER wcurl.1 make[2]: Leaving directory '/startdir/src/build-curl/docs' Making all in cmdline-opts make[2]: Entering directory '/startdir/src/build-curl/docs/cmdline-opts' GENERATE curl.1 GENERATE curl.txt make[2]: Leaving directory '/startdir/src/build-curl/docs/cmdline-opts' Making all in libcurl make[2]: Entering directory '/startdir/src/build-curl/docs/libcurl' Making all in opts make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl/opts' RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_APPCONNECT_TIME.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_CAPATH.3 RENDER CURLINFO_CERTINFO.3 RENDER CURLINFO_CONDITION_UNMET.3 RENDER CURLINFO_CONNECT_TIME.3 RENDER CURLINFO_CONN_ID.3 RENDER CURLINFO_CONNECT_TIME_T.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 RENDER CURLINFO_CONTENT_TYPE.3 RENDER CURLINFO_COOKIELIST.3 RENDER CURLINFO_EARLYDATA_SENT_T.3 RENDER CURLINFO_EFFECTIVE_METHOD.3 RENDER CURLINFO_EFFECTIVE_URL.3 RENDER CURLINFO_FILETIME.3 RENDER CURLINFO_FILETIME_T.3 RENDER CURLINFO_FTP_ENTRY_PATH.3 RENDER CURLINFO_HEADER_SIZE.3 RENDER CURLINFO_HTTP_CONNECTCODE.3 RENDER CURLINFO_HTTP_VERSION.3 RENDER CURLINFO_HTTPAUTH_AVAIL.3 RENDER CURLINFO_HTTPAUTH_USED.3 RENDER CURLINFO_LASTSOCKET.3 RENDER CURLINFO_LOCAL_IP.3 RENDER CURLINFO_LOCAL_PORT.3 RENDER CURLINFO_NAMELOOKUP_TIME.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.3 RENDER CURLINFO_NUM_CONNECTS.3 RENDER CURLINFO_OS_ERRNO.3 RENDER CURLINFO_PRETRANSFER_TIME.3 RENDER CURLINFO_PRETRANSFER_TIME_T.3 RENDER CURLINFO_POSTTRANSFER_TIME_T.3 RENDER CURLINFO_PRIMARY_PORT.3 RENDER CURLINFO_PRIMARY_IP.3 RENDER CURLINFO_PRIVATE.3 RENDER CURLINFO_PROTOCOL.3 RENDER CURLINFO_PROXY_ERROR.3 RENDER CURLINFO_PROXY_SSL_VERIFYRESULT.3 RENDER CURLINFO_PROXYAUTH_AVAIL.3 RENDER CURLINFO_PROXYAUTH_USED.3 RENDER CURLINFO_QUEUE_TIME_T.3 RENDER CURLINFO_REDIRECT_COUNT.3 RENDER CURLINFO_REDIRECT_TIME.3 RENDER CURLINFO_REDIRECT_TIME_T.3 RENDER CURLINFO_REDIRECT_URL.3 RENDER CURLINFO_REFERER.3 RENDER CURLINFO_REQUEST_SIZE.3 RENDER CURLINFO_RESPONSE_CODE.3 RENDER CURLINFO_RETRY_AFTER.3 RENDER CURLINFO_RTSP_CLIENT_CSEQ.3 RENDER CURLINFO_RTSP_CSEQ_RECV.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_RTSP_SESSION_ID.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_SIZE_DOWNLOAD.3 RENDER CURLINFO_SIZE_DOWNLOAD_T.3 RENDER CURLINFO_SIZE_UPLOAD.3 RENDER CURLINFO_SIZE_UPLOAD_T.3 RENDER CURLINFO_SPEED_DOWNLOAD.3 RENDER CURLINFO_SPEED_DOWNLOAD_T.3 RENDER CURLINFO_SPEED_UPLOAD.3 RENDER CURLINFO_SPEED_UPLOAD_T.3 RENDER CURLINFO_SSL_ENGINES.3 RENDER CURLINFO_SSL_VERIFYRESULT.3 RENDER CURLINFO_STARTTRANSFER_TIME.3 RENDER CURLINFO_STARTTRANSFER_TIME_T.3 RENDER CURLINFO_TLS_SESSION.3 RENDER CURLINFO_TLS_SSL_PTR.3 RENDER CURLINFO_TOTAL_TIME.3 RENDER CURLINFO_TOTAL_TIME_T.3 RENDER CURLINFO_USED_PROXY.3 RENDER CURLINFO_XFER_ID.3 RENDER CURLMINFO_XFERS_ADDED.3 RENDER CURLMINFO_XFERS_CURRENT.3 RENDER CURLMINFO_XFERS_DONE.3 RENDER CURLMINFO_XFERS_PENDING.3 RENDER CURLMINFO_XFERS_RUNNING.3 RENDER CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_MAX_CONCURRENT_STREAMS.3 RENDER CURLMOPT_MAX_HOST_CONNECTIONS.3 RENDER CURLMOPT_MAX_PIPELINE_LENGTH.3 RENDER CURLMOPT_MAX_TOTAL_CONNECTIONS.3 RENDER CURLMOPT_MAXCONNECTS.3 RENDER CURLMOPT_NETWORK_CHANGED.3 RENDER CURLMOPT_PIPELINING.3 RENDER CURLMOPT_PIPELINING_SERVER_BL.3 RENDER CURLMOPT_PIPELINING_SITE_BL.3 RENDER CURLMOPT_PUSHDATA.3 RENDER CURLMOPT_PUSHFUNCTION.3 RENDER CURLMOPT_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPT_ENCODING.3 RENDER CURLOPT_ACCEPTTIMEOUT_MS.3 RENDER CURLOPT_ADDRESS_SCOPE.3 RENDER CURLOPT_ALTSVC.3 RENDER CURLOPT_ALTSVC_CTRL.3 RENDER CURLOPT_APPEND.3 RENDER CURLOPT_AUTOREFERER.3 RENDER CURLOPT_AWS_SIGV4.3 RENDER CURLOPT_BUFFERSIZE.3 RENDER CURLOPT_CAINFO.3 RENDER CURLOPT_CAINFO_BLOB.3 RENDER CURLOPT_CAPATH.3 RENDER CURLOPT_CA_CACHE_TIMEOUT.3 RENDER CURLOPT_CERTINFO.3 RENDER CURLOPT_CHUNK_BGN_FUNCTION.3 RENDER CURLOPT_CHUNK_DATA.3 RENDER CURLOPT_CHUNK_END_FUNCTION.3 RENDER CURLOPT_CLOSESOCKETDATA.3 RENDER CURLOPT_CLOSESOCKETFUNCTION.3 RENDER CURLOPT_CONNECT_ONLY.3 RENDER CURLOPT_CONNECT_TO.3 RENDER CURLOPT_CONNECTTIMEOUT.3 RENDER CURLOPT_CONNECTTIMEOUT_MS.3 RENDER CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 RENDER CURLOPT_CONV_FROM_UTF8_FUNCTION.3 RENDER CURLOPT_CONV_TO_NETWORK_FUNCTION.3 RENDER CURLOPT_COOKIE.3 RENDER CURLOPT_COOKIEFILE.3 RENDER CURLOPT_COOKIEJAR.3 RENDER CURLOPT_COOKIELIST.3 RENDER CURLOPT_COOKIESESSION.3 RENDER CURLOPT_COPYPOSTFIELDS.3 RENDER CURLOPT_CRLF.3 RENDER CURLOPT_CRLFILE.3 RENDER CURLOPT_CURLU.3 RENDER CURLOPT_CUSTOMREQUEST.3 RENDER CURLOPT_DEBUGDATA.3 RENDER CURLOPT_DEBUGFUNCTION.3 RENDER CURLOPT_DEFAULT_PROTOCOL.3 RENDER CURLOPT_DIRLISTONLY.3 RENDER CURLOPT_DISALLOW_USERNAME_IN_URL.3 RENDER CURLOPT_DNS_CACHE_TIMEOUT.3 RENDER CURLOPT_DNS_INTERFACE.3 RENDER CURLOPT_DNS_LOCAL_IP4.3 RENDER CURLOPT_DNS_LOCAL_IP6.3 RENDER CURLOPT_DNS_SERVERS.3 RENDER CURLOPT_DNS_SHUFFLE_ADDRESSES.3 RENDER CURLOPT_DNS_USE_GLOBAL_CACHE.3 RENDER CURLOPT_DOH_SSL_VERIFYHOST.3 RENDER CURLOPT_DOH_SSL_VERIFYPEER.3 RENDER CURLOPT_DOH_SSL_VERIFYSTATUS.3 RENDER CURLOPT_DOH_URL.3 RENDER CURLOPT_ECH.3 RENDER CURLOPT_EGDSOCKET.3 RENDER CURLOPT_ERRORBUFFER.3 RENDER CURLOPT_EXPECT_100_TIMEOUT_MS.3 RENDER CURLOPT_FAILONERROR.3 RENDER CURLOPT_FILETIME.3 RENDER CURLOPT_FNMATCH_DATA.3 RENDER CURLOPT_FNMATCH_FUNCTION.3 RENDER CURLOPT_FOLLOWLOCATION.3 RENDER CURLOPT_FORBID_REUSE.3 RENDER CURLOPT_FRESH_CONNECT.3 RENDER CURLOPT_FTP_ACCOUNT.3 RENDER CURLOPT_FTP_ALTERNATIVE_TO_USER.3 RENDER CURLOPT_FTP_CREATE_MISSING_DIRS.3 RENDER CURLOPT_FTP_FILEMETHOD.3 RENDER CURLOPT_FTP_SKIP_PASV_IP.3 RENDER CURLOPT_FTP_SSL_CCC.3 RENDER CURLOPT_FTP_USE_EPRT.3 RENDER CURLOPT_FTP_USE_EPSV.3 RENDER CURLOPT_FTP_USE_PRET.3 RENDER CURLOPT_FTPPORT.3 RENDER CURLOPT_FTPSSLAUTH.3 RENDER CURLOPT_GSSAPI_DELEGATION.3 RENDER CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 RENDER CURLOPT_HAPROXYPROTOCOL.3 RENDER CURLOPT_HAPROXY_CLIENT_IP.3 RENDER CURLOPT_HEADER.3 RENDER CURLOPT_HEADERDATA.3 RENDER CURLOPT_HEADERFUNCTION.3 RENDER CURLOPT_HEADEROPT.3 RENDER CURLOPT_HSTS.3 RENDER CURLOPT_HSTS_CTRL.3 RENDER CURLOPT_HSTSREADDATA.3 RENDER CURLOPT_HSTSREADFUNCTION.3 RENDER CURLOPT_HSTSWRITEDATA.3 RENDER CURLOPT_HSTSWRITEFUNCTION.3 RENDER CURLOPT_HTTP09_ALLOWED.3 RENDER CURLOPT_HTTP200ALIASES.3 RENDER CURLOPT_HTTP_CONTENT_DECODING.3 RENDER CURLOPT_HTTP_TRANSFER_DECODING.3 RENDER CURLOPT_HTTP_VERSION.3 RENDER CURLOPT_HTTPAUTH.3 RENDER CURLOPT_HTTPGET.3 RENDER CURLOPT_HTTPHEADER.3 RENDER CURLOPT_HTTPPOST.3 RENDER CURLOPT_HTTPPROXYTUNNEL.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.3 RENDER CURLOPT_INFILESIZE.3 RENDER CURLOPT_INFILESIZE_LARGE.3 RENDER CURLOPT_INTERFACE.3 RENDER CURLOPT_INTERLEAVEDATA.3 RENDER CURLOPT_INTERLEAVEFUNCTION.3 RENDER CURLOPT_IOCTLDATA.3 RENDER CURLOPT_IOCTLFUNCTION.3 RENDER CURLOPT_IPRESOLVE.3 RENDER CURLOPT_ISSUERCERT.3 RENDER CURLOPT_ISSUERCERT_BLOB.3 RENDER CURLOPT_KEEP_SENDING_ON_ERROR.3 RENDER CURLOPT_KEYPASSWD.3 RENDER CURLOPT_KRBLEVEL.3 RENDER CURLOPT_LOCALPORT.3 RENDER CURLOPT_LOCALPORTRANGE.3 RENDER CURLOPT_LOGIN_OPTIONS.3 RENDER CURLOPT_LOW_SPEED_LIMIT.3 RENDER CURLOPT_LOW_SPEED_TIME.3 RENDER CURLOPT_MAIL_AUTH.3 RENDER CURLOPT_MAIL_FROM.3 RENDER CURLOPT_MAIL_RCPT.3 RENDER CURLOPT_MAIL_RCPT_ALLOWFAILS.3 RENDER CURLOPT_MAX_RECV_SPEED_LARGE.3 RENDER CURLOPT_MAX_SEND_SPEED_LARGE.3 RENDER CURLOPT_MAXAGE_CONN.3 RENDER CURLOPT_MAXCONNECTS.3 RENDER CURLOPT_MAXFILESIZE.3 RENDER CURLOPT_MAXFILESIZE_LARGE.3 RENDER CURLOPT_MAXLIFETIME_CONN.3 RENDER CURLOPT_MAXREDIRS.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.3 RENDER CURLOPT_NETRC.3 RENDER CURLOPT_NETRC_FILE.3 RENDER CURLOPT_NEW_DIRECTORY_PERMS.3 RENDER CURLOPT_NEW_FILE_PERMS.3 RENDER CURLOPT_NOBODY.3 RENDER CURLOPT_NOPROGRESS.3 RENDER CURLOPT_NOPROXY.3 RENDER CURLOPT_NOSIGNAL.3 RENDER CURLOPT_OPENSOCKETDATA.3 RENDER CURLOPT_OPENSOCKETFUNCTION.3 RENDER CURLOPT_PASSWORD.3 RENDER CURLOPT_PATH_AS_IS.3 RENDER CURLOPT_PINNEDPUBLICKEY.3 RENDER CURLOPT_PIPEWAIT.3 RENDER CURLOPT_PORT.3 RENDER CURLOPT_POST.3 RENDER CURLOPT_POSTFIELDS.3 RENDER CURLOPT_POSTFIELDSIZE.3 RENDER CURLOPT_POSTFIELDSIZE_LARGE.3 RENDER CURLOPT_POSTQUOTE.3 RENDER CURLOPT_POSTREDIR.3 RENDER CURLOPT_PRE_PROXY.3 RENDER CURLOPT_PREQUOTE.3 RENDER CURLOPT_PREREQDATA.3 RENDER CURLOPT_PREREQFUNCTION.3 RENDER CURLOPT_PRIVATE.3 RENDER CURLOPT_PROGRESSDATA.3 RENDER CURLOPT_PROGRESSFUNCTION.3 RENDER CURLOPT_PROTOCOLS.3 RENDER CURLOPT_PROTOCOLS_STR.3 RENDER CURLOPT_PROXY.3 RENDER CURLOPT_PROXY_CAINFO.3 RENDER CURLOPT_PROXY_CAINFO_BLOB.3 RENDER CURLOPT_PROXY_CAPATH.3 RENDER CURLOPT_PROXY_CRLFILE.3 RENDER CURLOPT_PROXY_ISSUERCERT.3 RENDER CURLOPT_PROXY_ISSUERCERT_BLOB.3 RENDER CURLOPT_PROXY_KEYPASSWD.3 RENDER CURLOPT_PROXY_PINNEDPUBLICKEY.3 RENDER CURLOPT_PROXY_SERVICE_NAME.3 RENDER CURLOPT_PROXY_SSL_CIPHER_LIST.3 RENDER CURLOPT_PROXY_SSL_OPTIONS.3 RENDER CURLOPT_PROXY_SSL_VERIFYHOST.3 RENDER CURLOPT_PROXY_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLKEY.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.3 RENDER CURLOPT_PROXY_SSLKEYTYPE.3 RENDER CURLOPT_PROXY_SSLVERSION.3 RENDER CURLOPT_PROXY_TLS13_CIPHERS.3 RENDER CURLOPT_PROXY_TLSAUTH_PASSWORD.3 RENDER CURLOPT_PROXY_TLSAUTH_TYPE.3 RENDER CURLOPT_PROXY_TLSAUTH_USERNAME.3 RENDER CURLOPT_PROXY_TRANSFER_MODE.3 RENDER CURLOPT_PROXYAUTH.3 RENDER CURLOPT_PROXYHEADER.3 RENDER CURLOPT_PROXYPASSWORD.3 RENDER CURLOPT_PROXYPORT.3 RENDER CURLOPT_PROXYTYPE.3 RENDER CURLOPT_PROXYUSERNAME.3 RENDER CURLOPT_PROXYUSERPWD.3 RENDER CURLOPT_PUT.3 RENDER CURLOPT_QUICK_EXIT.3 RENDER CURLOPT_QUOTE.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_RANGE.3 RENDER CURLOPT_READDATA.3 RENDER CURLOPT_READFUNCTION.3 RENDER CURLOPT_REDIR_PROTOCOLS.3 RENDER CURLOPT_REDIR_PROTOCOLS_STR.3 RENDER CURLOPT_REFERER.3 RENDER CURLOPT_RESOLVE.3 RENDER CURLOPT_REQUEST_TARGET.3 RENDER CURLOPT_RESOLVER_START_DATA.3 RENDER CURLOPT_RESOLVER_START_FUNCTION.3 RENDER CURLOPT_RESUME_FROM.3 RENDER CURLOPT_RESUME_FROM_LARGE.3 RENDER CURLOPT_RTSP_CLIENT_CSEQ.3 RENDER CURLOPT_RTSP_REQUEST.3 RENDER CURLOPT_RTSP_SERVER_CSEQ.3 RENDER CURLOPT_RTSP_SESSION_ID.3 RENDER CURLOPT_RTSP_STREAM_URI.3 RENDER CURLOPT_RTSP_TRANSPORT.3 RENDER CURLOPT_SASL_AUTHZID.3 RENDER CURLOPT_SASL_IR.3 RENDER CURLOPT_SEEKDATA.3 RENDER CURLOPT_SEEKFUNCTION.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SSH_AUTH_TYPES.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYDATA.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 RENDER CURLOPT_SSH_KEYDATA.3 RENDER CURLOPT_SSH_KEYFUNCTION.3 RENDER CURLOPT_SSH_KNOWNHOSTS.3 RENDER CURLOPT_SSH_PRIVATE_KEYFILE.3 RENDER CURLOPT_SSH_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSL_CIPHER_LIST.3 RENDER CURLOPT_SSL_CTX_DATA.3 RENDER CURLOPT_SSL_CTX_FUNCTION.3 RENDER CURLOPT_SSL_EC_CURVES.3 RENDER CURLOPT_SSL_ENABLE_ALPN.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_FALSESTART.3 RENDER CURLOPT_SSL_OPTIONS.3 RENDER CURLOPT_SSL_SESSIONID_CACHE.3 RENDER CURLOPT_SSL_SIGNATURE_ALGORITHMS.3 RENDER CURLOPT_SSL_VERIFYHOST.3 RENDER CURLOPT_SSL_VERIFYPEER.3 RENDER CURLOPT_SSL_VERIFYSTATUS.3 RENDER CURLOPT_SSLCERT.3 RENDER CURLOPT_SSLCERT_BLOB.3 RENDER CURLOPT_SSLCERTTYPE.3 RENDER CURLOPT_SSLENGINE.3 RENDER CURLOPT_SSLENGINE_DEFAULT.3 RENDER CURLOPT_SSLKEY.3 RENDER CURLOPT_SSLKEY_BLOB.3 RENDER CURLOPT_SSLKEYTYPE.3 RENDER CURLOPT_SSLVERSION.3 RENDER CURLOPT_STDERR.3 RENDER CURLOPT_STREAM_DEPENDS.3 RENDER CURLOPT_STREAM_DEPENDS_E.3 RENDER CURLOPT_STREAM_WEIGHT.3 RENDER CURLOPT_SUPPRESS_CONNECT_HEADERS.3 RENDER CURLOPT_TCP_FASTOPEN.3 RENDER CURLOPT_TCP_KEEPALIVE.3 RENDER CURLOPT_TCP_KEEPIDLE.3 RENDER CURLOPT_TCP_KEEPINTVL.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TCP_KEEPCNT.3 RENDER CURLOPT_TELNETOPTIONS.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLSAUTH_PASSWORD.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_TYPE.3 RENDER CURLOPT_TLSAUTH_USERNAME.3 RENDER CURLOPT_TRAILERDATA.3 RENDER CURLOPT_TRAILERFUNCTION.3 RENDER CURLOPT_TRANSFER_ENCODING.3 RENDER CURLOPT_TRANSFERTEXT.3 RENDER CURLOPT_UNIX_SOCKET_PATH.3 RENDER CURLOPT_UNRESTRICTED_AUTH.3 RENDER CURLOPT_UPKEEP_INTERVAL_MS.3 RENDER CURLOPT_UPLOAD.3 RENDER CURLOPT_UPLOAD_BUFFERSIZE.3 RENDER CURLOPT_UPLOAD_FLAGS.3 RENDER CURLOPT_URL.3 RENDER CURLOPT_USE_SSL.3 RENDER CURLOPT_USERAGENT.3 RENDER CURLOPT_USERNAME.3 RENDER CURLOPT_USERPWD.3 RENDER CURLOPT_VERBOSE.3 RENDER CURLOPT_WILDCARDMATCH.3 RENDER CURLOPT_WRITEDATA.3 RENDER CURLOPT_WRITEFUNCTION.3 RENDER CURLOPT_WS_OPTIONS.3 RENDER CURLOPT_XFERINFODATA.3 RENDER CURLOPT_XFERINFOFUNCTION.3 RENDER CURLOPT_XOAUTH2_BEARER.3 RENDER CURLSHOPT_LOCKFUNC.3 RENDER CURLSHOPT_SHARE.3 RENDER CURLSHOPT_UNLOCKFUNC.3 RENDER CURLSHOPT_UNSHARE.3 RENDER CURLSHOPT_USERDATA.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl/opts' make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl' RENDER curl_easy_cleanup.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_escape.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_header.3 RENDER curl_easy_init.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_next.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_recv.3 RENDER curl_easy_reset.3 RENDER curl_easy_send.3 RENDER curl_easy_setopt.3 RENDER curl_easy_ssls_export.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_strerror.3 RENDER curl_easy_unescape.3 RENDER curl_easy_upkeep.3 RENDER curl_formadd.3 RENDER curl_escape.3 RENDER curl_formfree.3 RENDER curl_formget.3 RENDER curl_free.3 RENDER curl_getdate.3 RENDER curl_getenv.3 RENDER curl_global_cleanup.3 RENDER curl_global_init.3 RENDER curl_global_init_mem.3 RENDER curl_global_sslset.3 RENDER curl_global_trace.3 RENDER curl_mime_addpart.3 RENDER curl_mime_data.3 RENDER curl_mime_data_cb.3 RENDER curl_mime_encoder.3 RENDER curl_mime_filedata.3 RENDER curl_mime_filename.3 RENDER curl_mime_free.3 RENDER curl_mime_headers.3 RENDER curl_mime_init.3 RENDER curl_mime_subparts.3 RENDER curl_mime_name.3 RENDER curl_mime_type.3 RENDER curl_mprintf.3 RENDER curl_multi_add_handle.3 RENDER curl_multi_assign.3 RENDER curl_multi_cleanup.3 RENDER curl_multi_fdset.3 RENDER curl_multi_get_handles.3 RENDER curl_multi_get_offt.3 RENDER curl_multi_info_read.3 RENDER curl_multi_init.3 RENDER curl_multi_perform.3 RENDER curl_multi_poll.3 RENDER curl_multi_remove_handle.3 RENDER curl_multi_setopt.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_action.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_strerror.3 RENDER curl_multi_timeout.3 RENDER curl_multi_wait.3 RENDER curl_multi_waitfds.3 RENDER curl_multi_wakeup.3 RENDER curl_pushheader_byname.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_cleanup.3 RENDER curl_share_init.3 RENDER curl_share_setopt.3 RENDER curl_share_strerror.3 RENDER curl_slist_append.3 RENDER curl_slist_free_all.3 RENDER curl_strequal.3 RENDER curl_strnequal.3 RENDER curl_unescape.3 RENDER curl_url.3 RENDER curl_url_cleanup.3 RENDER curl_url_dup.3 RENDER curl_url_get.3 RENDER curl_url_set.3 RENDER curl_url_strerror.3 RENDER curl_version.3 RENDER curl_version_info.3 RENDER curl_ws_meta.3 RENDER curl_ws_recv.3 RENDER curl_ws_send.3 RENDER curl_ws_start_frame.3 RENDER libcurl-easy.3 RENDER libcurl-env-dbg.3 RENDER libcurl-env.3 RENDER libcurl-errors.3 RENDER libcurl-multi.3 RENDER libcurl-security.3 RENDER libcurl-share.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-tutorial.3 RENDER libcurl-url.3 RENDER libcurl-ws.3 RENDER libcurl.3 RENDER libcurl-symbols.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[2]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[1]: Leaving directory '/startdir/src/build-curl/docs' Making all in src make[1]: Entering directory '/startdir/src/build-curl/src' CC curl-config2setopts.o CC curl-slist_wc.o CC curl-terminal.o CC curl-tool_bname.o CC curl-tool_cb_dbg.o CC curl-tool_cb_hdr.o CC curl-tool_cb_prg.o CC curl-tool_cb_rea.o CC curl-tool_cb_see.o CC curl-tool_cb_soc.o CC curl-tool_cb_wrt.o CC curl-tool_cfgable.o CC curl-tool_dirhie.o CC curl-tool_doswin.o CC curl-tool_easysrc.o CC curl-tool_filetime.o CC curl-tool_findfile.o CC curl-tool_formparse.o CC curl-tool_getparam.o CC curl-tool_getpass.o CC curl-tool_help.o CC curl-tool_helpers.o CC curl-tool_ipfs.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_main.o CC curl-tool_msgs.o CC curl-tool_operate.o CC curl-tool_operhlp.o CC curl-tool_paramhlp.o CC curl-tool_parsecfg.o CC curl-tool_progress.o CC curl-tool_setopt.o CC curl-tool_ssls.o CC curl-tool_stderr.o CC curl-tool_strdup.o CC curl-tool_urlglob.o CC curl-tool_util.o CC curl-tool_vms.o CC curl-tool_writeout.o CC curl-tool_writeout_json.o CC curl-tool_xattr.o CC curl-var.o echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c; \ echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c echo '/* !checksrc! disable COPYRIGHT all */' > tool_ca_embed.c echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' >> tool_ca_embed.c CC ../lib/curlx/curl-base64.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-dynbuf.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strparse.o CC ../lib/curlx/curl-timediff.o CC ../lib/curlx/curl-timeval.o CC ../lib/curlx/curl-version_win32.o CC ../lib/curlx/curl-wait.o CC ../lib/curlx/curl-warnless.o CC curlinfo.o CC libcurltool_la-config2setopts.lo CC libcurltool_la-slist_wc.lo CC libcurltool_la-terminal.lo CC libcurltool_la-tool_bname.lo CC libcurltool_la-tool_cb_dbg.lo CC libcurltool_la-tool_cb_hdr.lo CC libcurltool_la-tool_cb_prg.lo CC libcurltool_la-tool_cb_rea.lo CC libcurltool_la-tool_cb_see.lo CC libcurltool_la-tool_cb_soc.lo CC libcurltool_la-tool_cb_wrt.lo CC libcurltool_la-tool_cfgable.lo CC libcurltool_la-tool_dirhie.lo CC libcurltool_la-tool_doswin.lo CC libcurltool_la-tool_easysrc.lo CC libcurltool_la-tool_filetime.lo CC libcurltool_la-tool_findfile.lo CC libcurltool_la-tool_formparse.lo CC libcurltool_la-tool_getparam.lo CC libcurltool_la-tool_getpass.lo CC libcurltool_la-tool_help.lo CC libcurltool_la-tool_helpers.lo CC libcurltool_la-tool_ipfs.lo CC libcurltool_la-tool_libinfo.lo CC libcurltool_la-tool_listhelp.lo CC libcurltool_la-tool_main.lo CC libcurltool_la-tool_msgs.lo CC libcurltool_la-tool_operate.lo CC libcurltool_la-tool_operhlp.lo CC libcurltool_la-tool_paramhlp.lo CC libcurltool_la-tool_parsecfg.lo CC libcurltool_la-tool_progress.lo CC libcurltool_la-tool_setopt.lo CC libcurltool_la-tool_ssls.lo CC libcurltool_la-tool_stderr.lo CC libcurltool_la-tool_strdup.lo CC libcurltool_la-tool_urlglob.lo CC libcurltool_la-tool_util.lo CC libcurltool_la-tool_vms.lo CC libcurltool_la-tool_writeout.lo CC libcurltool_la-tool_writeout_json.lo CC libcurltool_la-tool_xattr.lo CC libcurltool_la-var.lo CC ../lib/curlx/libcurltool_la-base64.lo CC ../lib/curlx/libcurltool_la-multibyte.lo CC ../lib/curlx/libcurltool_la-dynbuf.lo CC ../lib/curlx/libcurltool_la-nonblock.lo CC ../lib/curlx/libcurltool_la-strparse.lo CC ../lib/curlx/libcurltool_la-timediff.lo CC ../lib/curlx/libcurltool_la-timeval.lo CC ../lib/curlx/libcurltool_la-version_win32.lo CC ../lib/curlx/libcurltool_la-wait.lo CC ../lib/curlx/libcurltool_la-warnless.lo CC curl-tool_hugehelp.o CC curl-tool_ca_embed.o CCLD curlinfo CCLD curl CCLD libcurltool.la make[1]: Leaving directory '/startdir/src/build-curl/src' Making all in scripts make[1]: Entering directory '/startdir/src/build-curl/scripts' /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell zsh > _curl /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell fish > curl.fish make[1]: Leaving directory '/startdir/src/build-curl/scripts' make[1]: Entering directory '/startdir/src/build-curl' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/startdir/src/build-curl' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.16.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/x509.h... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... yes checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_free in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.16.0 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (openssl + nghttp3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! make: Entering directory '/startdir/src/build-curl-compat/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-compat/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-fopen.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-krb5.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC curlx/libcurlu_la-base64.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_des.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-gtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls_threadlock.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-x509asn1.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_ngtcp2.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-wolfssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-compat/lib' make: Leaving directory '/startdir/src/build-curl-compat/lib' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.16.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for gnutls options with pkg-config... found checking for gnutls_x509_crt_get_dn2 in -lgnutls... yes configure: detected GnuTLS version 3.8.10 checking for nettle_MD5Init in -lgnutls... no checking for nettle_MD5Init in -lnettle... yes checking for gnutls_srp_verifier in -lgnutls... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_free in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE -isystem /usr/include/p11-kit-1 LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.16.0 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd make: Entering directory '/startdir/src/build-curl-gnutls/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-gnutls/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-fopen.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-krb5.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-transfer.lo CC libcurlu_la-tftp.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-hostcheck.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls_threadlock.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-openssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_ngtcp2.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_osslq.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-vquic-tls.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-wolfssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-gnutls/lib' make: Leaving directory '/startdir/src/build-curl-gnutls/lib' ==> Starting check()... make[1]: Entering directory '/startdir/src/build-curl/tests' Making all in certs make[2]: Entering directory '/startdir/src/build-curl/tests/certs' /usr/bin/perl /startdir/src/curl/tests/certs/genserv.pl test test-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm test-client-cert.prm test-client-eku-only.prm /usr/bin/openssl OpenSSL 3.5.2 5 Aug 2025 (Library: OpenSSL 3.5.2 5 Aug 2025) Certificate request self-signature ok subject=C=NN, O=Edel Curl Arctic Illudium Research Cloud, CN=Northern Nowhere Trust Anchor CA root generated: test 6000 days prime256v1 Certificate generated: CA=test 300days prime256v1 test-localhost Certificate generated: CA=test 300days prime256v1 test-localhost.nn Certificate generated: CA=test 300days prime256v1 test-localhost0h Certificate generated: CA=test 300days prime256v1 test-localhost-san-first Certificate generated: CA=test 300days prime256v1 test-localhost-san-last Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only make[2]: Leaving directory '/startdir/src/build-curl/tests/certs' Making all in data make[2]: Entering directory '/startdir/src/build-curl/tests/data' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/data' Making all in server make[2]: Entering directory '/startdir/src/build-curl/tests/server' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include memptr.c getpart.c util.c ../../lib/curlx/base64.c ../../lib/curlx/inet_pton.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/multibyte.c ../../lib/curlx/nonblock.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/version_win32.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c --test dnsd.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c > servers.c RUN checksrc CC servers.o CCLD servers make[2]: Leaving directory '/startdir/src/build-curl/tests/server' Making all in libtest make[2]: Entering directory '/startdir/src/build-curl/tests/libtest' /usr/bin/perl /startdir/src/curl/tests/libtest/mk-lib1521.pl < /startdir/src/curl/include/curl/curl.h lib1521.c /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include memptr.c testutil.c testtrace.c ../../lib/curlx/warnless.c ../../lib/curlx/multibyte.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curl_threads.c ../../lib/curlx/version_win32.c ../../lib/curlx/wait.c --test cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pingpong.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib758.c lib757.c lib1156.c lib1301.c lib1308.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.c lib1900.c lib1901.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib2023.c lib2032.c lib2082.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2402.c lib2404.c lib2405.c lib2502.c lib2700.c lib3010.c lib3025.c lib3026.c lib3027.c lib3033.c lib3034.c lib3100.c lib3101.c lib3102.c lib3103.c lib3104.c lib3105.c lib3207.c lib3208.c lib1521.c > libtests.c RUN checksrc CC libtests.o CCLD libtests make[2]: Leaving directory '/startdir/src/build-curl/tests/libtest' Making all in http make[2]: Entering directory '/startdir/src/build-curl/tests/http' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/http' Making all in unit make[2]: Entering directory '/startdir/src/build-curl/tests/unit' (cd ../../lib && make unitprotos.h) RUN checksrc make[3]: Entering directory '/startdir/src/build-curl/lib' UNITPR unitprotos.h make[3]: Leaving directory '/startdir/src/build-curl/lib' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1396.c unit1397.c unit1398.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1979.c unit1980.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c > units.c CC units.o CCLD units make[2]: Leaving directory '/startdir/src/build-curl/tests/unit' Making all in tunit make[2]: Entering directory '/startdir/src/build-curl/tests/tunit' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test tool1394.c tool1604.c tool1621.c > tunits.c RUN checksrc CC tunits.o CCLD tunits make[2]: Leaving directory '/startdir/src/build-curl/tests/tunit' make[2]: Entering directory '/startdir/src/build-curl/tests' (cd certs && make) make[3]: Entering directory '/startdir/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs' make[2]: Leaving directory '/startdir/src/build-curl/tests' srcdir=/startdir/src/curl/tests /usr/bin/perl -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 Using curl: ../src/curl CMD (256): valgrind >/dev/null 2>&1 CMD (0): valgrind --help 2>&1 | grep -- --tool >/dev/null 2>&1 CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log ********* System characteristics ******** * curl 8.16.0 (x86_64-pc-linux-gnu) * libcurl/8.16.0 OpenSSL/3.5.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.67.0 nghttp3/1.11.0 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss * Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd * Disabled: win32-ca-searchpath, win32-ca-search-safe, override-dns * Host: * System: Linux arch-nspawn-1332227 6.12.45-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 04 Sep 2025 17:54:55 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.42.0 (/usr/bin/perl) * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 * Jobs: 24 * Env: Valgrind * Seed: 222442 * Servers: HTTP-IPv6 HTTP-unix FTP-IPv6 ***************************************** DISABLED: test 323 DISABLED: test 594 DISABLED: test 836 DISABLED: test 882 DISABLED: test 938 DISABLED: test 1182 DISABLED: test 1184 DISABLED: test 1209 DISABLED: test 1211 DISABLED: test 1307 DISABLED: test 1316 DISABLED: test 1512 DISABLED: test 1801 DISABLED: test 2043 test 0096 SKIPPED: curl lacks TrackMemory support test 0159 SKIPPED: curl lacks Debug support test 0356 SKIPPED: curl lacks Debug support test 0358 SKIPPED: curl lacks Debug support test 0375 SKIPPED: curl has proxy support test 0445 SKIPPED: curl lacks ldap support test 0506 SKIPPED: curl has threaded-resolver support test 0558 SKIPPED: curl lacks TrackMemory support Warning: test573 result is ignored due to flaky Warning: test587 result is ignored due to flaky test 0959 SKIPPED: curl has IDN support test 0960 SKIPPED: curl has IDN support test 0961 SKIPPED: curl has IDN support test 1026 SKIPPED: curl lacks manual support Warning: test1086 result is ignored due to flaky Warning: test1086 result is ignored due to timing-dependent Warning: test1112 result is ignored due to timing-dependent Warning: test1113 result is ignored due to flaky Warning: test1162 result is ignored due to flaky Warning: test1163 result is ignored due to flaky test 1179 SKIPPED: curl lacks manual support Warning: test1208 result is ignored due to flaky Warning: test1208 result is ignored due to timing-dependent test 1330 SKIPPED: curl lacks TrackMemory support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support Warning: test1510 result is ignored due to flaky test 1560 SKIPPED: curl lacks ldap support Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent Warning: test1631 result is ignored due to flaky Warning: test1632 result is ignored due to flaky test 1703 SKIPPED: curl lacks Unicode support Warning: test2032 result is ignored due to flaky Warning: test2032 result is ignored due to timing-dependent test 2033 SKIPPED: curl lacks Schannel support test 2070 SKIPPED: curl lacks Schannel support test 2079 SKIPPED: curl lacks Schannel support test 2102 SKIPPED: curl lacks override-dns support test 2103 SKIPPED: curl lacks override-dns support test 2104 SKIPPED: curl lacks override-dns support test 2500 SKIPPED: curl lacks nghttpx-h3 support test 2503 SKIPPED: curl lacks nghttpx-h3 support test 4000 SKIPPED: curl lacks ECH support test 4001 SKIPPED: curl lacks ECH support Runner 74007 starting Runner 74006 starting Runner 74005 starting Runner 74004 starting Runner 74003 starting Runner 74002 starting Runner 74001 starting Runner 74000 starting Runner 73999 starting Runner 73998 starting Runner 73997 starting Runner 73996 starting Runner 73995 starting Runner 73994 starting Runner 73993 starting Runner 73992 starting Runner 73991 starting Runner 73990 starting Runner 73989 starting Runner 73988 starting Runner 73987 starting Runner 73986 starting Runner 73985 starting Runner 73984 starting CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:46217/2 > log/23/stdout2 2> log/23/stderr2 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind25 ../src/curl -q --output log/23/curl25.out --include --trace-ascii log/23/trace25 --trace-time http://127.0.0.1:46217/want/25 -L --max-redirs 5 > log/23/stdout25 2> log/23/stderr25 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:35893/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 Hmmm, the tests are taking a while to finish. Here is the status: runtests.pl internal state: 24 busy test runner(s) of 24 Runner 1 (id 73984) running test 24 in state 4 Runner 2 (id 73985) running test 23 in state 4 Runner 3 (id 73986) running test 22 in state 4 Runner 4 (id 73987) running test 21 in state 4 Runner 5 (id 73988) running test 20 in state 4 Runner 6 (id 73989) running test 19 in state 4 Runner 7 (id 73990) running test 18 in state 4 Runner 8 (id 73991) running test 17 in state 4 Runner 9 (id 73992) running test 16 in state 4 Runner 10 (id 73993) running test 15 in state 4 Runner 11 (id 73994) running test 14 in state 4 Runner 12 (id 73995) running test 13 in state 4 Runner 13 (id 73996) running test 12 in state 4 Runner 14 (id 73997) running test 11 in state 4 Runner 15 (id 73998) running test 10 in state 4 Runner 16 (id 73999) running test 9 in state 4 Runner 17 (id 74000) running test 8 in state 4 Runner 18 (id 74001) running test 7 in state 4 Runner 19 (id 74002) running test 6 in state 4 Runner 20 (id 74003) running test 5 in state 4 Runner 21 (id 74004) running test 4 in state 4 Runner 22 (id 74005) running test 3 in state 4 Runner 23 (id 74006) running test 2 in state 4 Runner 24 (id 74007) running test 1 in state 4 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_server.pid" --logfile "log/23/http_server.log" --logdir "log/23" --portfile log/23/server/http_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74009 port 46217 * pid http => 74009 74009 test 0002...[HTTP GET with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:46217/2 > log/23/stdout2 2> log/23/stderr2 2: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 2 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:46217/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 14:52:51.606134 Running HTTP IPv4 version on port 46217 14:52:51.606193 Wrote pid 74009 to log/23/server/http_server.pid 14:52:51.606214 Wrote port 46217 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 2 === End of file server.cmd === Start of file valgrind2 ==74069== ==74069== Process terminating with default action of signal 4 (SIGILL) ==74069== Illegal opcode at address 0x4014B6F ==74069== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74069== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74069== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74069== by 0x4004266: main (tool_main.c:199) === End of file valgrind2 test 0025...[looping HTTP Location: following with --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind25 ../src/curl -q --output log/23/curl25.out --include --trace-ascii log/23/trace25 --trace-time http://127.0.0.1:46217/want/25 -L --max-redirs 5 > log/23/stdout25 2> log/23/stderr25 25: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 25 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind25 ../src/curl -q --output log/23/curl25.out --include --trace-ascii log/23/trace25 --trace-time http://127.0.0.1:46217/want/25 -L --max-redirs 5 > log/23/stdout25 2> log/23/stderr25 === End of file commands.log === Start of file http_server.log 14:53:13.159141 ====> Client connect 14:53:13.159163 accept_connection 3 returned 4 14:53:13.159174 accept_connection 3 returned 0 14:53:13.159184 Read 93 bytes 14:53:13.159194 Process 93 bytes request 14:53:13.159206 Got request: GET /verifiedserver HTTP/1.1 14:53:13.159213 Are-we-friendly question received 14:53:13.159229 Wrote request (93 bytes) input to log/23/server.input 14:53:13.159243 Identifying ourselves as friends 14:53:13.159282 Response sent (56 bytes) and written to log/23/server.response 14:53:13.159291 special request received, no persistency 14:53:13.159298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46217... * Established connection to 127.0.0.1 (127.0.0.1 port 46217) from 127.0.0.1 port 35034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46217 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74009 === End of file http_verify.out === Start of file server.cmd Testnum 25 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74009 === End of file server.response === Start of file valgrind25 ==75352== ==75352== Process terminating with default action of signal 4 (SIGILL) ==75352== Illegal opcode at address 0x4014B6F ==75352== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75352== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75352== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75352== by 0x4004266: main (tool_main.c:199) === End of file valgrind25 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:39569/we/want/that/page/5#5 -x 127.0.0.1:39569 > log/20/stdout5 2> log/20/stderr5 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:46217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:34449/1 > log/24/stdout1 2> log/24/stderr1 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_server.pid" --logfile "log/10/http_server.log" --logdir "log/10" --portfile log/10/server/http_server.port --config log/10/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74170 port 35893 * pid http => 74170 74170 test 0015...[--write-out test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:35893/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 15: stdout FAILED: --- log/10/check-expected 2025-09-11 14:53:13.932197077 +0000 +++ log/10/check-generated 2025-09-11 14:53:13.932197077 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -Repeated nonsense-headers[LF] -http://127.0.0.1:35893/want/15 200 26[LF] == Contents of files in the log/10/ dir after test 15 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Content-Length: 26[CR][LF] [CR][LF] Repeated nonsense-headers[LF] http://127.0.0.1:35893/want/15 200 26[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:35893/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 === End of file commands.log === Start of file http_server.log 14:52:52.814573 Running HTTP IPv4 version on port 35893 14:52:52.814635 Wrote pid 74170 to log/10/server/http_server.pid 14:52:52.814659 Wrote port 35893 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 15 === End of file server.cmd === Start of file valgrind15 ==74855== ==74855== Process terminating with default action of signal 4 (SIGILL) ==74855== Illegal opcode at address 0x4014B6F ==74855== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74855== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74855== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74855== by 0x4004266: main (tool_main.c:199) === End of file valgrind15 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_server.pid" --logfile "log/20/http_server.log" --logdir "log/20" --portfile log/20/server/http_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74012 port 39569 * pid http => 74012 74012 test 0005...[HTTP over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:39569/we/want/that/page/5#5 -x 127.0.0.1:39569 > log/20/stdout5 2> log/20/stderr5 5: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 5 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:39569/we/want/that/page/5#5 -x 127.0.0.1:39569 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 14:52:51.909757 Running HTTP IPv4 version on port 39569 14:52:51.909812 Wrote pid 74012 to log/20/server/http_server.pid 14:52:51.909834 Wrote port 39569 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 5 === End of file server.cmd === Start of file valgrind5 ==74230== ==74230== Process terminating with default action of signal 4 (SIGILL) ==74230== Illegal opcode at address 0x4014B6F ==74230== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74230== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74230== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74230== by 0x4004266: main (tool_main.c:199) === End of file valgrind5 test 0026...[specify more -o than URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:46217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 26: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 26 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:46217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 === End of file commands.log === Start of file http_server.log 14:53:13.803012 ====> Client connect 14:53:13.803033 accept_connection 3 returned 4 14:53:13.803045 accept_connection 3 returned 0 14:53:13.803055 Read 93 bytes 14:53:13.803063 Process 93 bytes request 14:53:13.803073 Got request: GET /verifiedserver HTTP/1.1 14:53:13.803080 Are-we-friendly question received 14:53:13.803096 Wrote request (93 bytes) input to log/23/server.input 14:53:13.803108 Identifying ourselves as friends 14:53:13.803146 Response sent (56 bytes) and written to log/23/server.response 14:53:13.803154 special request received, no persistency 14:53:13.803160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46217... * Established connection to 127.0.0.1 (127.0.0.1 port 46217) from 127.0.0.1 port 35038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46217 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74009 === End of file http_verify.out === Start of file server.cmd Testnum 26 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74009 === End of file server.response === Start of file valgrind26 ==75420== ==75420== Process terminating with default action of signal 4 (SIGILL) ==75420== Illegal opcode at address 0x4014B6F ==75420== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75420== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75420== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75420== by 0x4004266: main (tool_main.c:199) === End of file valgrind26 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_server.pid" --logfile "log/24/http_server.log" --logdir "log/24" --portfile log/24/server/http_server.port --config log/24/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74008 port 34449 * pid http => 74008 74008 test 0001...[HTTP GET] ../libtool --mode=execute /usr/bin/valgriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:35893/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:37085/that.site.com/17 log/8/stdout17 2> log/8/stderr17 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:42027/3 > log/22/stdout3 2> log/22/stderr3 nd --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:34449/1 > log/24/stdout1 2> log/24/stderr1 1: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:34449/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 14:52:51.506600 Running HTTP IPv4 version on port 34449 14:52:51.506661 Wrote pid 74008 to log/24/server/http_server.pid 14:52:51.506682 Wrote port 34449 to log/24/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1 === End of file server.cmd === Start of file valgrind1 ==74020== ==74020== Process terminating with default action of signal 4 (SIGILL) ==74020== Illegal opcode at address 0x4014B6F ==74020== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74020== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74020== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74020== by 0x4004266: main (tool_main.c:199) === End of file valgrind1 test 0027...[Get same cookie page several times] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:35893/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 27: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 27 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:35893/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 === End of file commands.log === Start of file http_server.log 14:53:14.032621 ====> Client connect 14:53:14.032642 accept_connection 3 returned 4 14:53:14.032654 accept_connection 3 returned 0 14:53:14.032664 Read 93 bytes 14:53:14.032676 Process 93 bytes request 14:53:14.032687 Got request: GET /verifiedserver HTTP/1.1 14:53:14.032694 Are-we-friendly question received 14:53:14.032711 Wrote request (93 bytes) input to log/10/server.input 14:53:14.032725 Identifying ourselves as friends 14:53:14.032764 Response sent (56 bytes) and written to log/10/server.response 14:53:14.032774 special request received, no persistency 14:53:14.032780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 45422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 27 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind27 ==75486== ==75486== Process terminating with default action of signal 4 (SIGILL) ==75486== Illegal opcode at address 0x4014B6F ==75486== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75486== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75486== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75486== by 0x4004266: main (tool_main.c:199) === End of file valgrind27 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_server.pid" --logfile "log/8/http_server.log" --logdir "log/8" --portfile log/8/server/http_server.port --config log/8/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74279 port 37085 * pid http => 74279 74279 test 0017...[HTTP with config file on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:37085/that.site.com/17 log/8/stdout17 2> log/8/stderr17 17: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 17 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:37085/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 14:52:52.015251 Running HTTP IPv4 version on port 37085 14:52:52.015313 Wrote pid 74279 to log/8/server/http_server.pid 14:52:52.015334 Wrote port 37085 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 17 === End of file server.cmd === Start of file stdin-for-17 # # Use a silly request without '--': request MOOO # # Set the user-agent using a short-option: -A "agent007 license to drill\t" # # long option *with* '--': --max-time 180 === End of file stdin-for-17 === Start of file valgrind17 ==74955== ==74955== Process terminating with default action of signal 4 (SIGILL) ==74955== Illegal opcode at address 0x4014B6F ==74955== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74955== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74955== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74955== by 0x4004266: main (tool_main.c:199) === End of file valgrind17 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_server.pid" --logfile "log/22/http_server.log" --logdir "log/22" --portfile log/22/server/http_server.port --config log/22/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74010 port 42027 * pid http => 74010 74010 test 0003...[HTTP POST with auth and contents but with content-length set to 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:42027/3 > log/22/stdout3 2> log/22/stderr3 3: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 3 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind28 ../src/curl -q --output log/20/curl28.out --include --trace-ascii log/20/trace28 --trace-time http://127.0.0.1:39569/want/28 -L > log/20/stdout28 2> log/20/stderr28 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind29 ../src/curl -q --output log/23/curl29.out --include --trace-ascii log/23/trace29 --trace-time http://127.0.0.1:46217/want/29 -m 2 > log/23/stdout29 2> log/23/stderr29 RUN: Process with pid 74009 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:44029/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 RUN: Process with pid 74009 gracefully died allers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:42027/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 14:52:51.707018 Running HTTP IPv4 version on port 42027 14:52:51.707075 Wrote pid 74010 to log/22/server/http_server.pid 14:52:51.707097 Wrote port 42027 to log/22/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 3 === End of file server.cmd === Start of file valgrind3 ==74120== ==74120== Process terminating with default action of signal 4 (SIGILL) ==74120== Illegal opcode at address 0x4014B6F ==74120== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74120== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74120== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74120== by 0x4004266: main (tool_main.c:199) === End of file valgrind3 test 0028...[HTTP Location: following with extra spaces in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind28 ../src/curl -q --output log/20/curl28.out --include --trace-ascii log/20/trace28 --trace-time http://127.0.0.1:39569/want/28 -L > log/20/stdout28 2> log/20/stderr28 28: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 28 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind28 ../src/curl -q --output log/20/curl28.out --include --trace-ascii log/20/trace28 --trace-time http://127.0.0.1:39569/want/28 -L > log/20/stdout28 2> log/20/stderr28 === End of file commands.log === Start of file http_server.log 14:53:14.262820 ====> Client connect 14:53:14.262843 accept_connection 3 returned 4 14:53:14.262855 accept_connection 3 returned 0 14:53:14.262865 Read 93 bytes 14:53:14.262875 Process 93 bytes request 14:53:14.262887 Got request: GET /verifiedserver HTTP/1.1 14:53:14.262895 Are-we-friendly question received 14:53:14.262913 Wrote request (93 bytes) input to log/20/server.input 14:53:14.262929 Identifying ourselves as friends 14:53:14.262971 Response sent (56 bytes) and written to log/20/server.response 14:53:14.262981 special request received, no persistency 14:53:14.262988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 54390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind28 ==75553== ==75553== Process terminating with default action of signal 4 (SIGILL) ==75553== Illegal opcode at address 0x4014B6F ==75553== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75553== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75553== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75553== by 0x4004266: main (tool_main.c:199) === End of file valgrind28 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_server.pid" --logfile "log/1/http_server.log" --logdir "log/1" --portfile log/1/server/http_server.port --config log/1/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74544 port 44029 * pid http => 74544 74544 test 0024...[HTTP GET fail silently on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:44029/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 24: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 24 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:44029/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 14:52:53.319120 Running HTTP IPv4 version on port 44029 14:52:53.319175 Wrote pid 74544 to log/1/server/http_server.pid 14:52:53.319198 Wrote port 44029 to log/1/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 24 === End of file server.cmd === Start of file valgrind24 ==75197== ==75197== Process terminating with default action of signal 4 (SIGILL) ==75197== Illegal opcode at address 0x4014B6F ==75197== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75197== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75197== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75197== by 0x4004266: main (tool_main.c:199) === End of file valgrind24 test 0029...[HTTP with 2 secs timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind29 ../src/curl -q --output log/23/curl29.out --include --trace-ascii log/23/trace29 --trace-time http://127.0.0.1:46217/want/29 -m 2 > log/23/stdout29 2> log/23/stderr29 29: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 29 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind29 ../src/curl -q --output log/23/curl29.out --include --trace-ascii log/23/trace29 --trace-time http://127.0.0.1:46217/want/29 -m 2 > log/23/stdout29 2> log/23/stderr29 === End of file commands.log === Start of file http_server.log 14:53:14.466814 ====> Client connect 14:53:14.466847 accept_connection 3 returned 4 14:53:14.466865 accept_connection 3 returned 0 14:53:14.466881 Read 93 bytes 14:53:14.466893 Process 93 bytes request 14:53:14.466907 Got request: GET /verifiedserver HTTP/1.1 14:53:14.466918 Are-we-friendly question received 14:53:14.466946 Wrote request (93 bytes) input to log/23/server.input 14:53:14.466964 Identifying ourselves as friends 14:53:14.467020 Response sent (56 bytes) and written to log/23/server.response 14:53:14.467032 special request received, no persistency 14:53:14.467043 ====> Client disconnect 0 exit_signal_handler: called 14:53:15.133191 signalled to die 14:53:15.133282 ========> IPv4 sws (port 46217 pid: 74009) exits with signal (15) 14:53:15.133296 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46217... * Established connection to 127.0.0.1 (127.0.0.1 port 46217) from 127.0.0.1 port 35042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:34449/want/30 > log/24/stdout30 2> log/24/stderr30 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind32 ../src/curl -q --output log/8/curl32.out --include --trace-ascii log/8/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/32 -G > log/8/stdout32 2> log/8/stderr32 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind33 ../src/curl -q --output log/22/curl33.out --include --trace-ascii log/22/trace33 --trace-time http://127.0.0.1:42027/33 -Tlog/22/test33.txt -C 50 > log/22/stdout33 2> log/22/stderr33 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind31 ../src/curl -q --output log/10/curl31.out --include --trace-ascii log/10/trace31 --trace-time http://test31.curl:35893/we/want/31 -b none -c log/10/jar31.txt --resolve test31.curl:35893:127.0.0.1 > log/10/stdout31 2> log/10/stderr31 46217 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74009 === End of file http_verify.out === Start of file server.cmd Testnum 29 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74009 === End of file server.response === Start of file valgrind29 ==75622== ==75622== Process terminating with default action of signal 4 (SIGILL) ==75622== Illegal opcode at address 0x4014B6F ==75622== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75622== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75622== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75622== by 0x4004266: main (tool_main.c:199) === End of file valgrind29 test 0030...[HTTP with no data in server reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:34449/want/30 > log/24/stdout30 2> log/24/stderr30 30: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 30 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:34449/want/30 > log/24/stdout30 2> log/24/stderr30 === End of file commands.log === Start of file http_server.log 14:53:14.653742 ====> Client connect 14:53:14.653764 accept_connection 3 returned 4 14:53:14.653777 accept_connection 3 returned 0 14:53:14.653788 Read 93 bytes 14:53:14.653798 Process 93 bytes request 14:53:14.653811 Got request: GET /verifiedserver HTTP/1.1 14:53:14.653818 Are-we-friendly question received 14:53:14.653836 Wrote request (93 bytes) input to log/24/server.input 14:53:14.653851 Identifying ourselves as friends 14:53:14.653901 Response sent (56 bytes) and written to log/24/server.response 14:53:14.653911 special request received, no persistency 14:53:14.653918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 51968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 30 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind30 ==75705== ==75705== Process terminating with default action of signal 4 (SIGILL) ==75705== Illegal opcode at address 0x4014B6F ==75705== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75705== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75705== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75705== by 0x4004266: main (tool_main.c:199) === End of file valgrind30 test 0032...[HTTP with -d and -G] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind32 ../src/curl -q --output log/8/curl32.out --include --trace-ascii log/8/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/32 -G > log/8/stdout32 2> log/8/stderr32 32: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 32 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind32 ../src/curl -q --output log/8/curl32.out --include --trace-ascii log/8/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/32 -G > log/8/stdout32 2> log/8/stderr32 === End of file commands.log === Start of file http_server.log 14:53:13.675146 ====> Client connect 14:53:13.675170 accept_connection 3 returned 4 14:53:13.675182 accept_connection 3 returned 0 14:53:13.675192 Read 93 bytes 14:53:13.675203 Process 93 bytes request 14:53:13.675216 Got request: GET /verifiedserver HTTP/1.1 14:53:13.675223 Are-we-friendly question received 14:53:13.675241 Wrote request (93 bytes) input to log/8/server.input 14:53:13.675256 Identifying ourselves as friends 14:53:13.675297 Response sent (56 bytes) and written to log/8/server.response 14:53:13.675307 special request received, no persistency 14:53:13.675314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 45350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 32 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind32 ==75799== ==75799== Process terminating with default action of signal 4 (SIGILL) ==75799== Illegal opcode at address 0x4014B6F ==75799== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75799== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75799== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75799== by 0x4004266: main (tool_main.c:199) === End of file valgrind32 test 0033...[HTTP PUT with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind33 ../src/curl -q --output log/22/curl33.out --include --trace-ascii log/22/trace33 --trace-time http://127.0.0.1:42027/33 -Tlog/22/test33.txt -C 50 > log/22/stdout33 2> log/22/stderr33 33: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 33 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind33 ../src/curl -q --output log/22/curl33.out --include --trace-ascii log/22/trace33 --trace-time http://127.0.0.1:42027/33 -Tlog/22/test33.txt -C 50 > log/22/stdout33 2> log/22/stderr33 === End of file commands.log === Start of file http_server.log 14:53:14.683665 ====> Client connect 14:53:14.683695 accept_connection 3 returned 4 14:53:14.683713 accept_connection 3 returned 0 14:53:14.683728 Read 93 bytes 14:53:14.683742 Process 93 bytes request 14:53:14.683758 Got request: GET /verifiedserver HTTP/1.1 14:53:14.683768 Are-we-friendly question received 14:53:14.683791 Wrote request (93 bytes) input to log/22/server.input 14:53:14.683812 Identifying ourselves as friends 14:53:14.683877 Response sent (56 bytes) and written CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:45171/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 to log/22/server.response 14:53:14.683891 special request received, no persistency 14:53:14.683901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 44456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==75835== ==75835== Process terminating with default action of signal 4 (SIGILL) ==75835== Illegal opcode at address 0x4014B6F ==75835== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75835== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75835== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75835== by 0x4004266: main (tool_main.c:199) === End of file valgrind33 setenv TZ = GMT test 0031...[HTTP with weirdly formatted cookies and cookiejar storage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind31 ../src/curl -q --output log/10/curl31.out --include --trace-ascii log/10/trace31 --trace-time http://test31.curl:35893/we/want/31 -b none -c log/10/jar31.txt --resolve test31.curl:35893:127.0.0.1 > log/10/stdout31 2> log/10/stderr31 31: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 31 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind31 ../src/curl -q --output log/10/curl31.out --include --trace-ascii log/10/trace31 --trace-time http://test31.curl:35893/we/want/31 -b none -c log/10/jar31.txt --resolve test31.curl:35893:127.0.0.1 > log/10/stdout31 2> log/10/stderr31 === End of file commands.log === Start of file http_server.log 14:53:14.655803 ====> Client connect 14:53:14.655827 accept_connection 3 returned 4 14:53:14.655839 accept_connection 3 returned 0 14:53:14.655850 Read 93 bytes 14:53:14.655857 Process 93 bytes request 14:53:14.655867 Got request: GET /verifiedserver HTTP/1.1 14:53:14.655874 Are-we-friendly question received 14:53:14.655891 Wrote request (93 bytes) input to log/10/server.input 14:53:14.655902 Identifying ourselves as friends 14:53:14.655937 Response sent (56 bytes) and written to log/10/server.response 14:53:14.655945 special request received, no persistency 14:53:14.655951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 45432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 31 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind31 ==75726== ==75726== Process terminating with default action of signal 4 (SIGILL) ==75726== Illegal opcode at address 0x4014B6F ==75726== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75726== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75726== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75726== by 0x4004266: main (tool_main.c:199) === End of file valgrind31 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_server.pid" --logfile "log/17/http_server.log" --logdir "log/17" --portfile log/17/server/http_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74015 port 45171 * pid http => 74015 74015 prechecked /usr/bin/perl -e 'if("127.0.0.1" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' test 0008...[HTTP with cookie parsing from header file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:45171/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 8: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 8 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:45171/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 === End of file commands.log === Start of file heads8.txt HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes Set-Cookie: foobar=name; domain=127.0.0.1; path=/; Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; Set-Cookie: partmatch=present; domain=.0.0.1; path=/w; Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey; Set-Cookie: cookie=yes; path=/we; Set-Cookie: cookie=perhaps; path=/we/want; Set-Cookie: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad; Set-Cookie: partialip=nono; domain=.0.0.1; Set-Cookie: cookie1=-junk Set-Cookie: cookie2=-junk Set-Cookie: cookie3=-junk Set-Cookie: cookie4=-junk Set-Cookie: cookie5=-junk Set-Cookie: cookie6=-junk Set-Cookie: cookie7=-junk Set-Cookie: cookie8=-junk Set-Cookie: cookie9=junk-- Set-Cookie: cookie11= -junk Set-Cookie: cookie12= -junk Set-Cookie: cookie14=-junk Set-Cookie: cookie15=-junk Set-Cookie: cookie16=-junk Set-Cookie: cookie17=-junk Set-Cookie: cookie18=-junk Set-Cookie: cookie19=-junk Set-Cookie: cookie20=-junk Set-Cookie: cookie21=-junk Set-Cookie: cookie22=-junk Set-Cookie: cookie23=-junk Set-Cookie: cookie24=-junk Set-Cookie: cookie25=-junk Set-Cookie: cookie26= -junk Set-Cookie: cookie27=-junk Set-Cookie: cookie28=-junk Set-Cookie: cookie29=-junk Set-Cookie: cookie30=-junk Set-Cookie: cookie31=-junk Set-Cookie: cookie31=-junk === End of file heads8.txt === Start of file http_server.log 14:52:52.211568 Running HTTP IPv4 version on port 45171 14:52:52.211621 Wrote pid 74015 to log/17/server/http_server.pid 14:52:52.211642 Wrote port 45171 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 8 === End of file server.cmd === Start of file valgrind8 ==74492== ==74492== Process terminating with default action of signal 4 (SIGILL) ==74492== Illegal opcode at addCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind34 ../src/curl -q --output log/20/curl34.out --include --trace-ascii log/20/trace34 --trace-time http://127.0.0.1:39569/34 > log/20/stdout34 2> log/20/stderr34 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind35 ../src/curl -q --output log/1/curl35.out --include --trace-ascii log/1/trace35 --trace-time http://127.0.0.1:44029/we/want/35 --data-binary @log/1/test35.txt > log/1/stdout35 2> log/1/stderr35 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:34475/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 ress 0x4014B6F ==74492== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74492== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74492== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74492== by 0x4004266: main (tool_main.c:199) === End of file valgrind8 test 0034...[HTTP GET with chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind34 ../src/curl -q --output log/20/curl34.out --include --trace-ascii log/20/trace34 --trace-time http://127.0.0.1:39569/34 > log/20/stdout34 2> log/20/stderr34 34: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 34 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind34 ../src/curl -q --output log/20/curl34.out --include --trace-ascii log/20/trace34 --trace-time http://127.0.0.1:39569/34 > log/20/stdout34 2> log/20/stderr34 === End of file commands.log === Start of file http_server.log 14:53:14.946166 ====> Client connect 14:53:14.946189 accept_connection 3 returned 4 14:53:14.946202 accept_connection 3 returned 0 14:53:14.946213 Read 93 bytes 14:53:14.946221 Process 93 bytes request 14:53:14.946232 Got request: GET /verifiedserver HTTP/1.1 14:53:14.946239 Are-we-friendly question received 14:53:14.946256 Wrote request (93 bytes) input to log/20/server.input 14:53:14.946270 Identifying ourselves as friends 14:53:14.946308 Response sent (56 bytes) and written to log/20/server.response 14:53:14.946316 special request received, no persistency 14:53:14.946323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 54396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind34 ==75951== ==75951== Process terminating with default action of signal 4 (SIGILL) ==75951== Illegal opcode at address 0x4014B6F ==75951== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75951== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75951== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75951== by 0x4004266: main (tool_main.c:199) === End of file valgrind34 test 0035...[HTTP POST binary data with embedded NUL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind35 ../src/curl -q --output log/1/curl35.out --include --trace-ascii log/1/trace35 --trace-time http://127.0.0.1:44029/we/want/35 --data-binary @log/1/test35.txt > log/1/stdout35 2> log/1/stderr35 35: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 35 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind35 ../src/curl -q --output log/1/curl35.out --include --trace-ascii log/1/trace35 --trace-time http://127.0.0.1:44029/we/want/35 --data-binary @log/1/test35.txt > log/1/stdout35 2> log/1/stderr35 === End of file commands.log === Start of file http_server.log 14:53:15.149723 ====> Client connect 14:53:15.149748 accept_connection 3 returned 4 14:53:15.149761 accept_connection 3 returned 0 14:53:15.149771 Read 93 bytes 14:53:15.149782 Process 93 bytes request 14:53:15.149795 Got request: GET /verifiedserver HTTP/1.1 14:53:15.149804 Are-we-friendly question received 14:53:15.149829 Wrote request (93 bytes) input to log/1/server.input 14:53:15.149847 Identifying ourselves as friends 14:53:15.149910 Response sent (56 bytes) and written to log/1/server.response 14:53:15.149922 special request received, no persistency 14:53:15.149931 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 60398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 ==76026== ==76026== Process terminating with default action of signal 4 (SIGILL) ==76026== Illegal opcode at address 0x4014B6F ==76026== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76026== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76026== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76026== by 0x4004266: main (tool_main.c:199) === End of file valgrind35 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_server.pid" --logfile "log/16/http_server.log" --logdir "log/16" --portfile log/16/server/http_server.port --config log/16/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74016 port 34475 * pid http => 74016 74016 test 0009...[HTTP RFC1867-type formposting] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:34475/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 9: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 9 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:34475/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 === End of file commands.log === Start of file http_server.log 14:52:52.311559 Running HTTP IPv4 version on port 34475 14:52:52.311666 Wrote pid 74016 to log/16/server/http_server.pid 14:52:52.311699 Wrote port 34475 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 9 === End of file server.cmd === Start of file test9.txt foo- This is a moo- bar === End of file test9.txt === Start of file valgrind9 ==74546== ==74546== Process terminating with default action of signal 4 (SIGILL) ==74546== Illegal opcode at address 0x4014CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:43359/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:34037/4 http://127.0.0.1:34037/4 > log/21/stdout4 2> log/21/stderr4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind37 ../src/curl -q --output log/24/curl37.out --include --trace-ascii log/24/trace37 --trace-time http://127.0.0.1:34449/37 > log/24/stdout37 2> log/24/stderr37 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind38 ../src/curl -q --include --trace-ascii log/8/trace38 --trace-time http://127.0.0.1:37085/want/38 -C - --no-include -o log/8/fewl38.txt > log/8/stdout38 2> log/8/stderr38 B6F ==74546== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74546== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74546== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74546== by 0x4004266: main (tool_main.c:199) === End of file valgrind9 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/12/server/http_server.pid" --logfile "log/12/http_server.log" --logdir "log/12" --portfile log/12/server/http_server.port --config log/12/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74117 port 43359 * pid http => 74117 74117 test 0013...[HTTP custom request 'DELETE'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:43359/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 13: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 13 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:43359/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 14:52:52.713186 Running HTTP IPv4 version on port 43359 14:52:52.713264 Wrote pid 74117 to log/12/server/http_server.pid 14:52:52.713288 Wrote port 43359 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 13 === End of file server.cmd === Start of file valgrind13 ==74755== ==74755== Process terminating with default action of signal 4 (SIGILL) ==74755== Illegal opcode at address 0x4014B6F ==74755== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74755== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74755== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74755== by 0x4004266: main (tool_main.c:199) === End of file valgrind13 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_server.pid" --logfile "log/21/http_server.log" --logdir "log/21" --portfile log/21/server/http_server.port --config log/21/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74011 port 34037 * pid http => 74011 74011 test 0004...[Replaced internal and added custom HTTP headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:34037/4 http://127.0.0.1:34037/4 > log/21/stdout4 2> log/21/stderr4 4: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 4 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:34037/4 http://127.0.0.1:34037/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 14:52:51.808298 Running HTTP IPv4 version on port 34037 14:52:51.808391 Wrote pid 74011 to log/21/server/http_server.pid 14:52:51.808413 Wrote port 34037 to log/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 4 === End of file server.cmd === Start of file valgrind4 ==74171== ==74171== Process terminating with default action of signal 4 (SIGILL) ==74171== Illegal opcode at address 0x4014B6F ==74171== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74171== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74171== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74171== by 0x4004266: main (tool_main.c:199) === End of file valgrind4 test 0037...[HTTP GET with nothing returned from server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind37 ../src/curl -q --output log/24/curl37.out --include --trace-ascii log/24/trace37 --trace-time http://127.0.0.1:34449/37 > log/24/stdout37 2> log/24/stderr37 37: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 37 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind37 ../src/curl -q --output log/24/curl37.out --include --trace-ascii log/24/trace37 --trace-time http://127.0.0.1:34449/37 > log/24/stdout37 2> log/24/stderr37 === End of file commands.log === Start of file http_server.log 14:53:15.342404 ====> Client connect 14:53:15.342428 accept_connection 3 returned 4 14:53:15.342441 accept_connection 3 returned 0 14:53:15.342452 Read 93 bytes 14:53:15.342460 Process 93 bytes request 14:53:15.342472 Got request: GET /verifiedserver HTTP/1.1 14:53:15.342479 Are-we-friendly question received 14:53:15.342497 Wrote request (93 bytes) input to log/24/server.input 14:53:15.342510 Identifying ourselves as friends 14:53:15.342549 Response sent (56 bytes) and written to log/24/server.response 14:53:15.342557 special request received, no persistency 14:53:15.342564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 37 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind37 ==76138== ==76138== Process terminating with default action of signal 4 (SIGILL) ==76138== Illegal opcode at address 0x4014B6F ==76138== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76138== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76138== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76138== by 0x4004266: main (tool_main.c:199) === End of file valgrind37 test 0038...[HTTP resume request without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind38 ../src/curl -q --include --trace-ascii log/8/trace38 --trace-time http://127.0.0.1:37085/want/38 -C - --no-inclCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind39 ../src/curl -q --output log/22/curl39.out --include --trace-ascii log/22/trace39 --trace-time http://127.0.0.1:42027/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/22/stdout39 2> log/22/stderr39 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind40 ../src/curl -q --output log/10/curl40.out --include --trace-ascii log/10/trace40 --trace-time http://127.0.0.1:35893/we/are/all/twits/40 -L > log/10/stdout40 2> log/10/stderr40 ude -o log/8/fewl38.txt > log/8/stdout38 2> log/8/stderr38 38: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 38 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind38 ../src/curl -q --include --trace-ascii log/8/trace38 --trace-time http://127.0.0.1:37085/want/38 -C - --no-include -o log/8/fewl38.txt > log/8/stdout38 2> log/8/stderr38 === End of file commands.log === Start of file fewl38.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl38.txt === Start of file http_server.log 14:53:14.346655 ====> Client connect 14:53:14.346680 accept_connection 3 returned 4 14:53:14.346693 accept_connection 3 returned 0 14:53:14.346703 Read 93 bytes 14:53:14.346711 Process 93 bytes request 14:53:14.346721 Got request: GET /verifiedserver HTTP/1.1 14:53:14.346728 Are-we-friendly question received 14:53:14.346747 Wrote request (93 bytes) input to log/8/server.input 14:53:14.346759 Identifying ourselves as friends 14:53:14.346796 Response sent (56 bytes) and written to log/8/server.response 14:53:14.346803 special request received, no persistency 14:53:14.346810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind38 ==76151== ==76151== Process terminating with default action of signal 4 (SIGILL) ==76151== Illegal opcode at address 0x4014B6F ==76151== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76151== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76151== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76151== by 0x4004266: main (tool_main.c:199) === End of file valgrind38 test 0039...[HTTP RFC1867-type formposting with filename= and type=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind39 ../src/curl -q --output log/22/curl39.out --include --trace-ascii log/22/trace39 --trace-time http://127.0.0.1:42027/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/22/stdout39 2> log/22/stderr39 39: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 39 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind39 ../src/curl -q --output log/22/curl39.out --include --trace-ascii log/22/trace39 --trace-time http://127.0.0.1:42027/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/22/stdout39 2> log/22/stderr39 === End of file commands.log === Start of file http_server.log 14:53:15.346966 ====> Client connect 14:53:15.347000 accept_connection 3 returned 4 14:53:15.347018 accept_connection 3 returned 0 14:53:15.347033 Read 93 bytes 14:53:15.347044 Process 93 bytes request 14:53:15.347057 Got request: GET /verifiedserver HTTP/1.1 14:53:15.347068 Are-we-friendly question received 14:53:15.347091 Wrote request (93 bytes) input to log/22/server.input 14:53:15.347108 Identifying ourselves as friends 14:53:15.347171 Response sent (56 bytes) and written to log/22/server.response 14:53:15.347185 special request received, no persistency 14:53:15.347197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 ==76162== ==76162== Process terminating with default action of signal 4 (SIGILL) ==76162== Illegal opcode at address 0x4014B6F ==76162== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76162== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76162== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76162== by 0x4004266: main (tool_main.c:199) === End of file valgrind39 test 0040...[HTTP redirect with whitespace after ? (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind40 ../src/curl -q --output log/10/curl40.out --include --trace-ascii log/10/trace40 --trace-time http://127.0.0.1:35893/we/are/all/twits/40 -L > log/10/stdout40 2> log/10/stderr40 40: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 40 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind40 ../src/curl -q --output log/10/curl40.out --include --trace-ascii log/10/trace40 --trace-time http://127.0.0.1:35893/we/are/all/twits/40 -L > log/10/stdout40 2> log/10/stderr40 === End of file commands.log === Start of file http_server.log 14:53:15.348370 ====> Client connect 14:53:15.348393 accept_connection 3 returned 4 14:53:15.348405 accept_connection 3 returned 0 14:53:15.348416 Read 93 bytes 14:53:15.348424 Process 93 bytes request 14:53:15.348432 Got request: GET /verifiedserver HTTP/1.1 14:53:15.348440 Are-we-friendly question received 14:53:15.348457 Wrote request (93 bytes) input to log/10/server.input 14:53:15.348469 Identifying ourselves as friends 14:53:15.348505 Response sent (56 bytes) and written to log/10/server.response 14:53:15.348513 special request received, no persistency 14:53:15.348520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind42 ../src/curl -q --output log/20/curl42.out --include --trace-ascii log/20/trace42 --trace-time http://127.0.0.1:39569/we/are/all/twits/42 -L > log/20/stdout42 2> log/20/stderr42 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:45171/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:37587/none.htfml > log/2/stdout23 2> log/2/stderr23 t 33004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 40 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind40 ==76158== ==76158== Process terminating with default action of signal 4 (SIGILL) ==76158== Illegal opcode at address 0x4014B6F ==76158== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76158== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76158== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76158== by 0x4004266: main (tool_main.c:199) === End of file valgrind40 test 0042...[HTTP redirect with whitespace in path (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind42 ../src/curl -q --output log/20/curl42.out --include --trace-ascii log/20/trace42 --trace-time http://127.0.0.1:39569/we/are/all/twits/42 -L > log/20/stdout42 2> log/20/stderr42 42: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 42 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind42 ../src/curl -q --output log/20/curl42.out --include --trace-ascii log/20/trace42 --trace-time http://127.0.0.1:39569/we/are/all/twits/42 -L > log/20/stdout42 2> log/20/stderr42 === End of file commands.log === Start of file http_server.log 14:53:15.578028 ====> Client connect 14:53:15.578051 accept_connection 3 returned 4 14:53:15.578065 accept_connection 3 returned 0 14:53:15.578084 Read 93 bytes 14:53:15.578098 Process 93 bytes request 14:53:15.578109 Got request: GET /verifiedserver HTTP/1.1 14:53:15.578117 Are-we-friendly question received 14:53:15.578144 Wrote request (93 bytes) input to log/20/server.input 14:53:15.578158 Identifying ourselves as friends 14:53:15.578199 Response sent (56 bytes) and written to log/20/server.response 14:53:15.578207 special request received, no persistency 14:53:15.578214 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind42 ==76423== ==76423== Process terminating with default action of signal 4 (SIGILL) ==76423== Illegal opcode at address 0x4014B6F ==76423== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76423== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76423== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76423== by 0x4004266: main (tool_main.c:199) === End of file valgrind42 test 0041...[HTTP formpost with missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:45171/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/17/ dir after test 41 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:45171/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 === End of file commands.log === Start of file http_server.log 14:53:15.528107 ====> Client connect 14:53:15.528138 accept_connection 3 returned 4 14:53:15.528151 accept_connection 3 returned 0 14:53:15.528162 Read 93 bytes 14:53:15.528176 Process 93 bytes request 14:53:15.528189 Got request: GET /verifiedserver HTTP/1.1 14:53:15.528197 Are-we-friendly question received 14:53:15.528217 Wrote request (93 bytes) input to log/17/server.input 14:53:15.528233 Identifying ourselves as friends 14:53:15.528279 Response sent (56 bytes) and written to log/17/server.response 14:53:15.528289 special request received, no persistency 14:53:15.528296 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 41 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind41 ==76359== ==76359== Process terminating with default action of signal 4 (SIGILL) ==76359== Illegal opcode at address 0x4014B6F ==76359== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76359== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76359== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76359== by 0x4004266: main (tool_main.c:199) === End of file valgrind41 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_server.pid" --logfile "log/2/http_server.log" --logdir "log/2" --portfile log/2/server/http_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74490 port 37587 * pid http => 74490 74490 test 0023...[unsupported protocol:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:37587/none.htfml > log/2/stdout23 2> log/2/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents of files in the log/2/ dir after test 23 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:37587/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 14:52:53.224524 Running HTTP IPv4 version on port 37587 14:52:53.224583 Wrote pid 74490 to log/2/server/http_server.pid 14:52:53.224605 Wrote port 37587 to loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind44 ../src/curl -q --output log/16/curl44.out --include --trace-ascii log/16/trace44 --trace-time http://127.0.0.1:34475/we/want/44 -F name=daniel -F tool=curl -F file=@log/16/test44.txt -H "Expect:" > log/16/stdout44 2> log/16/stderr44 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind43 ../src/curl -q --output log/1/curl43.out --include --trace-ascii log/1/trace43 --trace-time http://127.0.0.1:44029/want/43 -L -x 127.0.0.1:44029 > log/1/stdout43 2> log/1/stderr43 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind45 ../src/curl -q --output log/12/curl45.out --include --trace-ascii log/12/trace45 --trace-time 127.0.0.1:43359/want/45 -L > log/12/stdout45 2> log/12/stderr45 g/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 23 === End of file server.cmd === Start of file valgrind23 ==75102== ==75102== Process terminating with default action of signal 4 (SIGILL) ==75102== Illegal opcode at address 0x4014B6F ==75102== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75102== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75102== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75102== by 0x4004266: main (tool_main.c:199) === End of file valgrind23 test 0044...[HTTP RFC1867-type formposting without Expect: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind44 ../src/curl -q --output log/16/curl44.out --include --trace-ascii log/16/trace44 --trace-time http://127.0.0.1:34475/we/want/44 -F name=daniel -F tool=curl -F file=@log/16/test44.txt -H "Expect:" > log/16/stdout44 2> log/16/stderr44 44: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 44 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind44 ../src/curl -q --output log/16/curl44.out --include --trace-ascii log/16/trace44 --trace-time http://127.0.0.1:34475/we/want/44 -F name=daniel -F tool=curl -F file=@log/16/test44.txt -H "Expect:" > log/16/stdout44 2> log/16/stderr44 === End of file commands.log === Start of file http_server.log 14:53:15.827235 ====> Client connect 14:53:15.827258 accept_connection 3 returned 4 14:53:15.827272 accept_connection 3 returned 0 14:53:15.827283 Read 93 bytes 14:53:15.827295 Process 93 bytes request 14:53:15.827307 Got request: GET /verifiedserver HTTP/1.1 14:53:15.827316 Are-we-friendly question received 14:53:15.827334 Wrote request (93 bytes) input to log/16/server.input 14:53:15.827350 Identifying ourselves as friends 14:53:15.827395 Response sent (56 bytes) and written to log/16/server.response 14:53:15.827406 special request received, no persistency 14:53:15.827413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 44 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file test44.txt foo- This is a moo- bar === End of file test44.txt === Start of file valgrind44 ==76525== ==76525== Process terminating with default action of signal 4 (SIGILL) ==76525== Illegal opcode at address 0x4014B6F ==76525== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76525== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76525== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76525== by 0x4004266: main (tool_main.c:199) === End of file valgrind44 test 0043...[HTTP Location: following over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind43 ../src/curl -q --output log/1/curl43.out --include --trace-ascii log/1/trace43 --trace-time http://127.0.0.1:44029/want/43 -L -x 127.0.0.1:44029 > log/1/stdout43 2> log/1/stderr43 43: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 43 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind43 ../src/curl -q --output log/1/curl43.out --include --trace-ascii log/1/trace43 --trace-time http://127.0.0.1:44029/want/43 -L -x 127.0.0.1:44029 > log/1/stdout43 2> log/1/stderr43 === End of file commands.log === Start of file http_server.log 14:53:15.823356 ====> Client connect 14:53:15.823387 accept_connection 3 returned 4 14:53:15.823401 accept_connection 3 returned 0 14:53:15.823413 Read 93 bytes 14:53:15.823421 Process 93 bytes request 14:53:15.823433 Got request: GET /verifiedserver HTTP/1.1 14:53:15.823441 Are-we-friendly question received 14:53:15.823462 Wrote request (93 bytes) input to log/1/server.input 14:53:15.823474 Identifying ourselves as friends 14:53:15.823515 Response sent (56 bytes) and written to log/1/server.response 14:53:15.823524 special request received, no persistency 14:53:15.823531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 43 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind43 ==76516== ==76516== Process terminating with default action of signal 4 (SIGILL) ==76516== Illegal opcode at address 0x4014B6F ==76516== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76516== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76516== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76516== by 0x4004266: main (tool_main.c:199) === End of file valgrind43 test 0045...[simple HTTP Location: without protocol in initial URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind45 ../src/curl -q --output log/12/curl45.out --include --trace-ascii log/12/trace45 --trace-time 127.0.0.1:43359/want/45 -L > log/12/stdout45 2> log/12/stderr45 45: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 45 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind45 ../src/curl -q --output log/12/curl45.out --include --trace-ascii log/12/trace45 --trace-time 127.0.0.1:43359/want/45 -L > log/12/stdout45 2> log/12/stderr45 === End of file commands.log === Start of file http_server.log 14:53:15.854058 ====> Client connect 14:53:15.854083 accept_connection 3 returned 4 14:53:15.854095 accept_connection 3 returned 0 14:53:15.854107 Read 93 bytes 14:53:15.854117 Process 93 bytes request 14:53:15.854131 Got request: GET /verifiedserver HTTP/1.1 14:53:15.854138 Are-we-friendly question received 14:53:15.854157 Wrote request (93 bytes) input to log/12/server.input 14:53:15.854173 Identifying ourselves as friends 14:53:15.854222 Response sent (56 bytes) and written to log/12/server.response 14:53:15.854232 special request received, no persistency 14:53:15.854239 ====> Client disconnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:42107/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind47 ../src/curl -q --output log/24/curl47.out --include --trace-ascii log/24/trace47 --trace-time http://127.0.0.1:34449/47 -0 > log/24/stdout47 2> log/24/stderr47 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind50 ../src/curl -q --output log/10/curl50.out --include --trace-ascii log/10/trace50 --trace-time http://127.0.0.1:35893/we/are/all/twits/50 -L > log/10/stdout50 2> log/10/stderr50 ect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 45 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind45 ==76622== ==76622== Process terminating with default action of signal 4 (SIGILL) ==76622== Illegal opcode at address 0x4014B6F ==76622== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76622== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76622== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76622== by 0x4004266: main (tool_main.c:199) === End of file valgrind45 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_server.pid" --logfile "log/15/http_server.log" --logdir "log/15" --portfile log/15/server/http_server.port --config log/15/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74017 port 42107 * pid http => 74017 74017 test 0010...[simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:42107/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 10: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 10 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:42107/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 === End of file commands.log === Start of file http_server.log 14:52:52.413144 Running HTTP IPv4 version on port 42107 14:52:52.413199 Wrote pid 74017 to log/15/server/http_server.pid 14:52:52.413233 Wrote port 42107 to log/15/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 10 === End of file server.cmd === Start of file test10.txt Weird file to upload for testing the PUT feature === End of file test10.txt === Start of file valgrind10 ==74601== ==74601== Process terminating with default action of signal 4 (SIGILL) ==74601== Illegal opcode at address 0x4014B6F ==74601== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74601== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74601== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74601== by 0x4004266: main (tool_main.c:199) === End of file valgrind10 test 0047...[simple HTTP 1.0 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind47 ../src/curl -q --output log/24/curl47.out --include --trace-ascii log/24/trace47 --trace-time http://127.0.0.1:34449/47 -0 > log/24/stdout47 2> log/24/stderr47 47: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 47 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind47 ../src/curl -q --output log/24/curl47.out --include --trace-ascii log/24/trace47 --trace-time http://127.0.0.1:34449/47 -0 > log/24/stdout47 2> log/24/stderr47 === End of file commands.log === Start of file http_server.log 14:53:16.019474 ====> Client connect 14:53:16.019509 accept_connection 3 returned 4 14:53:16.019523 accept_connection 3 returned 0 14:53:16.019534 Read 93 bytes 14:53:16.019542 Process 93 bytes request 14:53:16.019552 Got request: GET /verifiedserver HTTP/1.1 14:53:16.019559 Are-we-friendly question received 14:53:16.019578 Wrote request (93 bytes) input to log/24/server.input 14:53:16.019591 Identifying ourselves as friends 14:53:16.019634 Response sent (56 bytes) and written to log/24/server.response 14:53:16.019642 special request received, no persistency 14:53:16.019649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54312 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 47 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind47 ==76760== ==76760== Process terminating with default action of signal 4 (SIGILL) ==76760== Illegal opcode at address 0x4014B6F ==76760== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76760== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76760== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76760== by 0x4004266: main (tool_main.c:199) === End of file valgrind47 test 0050...[HTTP follow redirect with ../../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind50 ../src/curl -q --output log/10/curl50.out --include --trace-ascii log/10/trace50 --trace-time http://127.0.0.1:35893/we/are/all/twits/50 -L > log/10/stdout50 2> log/10/stderr50 50: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 50 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind50 ../src/curl -q --output log/10/curl50.out --include --trace-ascii log/10/trace50 --trace-time http://127.0.0.1:35893/we/are/all/twits/50 -L > log/10/stdout50 2> log/10/stderr50 === End of file commands.log === Start of file http_server.log 14:53:16.024580 ====> Client connect 14:53:16.024603 accept_connection 3 returned 4 14:53:16.024615 accept_connection 3 returned 0 14:53:16.024626 Read 93 bytes 14:53:16.024634 Process 93 bytes request 14:53:16.024644 Got request: GET /verifiedserver HTTP/1.1 14:53:16.024651 Are-we-friendly question received 14:53:16.024668 Wrote request (93 bytes) input to log/10/server.input 14:53:16.024680 Identifying ourselves as friends 14:53:16.024718 Response sent (56 bytes) and written to log/10/server.response 14:53:16.024726 special request received, no persistency 14:53:16.024733 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:34037/want/46 --resolve domain..tld:34037:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind49 ../src/curl -q --output log/22/curl49.out --include --trace-ascii log/22/trace49 --trace-time http://127.0.0.1:42027/we/are/all/twits/49 -L > log/22/stdout49 2> log/22/stderr49 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind48 ../src/curl -q --output log/8/curl48.out --include --trace-ascii log/8/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/48 -G -I http://127.0.0.1:37085/48 > log/8/stdout48 2> log/8/stderr48 port 35893) from 127.0.0.1 port 33008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 50 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind50 ==76800== ==76800== Process terminating with default action of signal 4 (SIGILL) ==76800== Illegal opcode at address 0x4014B6F ==76800== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76800== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76800== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76800== by 0x4004266: main (tool_main.c:199) === End of file valgrind50 setenv TZ = GMT test 0046...[HTTP with bad domain name, get cookies and store in cookie jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:34037/want/46 --resolve domain..tld:34037:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 46: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 46 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:34037/want/46 --resolve domain..tld:34037:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 === End of file commands.log === Start of file http_server.log 14:53:16.018803 ====> Client connect 14:53:16.018827 accept_connection 3 returned 4 14:53:16.018840 accept_connection 3 returned 0 14:53:16.018852 Read 93 bytes 14:53:16.018863 Process 93 bytes request 14:53:16.018877 Got request: GET /verifiedserver HTTP/1.1 14:53:16.018884 Are-we-friendly question received 14:53:16.018902 Wrote request (93 bytes) input to log/21/server.input 14:53:16.018918 Identifying ourselves as friends 14:53:16.018963 Response sent (56 bytes) and written to log/21/server.response 14:53:16.018974 special request received, no persistency 14:53:16.018982 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 45846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file injar46 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This is generated by libcurl! Do not edit. www.fake.come FALSE / FALSE 22147483647 cookiecliente si www.loser.com FALSE / FALSE 22139150993 UID 99 domain..tld FALSE / FALSE 22139150993 mooo indeed #HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2 domain..tld FALSE /want FALSE 0 empty === End of file injar46 === Start of file server.cmd Testnum 46 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind46 ==76768== ==76768== Process terminating with default action of signal 4 (SIGILL) ==76768== Illegal opcode at address 0x4014B6F ==76768== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76768== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76768== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76768== by 0x4004266: main (tool_main.c:199) === End of file valgrind46 test 0049...[HTTP follow redirect with ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind49 ../src/curl -q --output log/22/curl49.out --include --trace-ascii log/22/trace49 --trace-time http://127.0.0.1:42027/we/are/all/twits/49 -L > log/22/stdout49 2> log/22/stderr49 49: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 49 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind49 ../src/curl -q --output log/22/curl49.out --include --trace-ascii log/22/trace49 --trace-time http://127.0.0.1:42027/we/are/all/twits/49 -L > log/22/stdout49 2> log/22/stderr49 === End of file commands.log === Start of file http_server.log 14:53:16.022722 ====> Client connect 14:53:16.022745 accept_connection 3 returned 4 14:53:16.022757 accept_connection 3 returned 0 14:53:16.022768 Read 93 bytes 14:53:16.022777 Process 93 bytes request 14:53:16.022786 Got request: GET /verifiedserver HTTP/1.1 14:53:16.022794 Are-we-friendly question received 14:53:16.022811 Wrote request (93 bytes) input to log/22/server.input 14:53:16.022824 Identifying ourselves as friends 14:53:16.022872 Response sent (56 bytes) and written to log/22/server.response 14:53:16.022880 special request received, no persistency 14:53:16.022888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 49 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind49 ==76785== ==76785== Process terminating with default action of signal 4 (SIGILL) ==76785== Illegal opcode at address 0x4014B6F ==76785== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76785== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76785== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76785== by 0x4004266: main (tool_main.c:199) === End of file valgrind49 test 0048...[HTTP with -d and -G and -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind48 ../src/curl -q --output log/8/curl48.out --include --trace-ascii log/8/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/48 -G -I http://127.0.0.1:37085/48 > log/8/stdout48 2> log/8/stderr48 48: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 48 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind36 ../src/curl -q --output log/23/curl36.out --include --trace-ascii log/23/trace36 --trace-time http://127.0.0.1:38851/36 > log/23/stdout36 2> log/23/stderr36 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind52 ../src/curl -q --output log/17/curl52.out --include --trace-ascii log/17/trace52 --trace-time http://127.0.0.1:45171/we/are/all/twits/52 -L > log/17/stdout52 2> log/17/stderr52 ile=log/8/valgrind48 ../src/curl -q --output log/8/curl48.out --include --trace-ascii log/8/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:37085/48 -G -I http://127.0.0.1:37085/48 > log/8/stdout48 2> log/8/stderr48 === End of file commands.log === Start of file http_server.log 14:53:15.021016 ====> Client connect 14:53:15.021039 accept_connection 3 returned 4 14:53:15.021052 accept_connection 3 returned 0 14:53:15.021063 Read 93 bytes 14:53:15.021072 Process 93 bytes request 14:53:15.021080 Got request: GET /verifiedserver HTTP/1.1 14:53:15.021088 Are-we-friendly question received 14:53:15.021106 Wrote request (93 bytes) input to log/8/server.input 14:53:15.021119 Identifying ourselves as friends 14:53:15.021157 Response sent (56 bytes) and written to log/8/server.response 14:53:15.021165 special request received, no persistency 14:53:15.021172 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind48 ==76763== ==76763== Process terminating with default action of signal 4 (SIGILL) ==76763== Illegal opcode at address 0x4014B6F ==76763== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==76763== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==76763== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==76763== by 0x4004266: main (tool_main.c:199) === End of file valgrind48 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_server.pid" --logfile "log/4/http_server.log" --logdir "log/4" --portfile log/4/server/http_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74344 port 39793 * pid http => 74344 74344 test 0021...[use curl with multiple request methods] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 curl returned 132, when expecting 2 21: exit FAILED == Contents of files in the log/4/ dir after test 21 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 === End of file commands.log === Start of file http_server.log 14:52:53.122497 Running HTTP IPv4 version on port 39793 14:52:53.122573 Wrote pid 74344 to log/4/server/http_server.pid 14:52:53.122597 Wrote port 39793 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file valgrind21 ==75010== ==75010== Process terminating with default action of signal 4 (SIGILL) ==75010== Illegal opcode at address 0x4014B6F ==75010== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75010== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75010== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75010== by 0x4004266: main (tool_main.c:199) === End of file valgrind21 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_server.pid" --logfile "log/23/http_server.log" --logdir "log/23" --portfile log/23/server/http_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 76073 port 38851 * pid http => 76073 76073 test 0036...[HTTP GET with bad chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind36 ../src/curl -q --output log/23/curl36.out --include --trace-ascii log/23/trace36 --trace-time http://127.0.0.1:38851/36 > log/23/stdout36 2> log/23/stderr36 36: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 36 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind36 ../src/curl -q --output log/23/curl36.out --include --trace-ascii log/23/trace36 --trace-time http://127.0.0.1:38851/36 > log/23/stdout36 2> log/23/stderr36 === End of file commands.log === Start of file http_server.log 14:53:15.248552 Running HTTP IPv4 version on port 38851 14:53:15.248609 Wrote pid 76073 to log/23/server/http_server.pid 14:53:15.248631 Wrote port 38851 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file valgrind36 ==77016== ==77016== Process terminating with default action of signal 4 (SIGILL) ==77016== Illegal opcode at address 0x4014B6F ==77016== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77016== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77016== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77016== by 0x4004266: main (tool_main.c:199) === End of file valgrind36 test 0052...[HTTP follow redirect with ./-prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind52 ../src/curl -q --output log/17/curl52.out --include --trace-ascii log/17/trace52 --trace-time http://127.0.0.1:45171/we/are/all/twits/52 -L > log/17/stdout52 2> log/17/stderr52 52: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 52 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind52 ../src/curl -q --output log/17/curl52.out --include --trace-ascii log/17/trace52 --trace-time http://127.0.0.1:45171/we/are/all/twits/52 -L > log/17/stdout52 2> log/17/stderr52 === End of file commands.log === Start of file http_server.log 14:53:16.268990 ====> Client connect 14:53:16.269024 accept_connection 3 returned 4 14:53:16.269041 accept_connection 3 returned 0 14:53:16.269055 Read 93 bytes 14:53:16.269067 Process 93 bytes request 14:53:16.269079 Got request: GET /verifiedserver HTTP/1.1 14:53:16.269089 Are-we-friendly question received 14:53:16.269116 Wrote request (93 bytes) input to log/17/server.input 14:53:16.269134 Identifying ourselves as friends 14:53:16.269187 Response sent (56 bytes) and written to log/17/server.response 14:53:16.269198 special request received, no persistency 14:53:16.269208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind51 ../src/curl -q --output log/20/curl51.out --include --trace-ascii log/20/trace51 --trace-time http://127.0.0.1:39569/we/are/all/twits/51 -L > log/20/stdout51 2> log/20/stderr51 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind53 ../src/curl -q --output log/2/curl53.out --include --trace-ascii log/2/trace53 --trace-time 127.0.0.1:37587/want/53 -b log/2/injar53 -j > log/2/stdout53 2> log/2/stderr53 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind56 ../src/curl -q --output log/12/curl56.out --include --trace-ascii log/12/trace56 --trace-time -K - 127.0.0.1:43359/that.site.com/56 log/12/stdout56 2> log/12/stderr56 .0.1 port 49138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 52 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind52 ==77099== ==77099== Process terminating with default action of signal 4 (SIGILL) ==77099== Illegal opcode at address 0x4014B6F ==77099== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77099== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77099== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77099== by 0x4004266: main (tool_main.c:199) === End of file valgrind52 test 0051...[HTTP follow redirect with excessive ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind51 ../src/curl -q --output log/20/curl51.out --include --trace-ascii log/20/trace51 --trace-time http://127.0.0.1:39569/we/are/all/twits/51 -L > log/20/stdout51 2> log/20/stderr51 51: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 51 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind51 ../src/curl -q --output log/20/curl51.out --include --trace-ascii log/20/trace51 --trace-time http://127.0.0.1:39569/we/are/all/twits/51 -L > log/20/stdout51 2> log/20/stderr51 === End of file commands.log === Start of file http_server.log 14:53:16.261397 ====> Client connect 14:53:16.261422 accept_connection 3 returned 4 14:53:16.261435 accept_connection 3 returned 0 14:53:16.261447 Read 93 bytes 14:53:16.261456 Process 93 bytes request 14:53:16.261468 Got request: GET /verifiedserver HTTP/1.1 14:53:16.261476 Are-we-friendly question received 14:53:16.261495 Wrote request (93 bytes) input to log/20/server.input 14:53:16.261509 Identifying ourselves as friends 14:53:16.261556 Response sent (56 bytes) and written to log/20/server.response 14:53:16.261566 special request received, no persistency 14:53:16.261576 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind51 ==77076== ==77076== Process terminating with default action of signal 4 (SIGILL) ==77076== Illegal opcode at address 0x4014B6F ==77076== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77076== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77076== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77076== by 0x4004266: main (tool_main.c:199) === End of file valgrind51 test 0053...[HTTP, junk session cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind53 ../src/curl -q --output log/2/curl53.out --include --trace-ascii log/2/trace53 --trace-time 127.0.0.1:37587/want/53 -b log/2/injar53 -j > log/2/stdout53 2> log/2/stderr53 53: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 53 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind53 ../src/curl -q --output log/2/curl53.out --include --trace-ascii log/2/trace53 --trace-time 127.0.0.1:37587/want/53 -b log/2/injar53 -j > log/2/stdout53 2> log/2/stderr53 === End of file commands.log === Start of file http_server.log 14:53:16.467830 ====> Client connect 14:53:16.467865 accept_connection 3 returned 4 14:53:16.467881 accept_connection 3 returned 0 14:53:16.467903 Read 93 bytes 14:53:16.467919 Process 93 bytes request 14:53:16.467934 Got request: GET /verifiedserver HTTP/1.1 14:53:16.467944 Are-we-friendly question received 14:53:16.467965 Wrote request (93 bytes) input to log/2/server.input 14:53:16.467989 Identifying ourselves as friends 14:53:16.468047 Response sent (56 bytes) and written to log/2/server.response 14:53:16.468060 special request received, no persistency 14:53:16.468069 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file injar53 127.0.0.1 FALSE / FALSE 22139150993 mooo indeed 127.0.0.1 FALSE / FALSE 0 moo1 indeed 127.0.0.1 FALSE / FALSE 1 moo2 indeed === End of file injar53 === Start of file server.cmd Testnum 53 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind53 ==77218== ==77218== Process terminating with default action of signal 4 (SIGILL) ==77218== Illegal opcode at address 0x4014B6F ==77218== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77218== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77218== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77218== by 0x4004266: main (tool_main.c:199) === End of file valgrind53 test 0056...[HTTP POST with *HUGE* request and chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind56 ../src/curl -q --output log/12/curl56.out --include --trace-ascii log/12/trace56 --trace-time -K - 127.0.0.1:43359/that.site.com/56 log/12/stdout56 2> log/12/stderr56 56: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 56 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind56 ../src/curl -q --output log/12/curl56.out --include --trace-ascii log/12/trace56 --trace-time -K - 127.0.0.1:43359/that.site.com/56 log/12/stdout56 2> log/12/stderr56 === End of file commands.log === Start of file http_server.log 14:53:16.544082 ====> Client connect 14:53:16.544118 accept_connection 3 returned 4 14:53:16.544135 accept_connection 3 returned 0 14:53:16.544150 Read 93 bytes 14:53:16.544161 Process 93 bytes request 14:53:16.544176 Got request: GET /verifiedserver HTTP/1.1 14:53:16.544187 Are-we-friendly question received 14:53:16.544214 Wrote request (93 bytes) input to log/12/server.input 14:53:16.544232 Identifying ourselves as friends 14:53:16.544288 Response sent (56 bytes) and written to log/12/server.response 14:53:16.544299 special request received, no persistency 14:53:16.544309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 56 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stdin-for-56 # data "we post this" # # enforce chunky post header "Transfer-Encoding: chunked" # # Set the user-agent using a short-option: -A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind54 ../src/curl -q --output log/16/curl54.out --include --trace-ascii log/16/trace54 --trace-time http://127.0.0.1:34475/want/54 -L > log/16/stdout54 2> log/16/stderr54 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0.1:44029/55 -L > log/1/stdout55 2> log/1/stderr55 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 ==77393== ==77393== Process terminating with default action of signal 4 (SIGILL) ==77393== Illegal opcode at address 0x4014B6F ==77393== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77393== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77393== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77393== by 0x4004266: main (tool_main.c:199) === End of file valgrind56 test 0020...[attempt connect to non-existing host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 curl returned 132, when expecting 6 20: exit FAILED == Contents of files in the log/5/ dir after test 20 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 === End of file commands.log === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 ==74348== ==74348== Process terminating with default action of signal 4 (SIGILL) ==74348== Illegal opcode at address 0x4014B6F ==74348== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74348== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74348== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74348== by 0x4004266: main (tool_main.c:199) === End of file valgrind20 test 0054...[HTTP with blank Location:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind54 ../src/curl -q --output log/16/curl54.out --include --trace-ascii log/16/trace54 --trace-time http://127.0.0.1:34475/want/54 -L > log/16/stdout54 2> log/16/stderr54 54: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 54 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind54 ../src/curl -q --output log/16/curl54.out --include --trace-ascii log/16/trace54 --trace-time http://127.0.0.1:34475/want/54 -L > log/16/stdout54 2> log/16/stderr54 === End of file commands.log === Start of file http_server.log 14:53:16.518208 ====> Client connect 14:53:16.518232 accept_connection 3 returned 4 14:53:16.518246 accept_connection 3 returned 0 14:53:16.518257 Read 93 bytes 14:53:16.518266 Process 93 bytes request 14:53:16.518277 Got request: GET /verifiedserver HTTP/1.1 14:53:16.518285 Are-we-friendly question received 14:53:16.518303 Wrote request (93 bytes) input to log/16/server.input 14:53:16.518316 Identifying ourselves as friends 14:53:16.518357 Response sent (56 bytes) and written to log/16/server.response 14:53:16.518366 special request received, no persistency 14:53:16.518373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 54 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind54 ==77304== ==77304== Process terminating with default action of signal 4 (SIGILL) ==77304== Illegal opcode at address 0x4014B6F ==77304== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77304== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77304== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77304== by 0x4004266: main (tool_main.c:199) === End of file valgrind54 test 0055...[HTTP follow redirect with single slash in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:33805/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind60 ../src/curl -q --output log/21/curl60.out --include --trace-ascii log/21/trace60 --trace-time http://127.0.0.1:34037/bzz/60 -T - -H "Content-Length: 1" log/21/stdout60 2> log/21/stderr60 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind61 ../src/curl -q --output log/22/curl61.out --include --trace-ascii log/22/trace61 --trace-time http://127.0.0.1:42027/we/want/61 -c log/22/jar61.txt -H "Host: www.host.foo.com" > log/22/stdout61 2> log/22/stderr61 .1:44029/55 -L > log/1/stdout55 2> log/1/stderr55 55: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 55 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0.1:44029/55 -L > log/1/stdout55 2> log/1/stderr55 === End of file commands.log === Start of file http_server.log 14:53:16.523998 ====> Client connect 14:53:16.524033 accept_connection 3 returned 4 14:53:16.524047 accept_connection 3 returned 0 14:53:16.524059 Read 93 bytes 14:53:16.524069 Process 93 bytes request 14:53:16.524082 Got request: GET /verifiedserver HTTP/1.1 14:53:16.524090 Are-we-friendly question received 14:53:16.524110 Wrote request (93 bytes) input to log/1/server.input 14:53:16.524124 Identifying ourselves as friends 14:53:16.524168 Response sent (56 bytes) and written to log/1/server.response 14:53:16.524177 special request received, no persistency 14:53:16.524185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 55 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind55 ==77320== ==77320== Process terminating with default action of signal 4 (SIGILL) ==77320== Illegal opcode at address 0x4014B6F ==77320== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77320== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77320== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77320== by 0x4004266: main (tool_main.c:199) === End of file valgrind55 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_server.pid" --logfile "log/19/http_server.log" --logdir "log/19" --portfile log/19/server/http_server.port --config log/19/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74013 port 33805 * pid http => 74013 74013 test 0006...[HTTP with simple cookie send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:33805/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 6: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 6 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:33805/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 === End of file commands.log === Start of file http_server.log 14:52:51.009794 Running HTTP IPv4 version on port 33805 14:52:51.009850 Wrote pid 74013 to log/19/server/http_server.pid 14:52:51.009873 Wrote port 33805 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 6 === End of file server.cmd === Start of file valgrind6 ==74280== ==74280== Process terminating with default action of signal 4 (SIGILL) ==74280== Illegal opcode at address 0x4014B6F ==74280== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74280== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74280== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74280== by 0x4004266: main (tool_main.c:199) === End of file valgrind6 test 0060...[HTTP PUT from stdin with wrong content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind60 ../src/curl -q --output log/21/curl60.out --include --trace-ascii log/21/trace60 --trace-time http://127.0.0.1:34037/bzz/60 -T - -H "Content-Length: 1" log/21/stdout60 2> log/21/stderr60 60: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 60 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind60 ../src/curl -q --output log/21/curl60.out --include --trace-ascii log/21/trace60 --trace-time http://127.0.0.1:34037/bzz/60 -T - -H "Content-Length: 1" log/21/stdout60 2> log/21/stderr60 === End of file commands.log === Start of file http_server.log 14:53:16.739357 ====> Client connect 14:53:16.739388 accept_connection 3 returned 4 14:53:16.739405 accept_connection 3 returned 0 14:53:16.739418 Read 93 bytes 14:53:16.739429 Process 93 bytes request 14:53:16.739441 Got request: GET /verifiedserver HTTP/1.1 14:53:16.739451 Are-we-friendly question received 14:53:16.739473 Wrote request (93 bytes) input to log/21/server.input 14:53:16.739489 Identifying ourselves as friends 14:53:16.739540 Response sent (56 bytes) and written to log/21/server.response 14:53:16.739551 special request received, no persistency 14:53:16.739560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 45860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 60 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stdin-for-60 more than one byte === End of file stdin-for-60 === Start of file valgrind60 ==77580== ==77580== Process terminating with default action of signal 4 (SIGILL) ==77580== Illegal opcode at address 0x4014B6F ==77580== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77580== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77580== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77580== by 0x4004266: main (tool_main.c:199) === End of file valgrind60 setenv TZ = GMT test 0061...[HTTP with various cookies and custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind61 ../src/curl -q --output log/22/curl61.out --include --trace-ascii log/22/trace61 --trace-time http://127.0.0.1:42027/we/want/61 -c log/22/jar61.txt -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:35893?mooo/59" > log/10/stdout59 2> log/10/stderr59 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind57 ../src/curl -q --include --trace-ascii log/15/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42107/57 -o log/15/out57 > log/15/stdout57 2> log/15/stderr57 H "Host: www.host.foo.com" > log/22/stdout61 2> log/22/stderr61 61: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 61 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind61 ../src/curl -q --output log/22/curl61.out --include --trace-ascii log/22/trace61 --trace-time http://127.0.0.1:42027/we/want/61 -c log/22/jar61.txt -H "Host: www.host.foo.com" > log/22/stdout61 2> log/22/stderr61 === End of file commands.log === Start of file http_server.log 14:53:16.744000 ====> Client connect 14:53:16.744030 accept_connection 3 returned 4 14:53:16.744046 accept_connection 3 returned 0 14:53:16.744061 Read 93 bytes 14:53:16.744072 Process 93 bytes request 14:53:16.744084 Got request: GET /verifiedserver HTTP/1.1 14:53:16.744094 Are-we-friendly question received 14:53:16.744119 Wrote request (93 bytes) input to log/22/server.input 14:53:16.744136 Identifying ourselves as friends 14:53:16.744186 Response sent (56 bytes) and written to log/22/server.response 14:53:16.744195 special request received, no persistency 14:53:16.744203 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind61 ==77621== ==77621== Process terminating with default action of signal 4 (SIGILL) ==77621== Illegal opcode at address 0x4014B6F ==77621== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77621== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77621== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77621== by 0x4004266: main (tool_main.c:199) === End of file valgrind61 test 0059...[HTTP URL with slash but with "parameter"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:35893?mooo/59" > log/10/stdout59 2> log/10/stderr59 59: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 59 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:35893?mooo/59" > log/10/stdout59 2> log/10/stderr59 === End of file commands.log === Start of file http_server.log 14:53:16.736647 ====> Client connect 14:53:16.736675 accept_connection 3 returned 4 14:53:16.736689 accept_connection 3 returned 0 14:53:16.736701 Read 93 bytes 14:53:16.736710 Process 93 bytes request 14:53:16.736719 Got request: GET /verifiedserver HTTP/1.1 14:53:16.736728 Are-we-friendly question received 14:53:16.736748 Wrote request (93 bytes) input to log/10/server.input 14:53:16.736761 Identifying ourselves as friends 14:53:16.736803 Response sent (56 bytes) and written to log/10/server.response 14:53:16.736812 special request received, no persistency 14:53:16.736819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 33022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 59 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind59 ==77557== ==77557== Process terminating with default action of signal 4 (SIGILL) ==77557== Illegal opcode at address 0x4014B6F ==77557== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77557== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77557== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77557== by 0x4004266: main (tool_main.c:199) === End of file valgrind59 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind62 ../src/curl -q --output log/8/curl62.out --include --trace-ascii log/8/trace62 --trace-time http://127.0.0.1:37085/we/want/62 http://127.0.0.1:37085/we/want/62?hoge=fuga -b log/8/jar62.txt -H "Host: www.host.foo.com" > log/8/stdout62 2> log/8/stderr62 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind58 ../src/curl -q --output log/24/curl58.out --include --trace-ascii log/24/trace58 --trace-time http://127.0.0.1:34449/we/want/ -T log/24/58te[]st.txt -g > log/24/stdout58 2> log/24/stderr58 test 0057...[HTTP content-type with spaces in] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind57 ../src/curl -q --include --trace-ascii log/15/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42107/57 -o log/15/out57 > log/15/stdout57 2> log/15/stderr57 57: stdout FAILED: --- log/15/check-expected 2025-09-11 14:53:17.452197127 +0000 +++ log/15/check-generated 2025-09-11 14:53:17.452197127 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/15/ dir after test 57 === Start of file check-expected text/html; charset=ISO-8859-4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind57 ../src/curl -q --include --trace-ascii log/15/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42107/57 -o log/15/out57 > log/15/stdout57 2> log/15/stderr57 === End of file commands.log === Start of file http_server.log 14:53:16.735406 ====> Client connect 14:53:16.735440 accept_connection 3 returned 4 14:53:16.735457 accept_connection 3 returned 0 14:53:16.735473 Read 93 bytes 14:53:16.735490 Process 93 bytes request 14:53:16.735507 Got request: GET /verifiedserver HTTP/1.1 14:53:16.735517 Are-we-friendly question received 14:53:16.735542 Wrote request (93 bytes) input to log/15/server.input 14:53:16.735563 Identifying ourselves as friends 14:53:16.735622 Response sent (56 bytes) and written to log/15/server.response 14:53:16.735635 special request received, no persistency 14:53:16.735645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 57 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind57 ==77558== ==77558== Process terminating with default action of signal 4 (SIGILL) ==77558== Illegal opcode at address 0x4014B6F ==77558== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77558== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77558== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77558== by 0x4004266: main (tool_main.c:199) === End of file valgrind57 test 0062...[HTTP, send cookies when using custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind62 ../src/curl -q --output log/8/curl62.out --include --trace-ascii log/8/trace62 --trace-time http://127.0.0.1:37085/we/want/62 http://127.0.0.1:37085/we/want/62?hoge=fuga -b log/8/jar62.txt -H "Host: www.host.foo.com" > log/8/stdout62 2> log/8/stderr62 62: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 62 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind62 ../src/curl -q --output log/8/curl62.out --include --trace-ascii log/8/trace62 --trace-time http://127.0.0.1:37085/we/want/62 http://127.0.0.1:37085/we/want/62?hoge=fuga -b log/8/jar62.txt -H "Host: www.host.foo.com" > log/8/stdout62 2> log/8/stderr62 === End of file commands.log === Start of file http_server.log 14:53:15.752658 ====> Client connect 14:53:15.752685 accept_connection 3 returned 4 14:53:15.752699 accept_connection 3 returned 0 14:53:15.752711 Read 93 bytes 14:53:15.752719 Process 93 bytes request 14:53:15.752730 Got request: GET /verifiedserver HTTP/1.1 14:53:15.752738 Are-we-friendly question received 14:53:15.752757 Wrote request (93 bytes) input to log/8/server.input 14:53:15.752770 Identifying ourselves as friends 14:53:15.752813 Response sent (56 bytes) and written to log/8/server.response 14:53:15.752822 special request received, no persistency 14:53:15.752829 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file jar62.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_.foo.com TRUE /we/want/ FALSE 22147483647 test yes .host.foo.com TRUE /we/want/ FALSE 22147483647 test2 yes .fake.host.foo.com TRUE /we/want/ FALSE 22147483647 test4 yes .foo.com TRUE /moo TRUE 0 test3 maybe === End of file jar62.txt === Start of file server.cmd Testnum 62 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind62 ==77671== ==77671== Process terminating with default action of signal 4 (SIGILL) ==77671== Illegal opcode at address 0x4014B6F ==77671== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77671== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77671== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77671== by 0x4004266: main (tool_main.c:199) === End of file valgrind62 test 0058...[HTTP PUT from file with weird letters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind58 ../src/curl -q --output log/24/curl58.out --include --trace-ascii log/24/trace58 --trace-time http://127.0.0.1:34449/we/want/ -T log/24/58te[]st.txt -g > log/24/stdout58 2> log/24/stderr58 58: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 58 === Start of file 58te[]st.txt a few bytes === End of file 58te[]st.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind58 ../src/curl -q --output log/24/curl58.out --include --trace-ascii log/24/trace58 --trace-time http://127.0.0.1:34449/we/want/ -T log/24/58te[]st.txt -g > log/24/stdout58 2> log/24/stderr58 === End of file commands.log === Start of file http_server.log 14:53:16.735552 ====> Client connect 14:53:16.735579 accept_connection 3 returned 4 14:53:16.735595 accept_connection 3 returned 0 14:53:16.735609 Read 93 bytes 14:53:16.735620 Process 93 bytes request 14:53:16.735632 Got request: GET /verifiedserver HTTP/1.1 14:53:16.735642 Are-we-friendly question received 14:53:16.735666 Wrote request (93 bytes) input to log/24/server.input 14:53:16.735683 Identifying ourselves as friends 14:53:16.735733 Response sent (56 bytes) and written to log/24/server.response 14:53:16.735743 special request received, no persistenCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind63 ../src/curl -q --output log/4/curl63.out --include --trace-ascii log/4/trace63 --trace-time http://we.want.that.site.com/63 > log/4/stdout63 2> log/4/stderr63 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:39569/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind64 ../src/curl -q --output log/23/curl64.out --include --trace-ascii log/23/trace64 --trace-time http://127.0.0.1:38851/64 -u testuser:testpass --digest > log/23/stdout64 2> log/23/stderr64 cy 14:53:16.735753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 58 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind58 ==77561== ==77561== Process terminating with default action of signal 4 (SIGILL) ==77561== Illegal opcode at address 0x4014B6F ==77561== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77561== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77561== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77561== by 0x4004266: main (tool_main.c:199) === End of file valgrind58 setenv http_proxy = http://fake:user@127.0.0.1:39793/ test 0063...[HTTP with proxy authorization set in environment] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind63 ../src/curl -q --output log/4/curl63.out --include --trace-ascii log/4/trace63 --trace-time http://we.want.that.site.com/63 > log/4/stdout63 2> log/4/stderr63 63: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 63 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind63 ../src/curl -q --output log/4/curl63.out --include --trace-ascii log/4/trace63 --trace-time http://we.want.that.site.com/63 > log/4/stdout63 2> log/4/stderr63 === End of file commands.log === Start of file http_server.log 14:53:16.877622 ====> Client connect 14:53:16.877655 accept_connection 3 returned 4 14:53:16.877671 accept_connection 3 returned 0 14:53:16.877685 Read 93 bytes 14:53:16.877698 Process 93 bytes request 14:53:16.877714 Got request: GET /verifiedserver HTTP/1.1 14:53:16.877723 Are-we-friendly question received 14:53:16.877749 Wrote request (93 bytes) input to log/4/server.input 14:53:16.877770 Identifying ourselves as friends 14:53:16.877827 Response sent (56 bytes) and written to log/4/server.response 14:53:16.877840 special request received, no persistency 14:53:16.877850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 48530 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 63 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind63 ==77881== ==77881== Process terminating with default action of signal 4 (SIGILL) ==77881== Illegal opcode at address 0x4014B6F ==77881== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77881== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77881== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77881== by 0x4004266: main (tool_main.c:199) === End of file valgrind63 test 0066...[HTTP GET without headers in the response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:39569/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 66: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 66 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:39569/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 === End of file commands.log === Start of file http_server.log 14:53:17.010360 ====> Client connect 14:53:17.010389 accept_connection 3 returned 4 14:53:17.010403 accept_connection 3 returned 0 14:53:17.010494 Read 93 bytes 14:53:17.010504 Process 93 bytes request 14:53:17.010517 Got request: GET /verifiedserver HTTP/1.1 14:53:17.010525 Are-we-friendly question received 14:53:17.010545 Wrote request (93 bytes) input to log/20/server.input 14:53:17.010558 Identifying ourselves as friends 14:53:17.010598 Response sent (56 bytes) and written to log/20/server.response 14:53:17.010607 special request received, no persistency 14:53:17.010614 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 66 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind66 ==77987== ==77987== Process terminating with default action of signal 4 (SIGILL) ==77987== Illegal opcode at address 0x4014B6F ==77987== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77987== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77987== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77987== by 0x4004266: main (tool_main.c:199) === End of file valgrind66 test 0064...[HTTP with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind64 ../src/curl -q --output log/23/curl64.out --include --trace-ascii log/23/trace64 --trace-time http://127.0.0.1:38851/64 -u testuser:testpass --digest > log/23/stdout64 2> log/23/stderr64 64: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind64 ../src/curl -q --output log/23/curl64.out --include --trace-ascii log/23/trace64 --trace-time http://127.0.0.1:38851/64 -u testuser:testpass --digest > log/23/stdout64 2> log/23/stderr64 === End of file commands.log === Start of file http_server.log 14:53:17.002919 ====> Client connect 14:53:17.002969 accept_connection 3 returned 4 14:53:17.002990 acceptCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:45171/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43297/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind70 ../src/curl -q --output log/16/curl70.out --include --trace-ascii log/16/trace70 --trace-time http://127.0.0.1:34475/70 -u testuser:testpass --anyauth > log/16/stdout70 2> log/16/stderr70 _connection 3 returned 0 14:53:17.003015 Read 93 bytes 14:53:17.003031 Process 93 bytes request 14:53:17.003049 Got request: GET /verifiedserver HTTP/1.1 14:53:17.003060 Are-we-friendly question received 14:53:17.003089 Wrote request (93 bytes) input to log/23/server.input 14:53:17.003111 Identifying ourselves as friends 14:53:17.003195 Response sent (56 bytes) and written to log/23/server.response 14:53:17.003212 special request received, no persistency 14:53:17.003223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 64 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind64 ==77982== ==77982== Process terminating with default action of signal 4 (SIGILL) ==77982== Illegal opcode at address 0x4014B6F ==77982== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77982== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77982== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77982== by 0x4004266: main (tool_main.c:199) === End of file valgrind64 test 0065...[HTTP with Digest authorization with bad password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:45171/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 65: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 65 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:45171/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 === End of file commands.log === Start of file http_server.log 14:53:17.004403 ====> Client connect 14:53:17.004434 accept_connection 3 returned 4 14:53:17.004448 accept_connection 3 returned 0 14:53:17.004461 Read 93 bytes 14:53:17.004470 Process 93 bytes request 14:53:17.004481 Got request: GET /verifiedserver HTTP/1.1 14:53:17.004490 Are-we-friendly question received 14:53:17.004516 Wrote request (93 bytes) input to log/17/server.input 14:53:17.004533 Identifying ourselves as friends 14:53:17.004591 Response sent (56 bytes) and written to log/17/server.response 14:53:17.004602 special request received, no persistency 14:53:17.004611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 65 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind65 ==77986== ==77986== Process terminating with default action of signal 4 (SIGILL) ==77986== Illegal opcode at address 0x4014B6F ==77986== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==77986== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==77986== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==77986== by 0x4004266: main (tool_main.c:199) === End of file valgrind65 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_server.pid" --logfile "log/18/http_server.log" --logdir "log/18" --portfile log/18/server/http_server.port --config log/18/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74014 port 43297 * pid http => 74014 74014 test 0007...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43297/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 7: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 7 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43297/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 === End of file commands.log === Start of file http_server.log 14:52:52.109733 Running HTTP IPv4 version on port 43297 14:52:52.109785 Wrote pid 74014 to log/18/server/http_server.pid 14:52:52.109806 Wrote port 43297 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 7 === End of file server.cmd === Start of file valgrind7 ==74331== ==74331== Process terminating with default action of signal 4 (SIGILL) ==74331== Illegal opcode at address 0x4014B6F ==74331== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74331== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74331== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74331== by 0x4004266: main (tool_main.c:199) === End of file valgrind7 test 0070...[HTTP with Digest *OR* NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind70 ../src/curl -q --output log/16/curl70.out --include --trace-ascii log/16/trace70 --trace-time http://127.0.0.1:34475/70 -u testuser:testpass --anyauth > log/16/stdout70 2> log/16/stderr70 70: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 70 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind70 ../src/curl -q --output log/16/curl70.out --include --trace-ascii log/16/trace70 --trace-time http://127.0.0.1:34475/70 -u testuser:testpass --anyauth > log/16/stdout70 2> log/16/stderr70 === End of file commands.log === Start of file http_server.log 14:53:17.285462 ====> Client connect 14:53:17.285488 accept_connection 3 returned 4 14:53:17.285502 accept_connection 3 returned 0 14:53:17.285513 Read 93 bytes 14:53:17.285522 Process 93 bytes request 14:53:17.285531 Got request: GET /verifiedserver HTTP/1.1 14:53CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind67 ../src/curl -q --output log/2/curl67.out --include --trace-ascii log/2/trace67 --trace-time http://127.0.0.1:37587/67 -u testuser:testpass --ntlm > log/2/stdout67 2> log/2/stderr67 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind71 ../src/curl -q --output log/1/curl71.out --include --trace-ascii log/1/trace71 --trace-time http://127.0.0.1:44029/we/want/71 -K - log/1/stdout71 2> log/1/stderr71 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind68 ../src/curl -q --output log/12/curl68.out --include --trace-ascii log/12/trace68 --trace-time http://127.0.0.1:43359/68 -u testuser:testpass --ntlm > log/12/stdout68 2> log/12/stderr68 :17.285539 Are-we-friendly question received 14:53:17.285559 Wrote request (93 bytes) input to log/16/server.input 14:53:17.285573 Identifying ourselves as friends 14:53:17.285615 Response sent (56 bytes) and written to log/16/server.response 14:53:17.285623 special request received, no persistency 14:53:17.285631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 70 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind70 ==78221== ==78221== Process terminating with default action of signal 4 (SIGILL) ==78221== Illegal opcode at address 0x4014B6F ==78221== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78221== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78221== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78221== by 0x4004266: main (tool_main.c:199) === End of file valgrind70 test 0067...[HTTP with NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind67 ../src/curl -q --output log/2/curl67.out --include --trace-ascii log/2/trace67 --trace-time http://127.0.0.1:37587/67 -u testuser:testpass --ntlm > log/2/stdout67 2> log/2/stderr67 67: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 67 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind67 ../src/curl -q --output log/2/curl67.out --include --trace-ascii log/2/trace67 --trace-time http://127.0.0.1:37587/67 -u testuser:testpass --ntlm > log/2/stdout67 2> log/2/stderr67 === End of file commands.log === Start of file http_server.log 14:53:17.279003 ====> Client connect 14:53:17.279039 accept_connection 3 returned 4 14:53:17.279058 accept_connection 3 returned 0 14:53:17.279074 Read 93 bytes 14:53:17.279085 Process 93 bytes request 14:53:17.279100 Got request: GET /verifiedserver HTTP/1.1 14:53:17.279111 Are-we-friendly question received 14:53:17.279137 Wrote request (93 bytes) input to log/2/server.input 14:53:17.279157 Identifying ourselves as friends 14:53:17.279223 Response sent (56 bytes) and written to log/2/server.response 14:53:17.279237 special request received, no persistency 14:53:17.279248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 67 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind67 ==78210== ==78210== Process terminating with default action of signal 4 (SIGILL) ==78210== Illegal opcode at address 0x4014B6F ==78210== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78210== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78210== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78210== by 0x4004266: main (tool_main.c:199) === End of file valgrind67 test 0071...[HTTP and -F upload in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind71 ../src/curl -q --output log/1/curl71.out --include --trace-ascii log/1/trace71 --trace-time http://127.0.0.1:44029/we/want/71 -K - log/1/stdout71 2> log/1/stderr71 71: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 71 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind71 ../src/curl -q --output log/1/curl71.out --include --trace-ascii log/1/trace71 --trace-time http://127.0.0.1:44029/we/want/71 -K - log/1/stdout71 2> log/1/stderr71 === End of file commands.log === Start of file http_server.log 14:53:17.287853 ====> Client connect 14:53:17.287875 accept_connection 3 returned 4 14:53:17.287889 accept_connection 3 returned 0 14:53:17.287900 Read 93 bytes 14:53:17.287909 Process 93 bytes request 14:53:17.287918 Got request: GET /verifiedserver HTTP/1.1 14:53:17.287926 Are-we-friendly question received 14:53:17.287944 Wrote request (93 bytes) input to log/1/server.input 14:53:17.287957 Identifying ourselves as friends 14:53:17.287997 Response sent (56 bytes) and written to log/1/server.response 14:53:17.288005 special request received, no persistency 14:53:17.288013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 71 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/1/test71.txt user-agent = "" === End of file stdin-for-71 === Start of file test71.txt foo- This is a moo- bar === End of file test71.txt === Start of file valgrind71 ==78237== ==78237== Process terminating with default action of signal 4 (SIGILL) ==78237== Illegal opcode at address 0x4014B6F ==78237== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78237== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78237== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78237== by 0x4004266: main (tool_main.c:199) === End of file valgrind71 test 0068...[HTTP with NTLM authorization and wrong password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind68 ../src/curl -q --output log/12/curl68.out --include --trace-ascii log/12/trace68 --trace-time http://127.0.0.1:43359/68 -u testuser:testpass --ntlm > log/12/stdout68 2> log/12/stderr68 68: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 68 === Start of file commands.log ../libtool --modeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind72 ../src/curl -q --output log/19/curl72.out --include --trace-ascii log/19/trace72 --trace-time http://127.0.0.1:33805/72 -u testuser:testpass --anyauth > log/19/stdout72 2> log/19/stderr72 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind75 ../src/curl -q --include --trace-ascii log/15/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/15/weee#1.dump" --stderr - > log/15/stdout75 2> log/15/stderr75 =execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind68 ../src/curl -q --output log/12/curl68.out --include --trace-ascii log/12/trace68 --trace-time http://127.0.0.1:43359/68 -u testuser:testpass --ntlm > log/12/stdout68 2> log/12/stderr68 === End of file commands.log === Start of file http_server.log 14:53:17.282319 ====> Client connect 14:53:17.282344 accept_connection 3 returned 4 14:53:17.282358 accept_connection 3 returned 0 14:53:17.282369 Read 93 bytes 14:53:17.282378 Process 93 bytes request 14:53:17.282387 Got request: GET /verifiedserver HTTP/1.1 14:53:17.282395 Are-we-friendly question received 14:53:17.282413 Wrote request (93 bytes) input to log/12/server.input 14:53:17.282426 Identifying ourselves as friends 14:53:17.282467 Response sent (56 bytes) and written to log/12/server.response 14:53:17.282475 special request received, no persistency 14:53:17.282483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 68 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind68 ==78213== ==78213== Process terminating with default action of signal 4 (SIGILL) ==78213== Illegal opcode at address 0x4014B6F ==78213== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78213== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78213== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78213== by 0x4004266: main (tool_main.c:199) === End of file valgrind68 test 0072...[HTTP with Digest *OR* Basic authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind72 ../src/curl -q --output log/19/curl72.out --include --trace-ascii log/19/trace72 --trace-time http://127.0.0.1:33805/72 -u testuser:testpass --anyauth > log/19/stdout72 2> log/19/stderr72 72: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 72 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind72 ../src/curl -q --output log/19/curl72.out --include --trace-ascii log/19/trace72 --trace-time http://127.0.0.1:33805/72 -u testuser:testpass --anyauth > log/19/stdout72 2> log/19/stderr72 === End of file commands.log === Start of file http_server.log 14:53:16.426058 ====> Client connect 14:53:16.426086 accept_connection 3 returned 4 14:53:16.426101 accept_connection 3 returned 0 14:53:16.426114 Read 93 bytes 14:53:16.426127 Process 93 bytes request 14:53:16.426143 Got request: GET /verifiedserver HTTP/1.1 14:53:16.426152 Are-we-friendly question received 14:53:16.426174 Wrote request (93 bytes) input to log/19/server.input 14:53:16.426199 Identifying ourselves as friends 14:53:16.426257 Response sent (56 bytes) and written to log/19/server.response 14:53:16.426273 special request received, no persistency 14:53:16.426283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 55628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 72 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind72 ==78427== ==78427== Process terminating with default action of signal 4 (SIGILL) ==78427== Illegal opcode at address 0x4014B6F ==78427== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78427== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78427== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78427== by 0x4004266: main (tool_main.c:199) === End of file valgrind72 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:42027/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind76 ../src/curl -q --output log/24/curl76.out --include --trace-ascii log/24/trace76 --trace-time http://127.0.0.1:34449/76 -u testuser:testpass --anyauth > log/24/stdout76 2> log/24/stderr76 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind78 ../src/curl -q --output log/21/curl78.out --include --trace-ascii log/21/trace78 --trace-time http://127.0.0.1:34037/78 -z "dec 12 11:00:00 1999 GMT" > log/21/stdout78 2> log/21/stderr78 test 0075...[HTTP, urlglob retrieval with bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind75 ../src/curl -q --include --trace-ascii log/15/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/15/weee#1.dump" --stderr - > log/15/stdout75 2> log/15/stderr75 75: stdout FAILED: --- log/15/check-expected 2025-09-11 14:53:18.292197140 +0000 +++ log/15/check-generated 2025-09-11 14:53:18.292197140 +0000 @@ -1,3 +0,0 @@ -curl: (3) bad range in URL position 47:[CR][LF] -http://a-site-never-accessed.example.org/[2-1][CR][LF] - ^[CR][LF] == Contents of files in the log/15/ dir after test 75 === Start of file check-expected curl: (3) bad range in URL position 47:[CR][LF] http://a-site-never-accessed.example.org/[2-1][CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind75 ../src/curl -q --include --trace-ascii log/15/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/15/weee#1.dump" --stderr - > log/15/stdout75 2> log/15/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==78507== ==78507== Process terminating with default action of signal 4 (SIGILL) ==78507== Illegal opcode at address 0x4014B6F ==78507== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78507== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78507== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78507== by 0x4004266: main (tool_main.c:199) === End of file valgrind75 test 0073...[HTTP, receive cookies when using custom Host:, domain using only two dots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:42027/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 73: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 73 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:42027/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 === End of file commands.log === Start of file http_server.log 14:53:17.550212 ====> Client connect 14:53:17.550237 accept_connection 3 returned 4 14:53:17.550252 accept_connection 3 returned 0 14:53:17.550267 Read 93 bytes 14:53:17.550277 Process 93 bytes request 14:53:17.550289 Got request: GET /verifiedserver HTTP/1.1 14:53:17.550296 Are-we-friendly question received 14:53:17.550317 Wrote request (93 bytes) input to log/22/server.input 14:53:17.550331 Identifying ourselves as friends 14:53:17.550375 Response sent (56 bytes) and written to log/22/server.response 14:53:17.550383 special request received, no persistency 14:53:17.550392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 73 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind73 ==78559== ==78559== Process terminating with default action of signal 4 (SIGILL) ==78559== Illegal opcode at address 0x4014B6F ==78559== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78559== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78559== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78559== by 0x4004266: main (tool_main.c:199) === End of file valgrind73 test 0076...[HTTP with comma-separated WWW-Authenticate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind76 ../src/curl -q --output log/24/curl76.out --include --trace-ascii log/24/trace76 --trace-time http://127.0.0.1:34449/76 -u testuser:testpass --anyauth > log/24/stdout76 2> log/24/stderr76 76: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 76 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind76 ../src/curl -q --output log/24/curl76.out --include --trace-ascii log/24/trace76 --trace-time http://127.0.0.1:34449/76 -u testuser:testpass --anyauth > log/24/stdout76 2> log/24/stderr76 === End of file commands.log === Start of file http_server.log 14:53:17.559924 ====> Client connect 14:53:17.559951 accept_connection 3 returned 4 14:53:17.559966 accept_connection 3 returned 0 14:53:17.559979 Read 93 bytes 14:53:17.559989 Process 93 bytes request 14:53:17.560000 Got request: GET /verifiedserver HTTP/1.1 14:53:17.560010 Are-we-friendly question received 14:53:17.560031 Wrote request (93 bytes) input to log/24/server.input 14:53:17.560047 Identifying ourselves as friends 14:53:17.560098 Response sent (56 bytes) and written to log/24/server.response 14:53:17.560109 special request received, no persistency 14:53:17.560118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 76 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind76 ==78609== ==78609== Process terminating with default action of signal 4 (SIGILL) ==78609== Illegal opcode at address 0x4014B6F ==78609== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78609== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78609== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78609== by 0x4004266: main (tool_main.c:199) === End of file valgrind76 test 0078...[HTTP with -z "newer date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind78 ../src/curl -q --output log/21/curl78.out --include --trace-ascii log/21/trace78 --tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind74 ../src/curl -q --include --trace-ascii log/10/trace74 --trace-time "http://127.0.0.1:35893/{74,740001}" -o "log/10/dumpit#1.dump" > log/10/stdout74 2> log/10/stderr74 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind77 ../src/curl -q --output log/8/curl77.out --include --trace-ascii log/8/trace77 --trace-time http://127.0.0.1:37085/77 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout77 2> log/8/stderr77 race-time http://127.0.0.1:34037/78 -z "dec 12 11:00:00 1999 GMT" > log/21/stdout78 2> log/21/stderr78 78: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 78 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind78 ../src/curl -q --output log/21/curl78.out --include --trace-ascii log/21/trace78 --trace-time http://127.0.0.1:34037/78 -z "dec 12 11:00:00 1999 GMT" > log/21/stdout78 2> log/21/stderr78 === End of file commands.log === Start of file http_server.log 14:53:17.573527 ====> Client connect 14:53:17.573553 accept_connection 3 returned 4 14:53:17.573567 accept_connection 3 returned 0 14:53:17.573579 Read 93 bytes 14:53:17.573587 Process 93 bytes request 14:53:17.573598 Got request: GET /verifiedserver HTTP/1.1 14:53:17.573606 Are-we-friendly question received 14:53:17.573626 Wrote request (93 bytes) input to log/21/server.input 14:53:17.573639 Identifying ourselves as friends 14:53:17.573681 Response sent (56 bytes) and written to log/21/server.response 14:53:17.573690 special request received, no persistency 14:53:17.573698 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 45872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 78 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind78 ==78681== ==78681== Process terminating with default action of signal 4 (SIGILL) ==78681== Illegal opcode at address 0x4014B6F ==78681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78681== by 0x4004266: main (tool_main.c:199) === End of file valgrind78 test 0074...[HTTP, urlglob {}-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind74 ../src/curl -q --include --trace-ascii log/10/trace74 --trace-time "http://127.0.0.1:35893/{74,740001}" -o "log/10/dumpit#1.dump" > log/10/stdout74 2> log/10/stderr74 74: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 74 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind74 ../src/curl -q --include --trace-ascii log/10/trace74 --trace-time "http://127.0.0.1:35893/{74,740001}" -o "log/10/dumpit#1.dump" > log/10/stdout74 2> log/10/stderr74 === End of file commands.log === Start of file http_server.log 14:53:17.557858 ====> Client connect 14:53:17.557886 accept_connection 3 returned 4 14:53:17.557900 accept_connection 3 returned 0 14:53:17.557912 Read 93 bytes 14:53:17.557920 Process 93 bytes request 14:53:17.557932 Got request: GET /verifiedserver HTTP/1.1 14:53:17.557940 Are-we-friendly question received 14:53:17.557965 Wrote request (93 bytes) input to log/10/server.input 14:53:17.557978 Identifying ourselves as friends 14:53:17.558020 Response sent (56 bytes) and written to log/10/server.response 14:53:17.558028 special request received, no persistency 14:53:17.558035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 33034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 74 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind74 ==78596== ==78596== Process terminating with default action of signal 4 (SIGILL) ==78596== Illegal opcode at address 0x4014B6F ==78596== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78596== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78596== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78596== by 0x4004266: main (tool_main.c:199) === End of file valgrind74 test 0077...[HTTP with -z "older date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind77 ../src/curl -q --output log/8/curl77.out --include --trace-ascii log/8/trace77 --trace-time http://127.0.0.1:37085/77 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout77 2> log/8/stderr77 77: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 77 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind77 ../src/curl -q --output log/8/curl77.out --include --trace-ascii log/8/trace77 --trace-time http://127.0.0.1:37085/77 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout77 2> log/8/stderr77 === End of file commands.log === Start of file http_server.log 14:53:16.564017 ====> Client connect 14:53:16.564049 accept_connection 3 returned 4 14:53:16.564065 accept_connection 3 returned 0 14:53:16.564078 Read 93 bytes 14:53:16.564089 Process 93 bytes request 14:53:16.564102 Got request: GET /verifiedserver HTTP/1.1 14:53:16.564112 Are-we-friendly question received 14:53:16.564134 Wrote request (93 bytes) input to log/8/server.input 14:53:16.564151 Identifying ourselves as friends 14:53:16.564200 Response sent (56 bytes) and written to log/8/server.response 14:53:16.564211 special request received, no persistency 14:53:16.564221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 77 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind77 ==78606== ==78606== Process terminating with default action of signal 4 (SIGILL) ==78606== Illegal opcode at address 0x4014B6F ==78606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78606== by 0x400CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:39793/we/want/that/page/79 -x 127.0.0.1:39793 > log/4/stdout79 2> log/4/stderr79 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:46791/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 4266: UnknownInlinedFun (tool_operate.c:2160) ==78606== by 0x4004266: main (tool_main.c:199) === End of file valgrind77 test 0079...[FTP over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:39793/we/want/that/page/79 -x 127.0.0.1:39793 > log/4/stdout79 2> log/4/stderr79 79: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 79 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:39793/we/want/that/page/79 -x 127.0.0.1:39793 > log/4/stdout79 2> log/4/stderr79 === End of file commands.log === Start of file http_server.log 14:53:17.685522 ====> Client connect 14:53:17.685557 accept_connection 3 returned 4 14:53:17.685576 accept_connection 3 returned 0 14:53:17.685592 Read 93 bytes 14:53:17.685603 Process 93 bytes request 14:53:17.685618 Got request: GET /verifiedserver HTTP/1.1 14:53:17.685629 Are-we-friendly question received 14:53:17.685657 Wrote request (93 bytes) input to log/4/server.input 14:53:17.685676 Identifying ourselves as friends 14:53:17.685736 Response sent (56 bytes) and written to log/4/server.response 14:53:17.685748 special request received, no persistency 14:53:17.685759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 48542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 79 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind79 ==78864== ==78864== Process terminating with default action of signal 4 (SIGILL) ==78864== Illegal opcode at address 0x4014B6F ==78864== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78864== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78864== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78864== by 0x4004266: main (tool_main.c:199) === End of file valgrind79 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74489 port 46791 * pid http => 74489 74489 test 0022...[get HTTP with URL > 10000 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:46791/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 22: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 22 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:46791/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 14:52:53.223593 Running HTTP IPv4 version on port 46791 14:52:53.223664 Wrote pid 74489 to log/3/server/http_server.pid 14:52:53.223688 Wrote port 46791 to log/3/server/http_server.port =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind81 ../src/curl -q --output log/23/curl81.out --include --trace-ascii log/23/trace81 --trace-time http://127.0.0.1:38851/81 --proxy-user testuser:testpass -x http://127.0.0.1:38851 --proxy-ntlm > log/23/stdout81 2> log/23/stderr81 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:45171/82 --proxy-user testuser:testpass -x http://127.0.0.1:45171 > log/17/stdout82 2> log/17/stderr82 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:41533/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 == End of file http_server.log === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file valgrind22 ==75103== ==75103== Process terminating with default action of signal 4 (SIGILL) ==75103== Illegal opcode at address 0x4014B6F ==75103== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75103== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75103== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75103== by 0x4004266: main (tool_main.c:199) === End of file valgrind22 test 0081...[HTTP with proxy using NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind81 ../src/curl -q --output log/23/curl81.out --include --trace-ascii log/23/trace81 --trace-time http://127.0.0.1:38851/81 --proxy-user testuser:testpass -x http://127.0.0.1:38851 --proxy-ntlm > log/23/stdout81 2> log/23/stderr81 81: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 81 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind81 ../src/curl -q --output log/23/curl81.out --include --trace-ascii log/23/trace81 --trace-time http://127.0.0.1:38851/81 --proxy-user testuser:testpass -x http://127.0.0.1:38851 --proxy-ntlm > log/23/stdout81 2> log/23/stderr81 === End of file commands.log === Start of file http_server.log 14:53:17.849993 ====> Client connect 14:53:17.850023 accept_connection 3 returned 4 14:53:17.850039 accept_connection 3 returned 0 14:53:17.850051 Read 93 bytes 14:53:17.850060 Process 93 bytes request 14:53:17.850070 Got request: GET /verifiedserver HTTP/1.1 14:53:17.850077 Are-we-friendly question received 14:53:17.850097 Wrote request (93 bytes) input to log/23/server.input 14:53:17.850110 Identifying ourselves as friends 14:53:17.850150 Response sent (56 bytes) and written to log/23/server.response 14:53:17.850158 special request received, no persistency 14:53:17.850167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 81 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind81 ==78975== ==78975== Process terminating with default action of signal 4 (SIGILL) ==78975== Illegal opcode at address 0x4014B6F ==78975== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78975== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78975== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78975== by 0x4004266: main (tool_main.c:199) === End of file valgrind81 test 0082...[HTTP with proxy requiring NTLM, but we send Basic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:45171/82 --proxy-user testuser:testpass -x http://127.0.0.1:45171 > log/17/stdout82 2> log/17/stderr82 82: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 82 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:45171/82 --proxy-user testuser:testpass -x http://127.0.0.1:45171 > log/17/stdout82 2> log/17/stderr82 === End of file commands.log === Start of file http_server.log 14:53:17.859201 ====> Client connect 14:53:17.859230 accept_connection 3 returned 4 14:53:17.859245 accept_connection 3 returned 0 14:53:17.859258 Read 93 bytes 14:53:17.859268 Process 93 bytes request 14:53:17.859281 Got request: GET /verifiedserver HTTP/1.1 14:53:17.859290 Are-we-friendly question received 14:53:17.859312 Wrote request (93 bytes) input to log/17/server.input 14:53:17.859326 Identifying ourselves as friends 14:53:17.859372 Response sent (56 bytes) and written to log/17/server.response 14:53:17.859382 special request received, no persistency 14:53:17.859390 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 82 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind82 ==78981== ==78981== Process terminating with default action of signal 4 (SIGILL) ==78981== Illegal opcode at address 0x4014B6F ==78981== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==78981== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==78981== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==78981== by 0x4004266: main (tool_main.c:199) === End of file valgrind82 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_server.pid" --logfile "log/13/http_server.log" --logdir "log/13" --portfile log/13/server/http_server.port --config log/13/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74068 port 41533 * pid http => 74068 74068 test 0012...[HTTP range support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:41533/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 12: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 12 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:41533/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 14:52:52.612311 Running HTTP IPv4 version on port 41533 14:52:52.612379 Wrote pid 74068 to log/13/server/http_server.pid 14:52:52.612403 Wrote port 41533 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 12 === End of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind84 ../src/curl -q --output log/16/curl84.out --include --trace-ascii log/16/trace84 --trace-time http://127.0.0.1:34475/we/want/that/page/84 -x 127.0.0.1:34475 --user iam:myself > log/16/stdout84 2> log/16/stderr84 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-time "http://127.0.0.1:43359/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 file server.cmd === Start of file valgrind12 ==74705== ==74705== Process terminating with default action of signal 4 (SIGILL) ==74705== Illegal opcode at address 0x4014B6F ==74705== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74705== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74705== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74705== by 0x4004266: main (tool_main.c:199) === End of file valgrind12 test 0084...[HTTP over proxy with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind84 ../src/curl -q --output log/16/curl84.out --include --trace-ascii log/16/trace84 --trace-time http://127.0.0.1:34475/we/want/that/page/84 -x 127.0.0.1:34475 --user iam:myself > log/16/stdout84 2> log/16/stderr84 84: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 84 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind84 ../src/curl -q --output log/16/curl84.out --include --trace-ascii log/16/trace84 --trace-time http://127.0.0.1:34475/we/want/that/page/84 -x 127.0.0.1:34475 --user iam:myself > log/16/stdout84 2> log/16/stderr84 === End of file commands.log === Start of file http_server.log 14:53:18.097703 ====> Client connect 14:53:18.097736 accept_connection 3 returned 4 14:53:18.097753 accept_connection 3 returned 0 14:53:18.097768 Read 93 bytes 14:53:18.097779 Process 93 bytes request 14:53:18.097794 Got request: GET /verifiedserver HTTP/1.1 14:53:18.097804 Are-we-friendly question received 14:53:18.097830 Wrote request (93 bytes) input to log/16/server.input 14:53:18.097848 Identifying ourselves as friends 14:53:18.097902 Response sent (56 bytes) and written to log/16/server.response 14:53:18.097913 special request received, no persistency 14:53:18.097923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 84 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind84 ==79165== ==79165== Process terminating with default action of signal 4 (SIGILL) ==79165== Illegal opcode at address 0x4014B6F ==79165== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79165== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79165== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79165== by 0x4004266: main (tool_main.c:199) === End of file valgrind84 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind86 ../src/curl -q --include --trace-ascii log/1/trace86 --trace-time "http://127.0.0.1:44029/[860001-860003]" -o "log/1/dumpit#1.dump" > log/1/stdout86 2> log/1/stderr86 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:37587/we/want/that/page/85 -x 127.0.0.1:37587 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 test 0087...[urlglob with out of range -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-time "http://127.0.0.1:43359/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 87: output (log/12/dumpit87-#2.dump) FAILED: --- log/12/check-expected 2025-09-11 14:53:18.878863815 +0000 +++ log/12/check-generated 2025-09-11 14:53:18.878863815 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/12/ dir after test 87 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-time "http://127.0.0.1:43359/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 === End of file commands.log === Start of file http_server.log 14:53:18.110849 ====> Client connect 14:53:18.110874 accept_connection 3 returned 4 14:53:18.110886 accept_connection 3 returned 0 14:53:18.110897 Read 93 bytes 14:53:18.110905 Process 93 bytes request 14:53:18.110915 Got request: GET /verifiedserver HTTP/1.1 14:53:18.110922 Are-we-friendly question received 14:53:18.110940 Wrote request (93 bytes) input to log/12/server.input 14:53:18.110953 Identifying ourselves as friends 14:53:18.110990 Response sent (56 bytes) and written to log/12/server.response 14:53:18.110998 special request received, no persistency 14:53:18.111005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 87 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind87 ==79194== ==79194== Process terminating with default action of signal 4 (SIGILL) ==79194== Illegal opcode at address 0x4014B6F ==79194== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79194== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79194== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79194== by 0x4004266: main (tool_main.c:199) === End of file valgrind87 test 0086...[HTTP, urlglob []-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind86 ../src/curl -q --include --trace-ascii log/1/trace86 --trace-time "http://127.0.0.1:44029/[860001-860003]" -o "log/1/dumpit#1.dump" > log/1/stdout86 2> log/1/stderr86 86: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 86 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind86 ../src/curl -q --include --trace-ascii log/1/trace86 --trace-time "http://127.0.0.1:44029/[860001-860003]" -o "log/1/dumpit#1.dump" > log/1/stdout86 2> log/1/stderr86 === End of file commands.log === Start of file http_server.log 14:53:18.106706 ====> Client connect 14:53:18.106739 accept_connection 3 returned 4 14:53:18.106756 accept_connection 3 returned 0 14:53:18.106769 Read 93 bytes 14:53:18.106778 Process 93 bytes request 14:53:18.106788 Got request: GET /verifiedserver HTTP/1.1 14:53:18.106796 Are-we-friendly question received 14:53:18.106815 Wrote request (93 bytes) input to log/1/server.input 14:53:18.106829 Identifying ourselves as friends 14:53:18.106873 Response sent (56 bytes) and written to log/1/server.response 14:53:18.106882 special request received, no persistency 14:53:18.106889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 86 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind86 ==79195== ==79195== Process terminating with default action of signal 4 (SIGILL) ==79195== Illegal opcode at address 0x4014B6F ==79195== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79195== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79195== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79195== by 0x4004266: main (tool_main.c:199) === End of file valgrind86 test 0085...[HTTP over proxy with site and proxy authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:37587/we/want/that/page/85 -x 127.0.0.1:37587 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 85: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 85 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:37587/we/want/that/page/85 -x 127.0.0.1:37587 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 === End of file commands.log === Start of file http_server.log 14:53:18.110364 ====> Client connect 14:53:18.110394 accept_connection 3 returned 4 14:53:18.110410 accept_connection 3 returned 0 14:53:18.110425 Read 93 bytes 14:53:18.110435 Process 93 bytes request 14:53:18.110445 Got request: GET /verifiedserver HTTP/1.1 14:53:18.110452 Are-we-friendly question received 14:53:18.110471 Wrote request (93 bytes) input to log/2/server.input 14:53:18.110485 Identifying ourselves as friends 14:53:18.110528 Response sent (56 bytes) and written to log/2/server.response 14:53:18.110536 special request received, no persistency 14:53:18.110544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * RequCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40545/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 est completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 85 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind85 ==79193== ==79193== Process terminating with default action of signal 4 (SIGILL) ==79193== Illegal opcode at address 0x4014B6F ==79193== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79193== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79193== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79193== by 0x4004266: main (tool_main.c:199) === End of file valgrind85 test 0019...[attempt connect to non-listening socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 curl returned 132, when expecting 7 19: exit FAILED == Contents of files in the log/6/ dir after test 19 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 === End of file commands.log === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 ==74336== ==74336== Process terminating with default action of signal 4 (SIGILL) ==74336== Illegal opcode at address 0x4014B6F ==74336== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74336== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74336== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74336== by 0x4004266: main (tool_main.c:199) === End of file valgrind19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:46041/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind88 ../src/curl -q --output log/19/curl88.out --include --trace-ascii log/19/trace88 --trace-time http://127.0.0.1:33805/88 -T log/19/put88 -u testuser:testpass --digest > log/19/stdout88 2> log/19/stderr88 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34345 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind91 ../src/curl -q --output log/24/curl91.out --include --trace-ascii log/24/trace91 --trace-time http://127.0.0.1:34449/91 --anyauth -u mydomain\\myself:secret > log/24/stdout91 2> log/24/stderr91 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_server.pid" --logfile "log/7/http_server.log" --logdir "log/7" --portfile log/7/server/http_server.port --config log/7/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74329 port 40545 * pid http => 74329 74329 test 0018...[multiple requests using {} in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40545/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2025-09-11 14:53:18.928863816 +0000 +++ log/7/check-generated 2025-09-11 14:53:18.928863816 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -moo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -foo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -hoo[LF] == Contents of files in the log/7/ dir after test 18 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] moo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] foo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] hoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40545/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 14:52:53.116987 Running HTTP IPv4 version on port 40545 14:52:53.117067 Wrote pid 74329 to log/7/server/http_server.pid 14:52:53.117091 Wrote port 40545 to log/7/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 18 === End of file server.cmd === Start of file valgrind18 ==75004== ==75004== Process terminating with default action of signal 4 (SIGILL) ==75004== Illegal opcode at address 0x4014B6F ==75004== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==75004== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==75004== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==75004== by 0x4004266: main (tool_main.c:199) === End of file valgrind18 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_server.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78152 port 46041 * pid http => 78152 78152 test 0069...[HTTP with NTLM, Basic or Wild-and-crazy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:46041/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 69: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 69 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:46041/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 === End of file commands.log === Start of file http_server.log 14:53:17.285813 Running HTTP IPv4 version on port 46041 14:53:17.285875 Wrote pid 78152 to log/5/server/http_server.pid 14:53:17.285906 Wrote port 46041 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file valgrind69 ==79424== ==79424== Process terminating with default action of signal 4 (SIGILL) ==79424== Illegal opcode at address 0x4014B6F ==79424== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79424== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79424== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79424== by 0x4004266: main (tool_main.c:199) === End of file valgrind69 test 0088...[HTTP PUT with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind88 ../src/curl -q --output log/19/curl88.out --include --trace-ascii log/19/trace88 --trace-time http://127.0.0.1:33805/88 -T log/19/put88 -u testuser:testpass --digest > log/19/stdout88 2> log/19/stderr88 88: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 88 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind88 ../src/curl -q --output log/19/curl88.out --include --trace-ascii log/19/trace88 --trace-time http://127.0.0.1:33805/88 -T log/19/put88 -u testuser:testpass --digest > log/19/stdout88 2> log/19/stderr88 === End of file commands.log === Start of file http_server.log 14:53:17.244962 ====> Client connect 14:53:17.244994 accept_connection 3 returned 4 14:53:17.245010 accept_connection 3 returned 0 14:53:17.245024 Read 93 bytes 14:53:17.245034 Process 93 bytes request 14:53:17.245046 Got request: GET /verifiedserver HTTP/1.1 14:53:17.245055 Are-we-friendly question received 14:53:17.245078 Wrote request (93 bytes) input to log/19/server.input 14:53:17.245094 Identifying ourselves as friends 14:53:17.245141 Response sent (56 bytes) and written to log/19/server.response 14:53:17.245152 special request received, no persistency 14:53:17.245161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 55644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file put88 This is data we upload with PUT a second line line three four is the number of lines === End of file put88 === Start of file server.cmd auth_required Testnum 88 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind88 ==79384== ==79384== Process terminating with default action of signal 4 (SIGILL) ==79384== Illegal opcode at address 0x4014B6F ==79384== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79384== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79384== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79384== by 0x4004266: main (tool_main.c:199) === End of file valgrind88 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:42107/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/stderr89 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind93 ../src/curl -q --output log/10/curl93.out --include --trace-ascii log/10/trace93 --trace-time http://127.0.0.1:35893/93 -x 127.0.0.1:35893 > log/10/stdout93 2> log/10/stderr93 server/http_server.pid" --logfile "log/9/http_server.log" --logdir "log/9" --portfile log/9/server/http_server.port --config log/9/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74228 port 34345 * pid http => 74228 74228 test 0016...[HTTP with proxy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34345 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 16: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 16 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34345 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 === End of file commands.log === Start of file http_server.log 14:52:52.915217 Running HTTP IPv4 version on port 34345 14:52:52.915287 Wrote pid 74228 to log/9/server/http_server.pid 14:52:52.915311 Wrote port 34345 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 16 === End of file server.cmd === Start of file valgrind16 ==74904== ==74904== Process terminating with default action of signal 4 (SIGILL) ==74904== Illegal opcode at address 0x4014B6F ==74904== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74904== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74904== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74904== by 0x4004266: main (tool_main.c:199) === End of file valgrind16 test 0091...[HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind91 ../src/curl -q --output log/24/curl91.out --include --trace-ascii log/24/trace91 --trace-time http://127.0.0.1:34449/91 --anyauth -u mydomain\\myself:secret > log/24/stdout91 2> log/24/stderr91 91: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 91 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind91 ../src/curl -q --output log/24/curl91.out --include --trace-ascii log/24/trace91 --trace-time http://127.0.0.1:34449/91 --anyauth -u mydomain\\myself:secret > log/24/stdout91 2> log/24/stderr91 === End of file commands.log === Start of file http_server.log 14:53:18.408723 ====> Client connect 14:53:18.408747 accept_connection 3 returned 4 14:53:18.408761 accept_connection 3 returned 0 14:53:18.408773 Read 93 bytes 14:53:18.408782 Process 93 bytes request 14:53:18.408792 Got request: GET /verifiedserver HTTP/1.1 14:53:18.408800 Are-we-friendly question received 14:53:18.408820 Wrote request (93 bytes) input to log/24/server.input 14:53:18.408833 Identifying ourselves as friends 14:53:18.408876 Response sent (56 bytes) and written to log/24/server.response 14:53:18.408885 special request received, no persistency 14:53:18.408893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 91 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind91 ==79612== ==79612== Process terminating with default action of signal 4 (SIGILL) ==79612== Illegal opcode at address 0x4014B6F ==79612== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79612== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79612== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79612== by 0x4004266: main (tool_main.c:199) === End of file valgrind91 test 0093...[HTTP GET with failed proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind93 ../src/curl -q --output log/10/curl93.out --include --trace-ascii log/10/trace93 --trace-time http://127.0.0.1:35893/93 -x 127.0.0.1:35893 > log/10/stdout93 2> log/10/stderr93 93: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 93 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind93 ../src/curl -q --output log/10/curl93.out --include --trace-ascii log/10/trace93 --trace-time http://127.0.0.1:35893/93 -x 127.0.0.1:35893 > log/10/stdout93 2> log/10/stderr93 === End of file commands.log === Start of file http_server.log 14:53:18.408813 ====> Client connect 14:53:18.408839 accept_connection 3 returned 4 14:53:18.408854 accept_connection 3 returned 0 14:53:18.408865 Read 93 bytes 14:53:18.408874 Process 93 bytes request 14:53:18.408883 Got request: GET /verifiedserver HTTP/1.1 14:53:18.408891 Are-we-friendly question received 14:53:18.408912 Wrote request (93 bytes) input to log/10/server.input 14:53:18.408925 Identifying ourselves as friends 14:53:18.408967 Response sent (56 bytes) and written to log/10/server.response 14:53:18.408975 special request received, no persistency 14:53:18.408983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 33040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 93 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind93 ==79591== ==79591== Process terminating with default action of signal 4 (SIGILL) ==79591== Illegal opcode at address 0x4014B6F ==79591== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79591== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79591== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79591== by 0x4004266: main CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind94 ../src/curl -q --output log/8/curl94.out --include --trace-ascii log/8/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:37085 > log/8/stdout94 2> log/8/stderr94 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind90 ../src/curl -q --output log/22/curl90.out --include --trace-ascii log/22/trace90 --trace-time http://127.0.0.1:42027/90 -u testuser:testpass --anyauth -L > log/22/stdout90 2> log/22/stderr90 (tool_main.c:199) === End of file valgrind93 test 0089...[HTTP with NTLM and follow-location] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:42107/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/stderr89 89: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 89 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:42107/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/stderr89 === End of file commands.log === Start of file http_server.log 14:53:18.399282 ====> Client connect 14:53:18.399315 accept_connection 3 returned 4 14:53:18.399332 accept_connection 3 returned 0 14:53:18.399347 Read 93 bytes 14:53:18.399359 Process 93 bytes request 14:53:18.399372 Got request: GET /verifiedserver HTTP/1.1 14:53:18.399382 Are-we-friendly question received 14:53:18.399410 Wrote request (93 bytes) input to log/15/server.input 14:53:18.399428 Identifying ourselves as friends 14:53:18.399490 Response sent (56 bytes) and written to log/15/server.response 14:53:18.399501 special request received, no persistency 14:53:18.399511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 89 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind89 ==79589== ==79589== Process terminating with default action of signal 4 (SIGILL) ==79589== Illegal opcode at address 0x4014B6F ==79589== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79589== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79589== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79589== by 0x4004266: main (tool_main.c:199) === End of file valgrind89 test 0094...[HTTPS GET with failed proxy auth (CONNECT 1.0)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind94 ../src/curl -q --output log/8/curl94.out --include --trace-ascii log/8/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:37085 > log/8/stdout94 2> log/8/stderr94 94: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 94 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind94 ../src/curl -q --output log/8/curl94.out --include --trace-ascii log/8/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:37085 > log/8/stdout94 2> log/8/stderr94 === End of file commands.log === Start of file http_server.log 14:53:17.410140 ====> Client connect 14:53:17.410168 accept_connection 3 returned 4 14:53:17.410184 accept_connection 3 returned 0 14:53:17.410196 Read 93 bytes 14:53:17.410207 Process 93 bytes request 14:53:17.410218 Got request: GET /verifiedserver HTTP/1.1 14:53:17.410228 Are-we-friendly question received 14:53:17.410250 Wrote request (93 bytes) input to log/8/server.input 14:53:17.410266 Identifying ourselves as friends 14:53:17.410315 Response sent (56 bytes) and written to log/8/server.response 14:53:17.410326 special request received, no persistency 14:53:17.410335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 94 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind94 ==79599== ==79599== Process terminating with default action of signal 4 (SIGILL) ==79599== Illegal opcode at address 0x4014B6F ==79599== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79599== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79599== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79599== by 0x4004266: main (tool_main.c:199) === End of file valgrind94 test 0090...[HTTP with NTLM via --anyauth, and then follow-location with NTLM again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind90 ../src/curl -q --output log/22/curl90.out --include --trace-ascii log/22/trace90 --trace-time http://127.0.0.1:42027/90 -u testuser:testpass --anyauth -L > log/22/stdout90 2> log/22/stderr90 90: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 90 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind90 ../src/curl -q --output log/22/curl90.out --include --trace-ascii log/22/trace90 --trace-time http://127.0.0.1:42027/90 -u testuser:testpass --anyauth -L > log/22/stdout90 2> log/22/stderr90 === End of file commands.log === Start of file http_server.log 14:53:18.401849 ====> Client connect 14:53:18.401896 accept_connection 3 returned 4 14:53:18.401915 accept_connection 3 returned 0 14:53:18.401927 Read 93 bytes 14:53:18.401936 Process 93 bytes request 14:53:18.401947 Got request: GET /verifiedserver HTTP/1.1 14:53:18.401955 Are-we-friendly question received 14:53:18.401975 Wrote request (93 bytes) input to log/22/server.input 14:53:18.401988 Identifying ourselves as friends 14:53:18.402038 Response sent (56 bytes) and written to log/22/server.response 14:53:18.402049 special request received, no persistency 14:53:18.402059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-time http://127.0.0.1:34037/want/92 -C 87 > log/21/stdout92 2> log/21/stderr92 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind97 ../src/curl -q --output log/3/curl97.out --include --trace-ascii log/3/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:46791/97 > log/3/stdout97 2> log/3/stderr97 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind99 ../src/curl -q --output log/17/curl99.out --include --trace-ascii log/17/trace99 --trace-time http://127.0.0.1:45171/99 -C 9999999999 > log/17/stdout99 2> log/17/stderr99 Testnum 90 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind90 ==79654== ==79654== Process terminating with default action of signal 4 (SIGILL) ==79654== Illegal opcode at address 0x4014B6F ==79654== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79654== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79654== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79654== by 0x4004266: main (tool_main.c:199) === End of file valgrind90 test 0092...[HTTP resume transfer with the whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-time http://127.0.0.1:34037/want/92 -C 87 > log/21/stdout92 2> log/21/stderr92 92: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-time http://127.0.0.1:34037/want/92 -C 87 > log/21/stdout92 2> log/21/stderr92 === End of file commands.log === Start of file http_server.log 14:53:18.405929 ====> Client connect 14:53:18.405960 accept_connection 3 returned 4 14:53:18.405977 accept_connection 3 returned 0 14:53:18.405990 Read 93 bytes 14:53:18.406001 Process 93 bytes request 14:53:18.406013 Got request: GET /verifiedserver HTTP/1.1 14:53:18.406023 Are-we-friendly question received 14:53:18.406046 Wrote request (93 bytes) input to log/21/server.input 14:53:18.406063 Identifying ourselves as friends 14:53:18.406118 Response sent (56 bytes) and written to log/21/server.response 14:53:18.406128 special request received, no persistency 14:53:18.406138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 45882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 92 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind92 ==79590== ==79590== Process terminating with default action of signal 4 (SIGILL) ==79590== Illegal opcode at address 0x4014B6F ==79590== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79590== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79590== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79590== by 0x4004266: main (tool_main.c:199) === End of file valgrind92 test 0097...[HTTP POST with custom content-type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind97 ../src/curl -q --output log/3/curl97.out --include --trace-ascii log/3/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:46791/97 > log/3/stdout97 2> log/3/stderr97 97: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 97 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind97 ../src/curl -q --output log/3/curl97.out --include --trace-ascii log/3/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:46791/97 > log/3/stdout97 2> log/3/stderr97 === End of file commands.log === Start of file http_server.log 14:53:18.553659 ====> Client connect 14:53:18.553691 accept_connection 3 returned 4 14:53:18.553710 accept_connection 3 returned 0 14:53:18.553726 Read 93 bytes 14:53:18.553744 Process 93 bytes request 14:53:18.553761 Got request: GET /verifiedserver HTTP/1.1 14:53:18.553772 Are-we-friendly question received 14:53:18.553798 Wrote request (93 bytes) input to log/3/server.input 14:53:18.553820 Identifying ourselves as friends 14:53:18.553891 Response sent (56 bytes) and written to log/3/server.response 14:53:18.553906 special request received, no persistency 14:53:18.553918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 97 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind97 ==79920== ==79920== Process terminating with default action of signal 4 (SIGILL) ==79920== Illegal opcode at address 0x4014B6F ==79920== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==79920== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==79920== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==79920== by 0x4004266: main (tool_main.c:199) === End of file valgrind97 test 0099...[HTTP GET with large-file resume point and failed resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind99 ../src/curl -q --output log/17/curl99.out --include --trace-ascii log/17/trace99 --trace-time http://127.0.0.1:45171/99 -C 9999999999 > log/17/stdout99 2> log/17/stderr99 99: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 99 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind99 ../src/curl -q --output log/17/curl99.out --include --trace-ascii log/17/trace99 --trace-time http://127.0.0.1:45171/99 -C 9999999999 > log/17/stdout99 2> log/17/stderr99 === End of file commands.log === Start of file http_server.log 14:53:18.701157 ====> Client connect 14:53:18.701189 accept_connection 3 returned 4 14:53:18.701206 accept_connection 3 returned 0 14:53:18.701221 Read 93 bytes 14:53:18.701232 Process 93 bytes request 14:53:18.701246 Got request: GET /verifiedserver HTTP/1.1 14:53:18.701256 Are-we-friendly question received 14:53:18.701282 Wrote request (93 bytes) input to log/17/server.input 14:53:18.701300 Identifying ourselves as friends 14:53:18.701354 Response sent (56 bytes) and written to log/17/server.response 14:53:18.701365 special request received, no persistency 14:53:18.701375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind98 ../src/curl -q --output log/23/curl98.out --include --trace-ascii log/23/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:38851/98 log/23/stdout98 2> log/23/stderr98 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind80 ../src/curl -q --output log/20/curl80.out --include --trace-ascii log/20/trace80 --trace-time http://test.80:39569/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37271 --user iam:myself --proxy-user youare:yourself -A "" > log/20/stdout80 2> log/20/stderr80 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind83 ../src/curl -q --output log/18/curl83.out --include --trace-ascii log/18/trace83 --trace-time http://test.83:43297/we/want/that/page/83 -p -x 127.0.0.1:35323 --user 'iam:my:;self' > log/18/stdout83 2> log/18/stderr83 Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 99 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind99 ==80014== ==80014== Process terminating with default action of signal 4 (SIGILL) ==80014== Illegal opcode at address 0x4014B6F ==80014== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80014== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80014== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80014== by 0x4004266: main (tool_main.c:199) === End of file valgrind99 test 0098...[HTTP PUT from stdin with set size, disabling chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind98 ../src/curl -q --output log/23/curl98.out --include --trace-ascii log/23/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:38851/98 log/23/stdout98 2> log/23/stderr98 98: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 98 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind98 ../src/curl -q --output log/23/curl98.out --include --trace-ascii log/23/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:38851/98 log/23/stdout98 2> log/23/stderr98 === End of file commands.log === Start of file http_server.log 14:53:18.697250 ====> Client connect 14:53:18.697281 accept_connection 3 returned 4 14:53:18.697297 accept_connection 3 returned 0 14:53:18.697310 Read 93 bytes 14:53:18.697321 Process 93 bytes request 14:53:18.697335 Got request: GET /verifiedserver HTTP/1.1 14:53:18.697344 Are-we-friendly question received 14:53:18.697368 Wrote request (93 bytes) input to log/23/server.input 14:53:18.697384 Identifying ourselves as friends 14:53:18.697436 Response sent (56 bytes) and written to log/23/server.response 14:53:18.697446 special request received, no persistency 14:53:18.697456 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 98 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80007== ==80007== Process terminating with default action of signal 4 (SIGILL) ==80007== Illegal opcode at address 0x4014B6F ==80007== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80007== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80007== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80007== by 0x4004266: main (tool_main.c:199) === End of file valgrind98 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/20/server/http2_server.pid" --logfile "log/20/http2_server.log" --logdir "log/20" --portfile log/20/server/http2_server.port --config log/20/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 78969 port 37271 * pid http-proxy => 78969 78969 test 0080...[HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind80 ../src/curl -q --output log/20/curl80.out --include --trace-ascii log/20/trace80 --trace-time http://test.80:39569/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37271 --user iam:myself --proxy-user youare:yourself -A "" > log/20/stdout80 2> log/20/stderr80 80: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 80 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind80 ../src/curl -q --output log/20/curl80.out --include --trace-ascii log/20/trace80 --trace-time http://test.80:39569/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37271 --user iam:myself --proxy-user youare:yourself -A "" > log/20/stdout80 2> log/20/stderr80 === End of file commands.log === Start of file http2_server.log 14:53:17.867208 Run as proxy, CONNECT to host 127.0.0.1 14:53:17.867304 Running HTTP IPv4 version on port 37271 14:53:17.867346 Wrote pid 78969 to log/20/server/http2_server.pid 14:53:17.867376 Wrote port 37271 to log/20/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:53:17.847680 ====> Client connect 14:53:17.847709 accept_connection 3 returned 4 14:53:17.847724 accept_connection 3 returned 0 14:53:17.847738 Read 93 bytes 14:53:17.847748 Process 93 bytes request 14:53:17.847761 Got request: GET /verifiedserver HTTP/1.1 14:53:17.847770 Are-we-friendly question received 14:53:17.847791 Wrote request (93 bytes) input to log/20/server.input 14:53:17.847807 Identifying ourselves as friends 14:53:17.847858 Response sent (56 bytes) and written to log/20/server.response 14:53:17.847867 special request received, no persistency 14:53:17.847876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind80 ==80120== ==80120== Process terminating with default action of signal 4 (SIGILL) ==80120== Illegal opcode at address 0x4014B6F ==80120== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80120== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80120== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80120== by 0x4004266: main (tool_main.c:199) === End of file valgrind80 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/18/server/http2_server.pid" --loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:33503/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:46043/want/11 -L > log/14/stdout11 2> log/14/stderr11 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind95 ../src/curl -q --output log/4/curl95.out --include --trace-ascii log/4/trace95 --trace-time http://test.95:39793/we/want/that/page/95 -p -x 127.0.0.1:46283 -d "datatopost=ohthatsfunyesyes" > log/4/stdout95 2> log/4/stderr95 gfile "log/18/http2_server.log" --logdir "log/18" --portfile log/18/server/http2_server.port --config log/18/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 79088 port 35323 * pid http-proxy => 79088 79088 test 0083...[HTTP over proxy-tunnel with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind83 ../src/curl -q --output log/18/curl83.out --include --trace-ascii log/18/trace83 --trace-time http://test.83:43297/we/want/that/page/83 -p -x 127.0.0.1:35323 --user 'iam:my:;self' > log/18/stdout83 2> log/18/stderr83 83: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 83 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind83 ../src/curl -q --output log/18/curl83.out --include --trace-ascii log/18/trace83 --trace-time http://test.83:43297/we/want/that/page/83 -p -x 127.0.0.1:35323 --user 'iam:my:;self' > log/18/stdout83 2> log/18/stderr83 === End of file commands.log === Start of file http2_server.log 14:53:17.967333 Run as proxy, CONNECT to host 127.0.0.1 14:53:17.967453 Running HTTP IPv4 version on port 35323 14:53:17.967494 Wrote pid 79088 to log/18/server/http2_server.pid 14:53:17.967525 Wrote port 35323 to log/18/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:53:17.949924 ====> Client connect 14:53:17.949951 accept_connection 3 returned 4 14:53:17.949965 accept_connection 3 returned 0 14:53:17.949978 Read 93 bytes 14:53:17.949990 Process 93 bytes request 14:53:17.950005 Got request: GET /verifiedserver HTTP/1.1 14:53:17.950013 Are-we-friendly question received 14:53:17.950033 Wrote request (93 bytes) input to log/18/server.input 14:53:17.950049 Identifying ourselves as friends 14:53:17.950097 Response sent (56 bytes) and written to log/18/server.response 14:53:17.950108 special request received, no persistency 14:53:17.950116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 46564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind83 ==80182== ==80182== Process terminating with default action of signal 4 (SIGILL) ==80182== Illegal opcode at address 0x4014B6F ==80182== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80182== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80182== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80182== by 0x4004266: main (tool_main.c:199) === End of file valgrind83 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_server.pid" --logfile "log/11/http_server.log" --logdir "log/11" --portfile log/11/server/http_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74119 port 33503 * pid http => 74119 74119 test 0014...[HTTP HEAD with Connection: close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:33503/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 14: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 14 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:33503/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 14:52:52.713995 Running HTTP IPv4 version on port 33503 14:52:52.714061 Wrote pid 74119 to log/11/server/http_server.pid 14:52:52.714085 Wrote port 33503 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 14 === End of file server.cmd === Start of file valgrind14 ==74756== ==74756== Process terminating with default action of signal 4 (SIGILL) ==74756== Illegal opcode at address 0x4014B6F ==74756== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74756== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74756== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74756== by 0x4004266: main (tool_main.c:199) === End of file valgrind14 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/14/server/http_server.pid" --logfile "log/14/http_server.log" --logdir "log/14" --portfile log/14/server/http_server.port --config log/14/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74019 port 46043 * pid http => 74019 74019 test 0011...[simple HTTP Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:46043/want/11 -L > log/14/stdout11 2> log/14/stderr11 11: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 11 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:46043/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 14:52:52.512304 Running HTTP IPv4 version on port 46043 14:52:52.512363 Wrote pid 74019 to log/14/server/http_server.pid 14:52:52.512396 Wrote port 46043 to log/14/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 11 === End of file server.cmd === Start of file valgrind11 ==74655== ==74655== Process terminating with default action of signal 4 (SIGILL) ==74655== Illegal opcode at address 0x4014B6F ==74655== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==74655== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==74655== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==74655== by 0x4004266: main (tool_main.c:199) === End of file valgrind11 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/4/server/http2_server.pid" --logfile "log/4/http2_server.log" --logdir "log/4" --portfile log/4/server/http2_server.port --config log/4/server.cmd --id 2 --ipv4 --port 0 -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind100 ../src/curl -q --output log/13/curl100.out --include --trace-ascii log/13/trace100 --trace-time ftp://127.0.0.1:36645/test-100/ > log/13/stdout100 2> log/13/stderr100 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind103 ../src/curl -q --output log/1/curl103.out --include --trace-ascii log/1/trace103 --trace-time ftp://127.0.0.1:43113/a/path/103 -P - > log/1/stdout103 2> log/1/stderr103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind101 ../src/curl -q --output log/16/curl101.out --include --trace-ascii log/16/trace101 --trace-time ftp://127.0.0.1:32915/ -P 127.0.0.1 > log/16/stdout101 2> log/16/stderr101 -srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 79908 port 46283 * pid http-proxy => 79908 79908 test 0095...[HTTP over proxytunnel using POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind95 ../src/curl -q --output log/4/curl95.out --include --trace-ascii log/4/trace95 --trace-time http://test.95:39793/we/want/that/page/95 -p -x 127.0.0.1:46283 -d "datatopost=ohthatsfunyesyes" > log/4/stdout95 2> log/4/stderr95 95: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 95 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind95 ../src/curl -q --output log/4/curl95.out --include --trace-ascii log/4/trace95 --trace-time http://test.95:39793/we/want/that/page/95 -p -x 127.0.0.1:46283 -d "datatopost=ohthatsfunyesyes" > log/4/stdout95 2> log/4/stderr95 === End of file commands.log === Start of file http2_server.log 14:53:18.561814 Run as proxy, CONNECT to host 127.0.0.1 14:53:18.561891 Running HTTP IPv4 version on port 46283 14:53:18.561922 Wrote pid 79908 to log/4/server/http2_server.pid 14:53:18.561944 Wrote port 46283 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:53:18.544714 ====> Client connect 14:53:18.544748 accept_connection 3 returned 4 14:53:18.544765 accept_connection 3 returned 0 14:53:18.544780 Read 93 bytes 14:53:18.544791 Process 93 bytes request 14:53:18.544805 Got request: GET /verifiedserver HTTP/1.1 14:53:18.544815 Are-we-friendly question received 14:53:18.544842 Wrote request (93 bytes) input to log/4/server.input 14:53:18.544860 Identifying ourselves as friends 14:53:18.544910 Response sent (56 bytes) and written to log/4/server.response 14:53:18.544919 special request received, no persistency 14:53:18.544926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 48558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind95 ==80292== ==80292== Process terminating with default action of signal 4 (SIGILL) ==80292== Illegal opcode at address 0x4014B6F ==80292== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80292== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80292== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80292== by 0x4004266: main (tool_main.c:199) === End of file valgrind95 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36645 (log/13/server/ftp_server.port) RUN: FTP server is PID 80108 port 36645 * pid ftp => 80108 80108 test 0100...[FTP dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind100 ../src/curl -q --output log/13/curl100.out --include --trace-ascii log/13/trace100 --trace-time ftp://127.0.0.1:36645/test-100/ > log/13/stdout100 2> log/13/stderr100 100: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind100 ../src/curl -q --output log/13/curl100.out --include --trace-ascii log/13/trace100 --trace-time ftp://127.0.0.1:36645/test-100/ > log/13/stdout100 2> log/13/stderr100 === End of file commands.log === Start of file ftp_server.log 14:53:18.756451 FTP server listens on port IPv4/36645 14:53:18.756527 logged pid 80108 in log/13/server/ftp_server.pid 14:53:18.756549 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.839039 Running IPv4 version 14:53:18.839106 Listening on port 36645 14:53:18.839138 Wrote pid 80112 to log/13/server/ftp_sockctrl.pid 14:53:18.839164 Wrote port 36645 to log/13/server/ftp_server.port 14:53:18.839183 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 100 === End of file server.cmd === Start of file valgrind100 ==80349== ==80349== Process terminating with default action of signal 4 (SIGILL) ==80349== Illegal opcode at address 0x4014B6F ==80349== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80349== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80349== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80349== by 0x4004266: main (tool_main.c:199) === End of file valgrind100 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_server.pid" --logfile "log/1/ftp_server.log" --logdir "log/1" --portfile "log/1/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43113 (log/1/server/ftp_server.port) RUN: FTP server is PID 80194 port 43113 * pid ftp => 80194 80194 test 0103...[FTP RETR PORT with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind103 ../src/curl -q --output log/1/curl103.out --include --trace-ascii log/1/trace103 --trace-time ftp://127.0.0.1:43113/a/path/103 -P - > log/1/stdout103 2> log/1/stderr103 103: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind103 ../src/curl -q --output log/1/curl103.out --include --trace-ascii log/1/trace103 --trace-time ftp://127.0.0.1:43113/a/path/103 -P - > log/1/stdout103 2> log/1/stderr103 === End of file commands.log === Start of file ftp_server.log 14:53:18.924938 FTP server listens on port IPv4/43113 14:53:18.925055 logged pid 80194 in log/1/server/ftp_server.pid 14:53:18.925088 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.007377 Running IPv4 version 14:53:18.007453 Listening on port 43113 14:53:18.007489 Wrote pid 80237 to log/1/server/ftp_sockctrl.pid 14:53:18.007518 Wrote port 43113 to log/1/server/ftp_server.port 14:53:18.007659 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 103 === End of file server.cmd === Start of file valgrind103 ==80446== ==80446== Process terminating with default action of signal 4 (SIGILL) ==80446== Illegal opcode at address 0x4014B6F ==80446== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80446== by 0x4004266: UnknownInlinedFun (tool_getparam.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind102 ../src/curl -q --output log/12/curl102.out --include --trace-ascii log/12/trace102 --trace-time ftp://127.0.0.1:38141/102 > log/12/stdout102 2> log/12/stderr102 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind104 ../src/curl -q --output log/2/curl104.out --include --trace-ascii log/2/trace104 --trace-time ftp://127.0.0.1:45597/a/path/104 --head > log/2/stdout104 2> log/2/stderr104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind105 ../src/curl -q --output log/6/curl105.out --include --trace-ascii log/6/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:36077/105 --use-ascii > log/6/stdout105 2> log/6/stderr105 c:3017) ==80446== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80446== by 0x4004266: main (tool_main.c:199) === End of file valgrind103 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/ftp_server.pid" --logfile "log/16/ftp_server.log" --logdir "log/16" --portfile "log/16/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32915 (log/16/server/ftp_server.port) RUN: FTP server is PID 80177 port 32915 * pid ftp => 80177 80177 test 0101...[FTP dir list, PORT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind101 ../src/curl -q --output log/16/curl101.out --include --trace-ascii log/16/trace101 --trace-time ftp://127.0.0.1:32915/ -P 127.0.0.1 > log/16/stdout101 2> log/16/stderr101 101: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind101 ../src/curl -q --output log/16/curl101.out --include --trace-ascii log/16/trace101 --trace-time ftp://127.0.0.1:32915/ -P 127.0.0.1 > log/16/stdout101 2> log/16/stderr101 === End of file commands.log === Start of file ftp_server.log 14:53:18.899764 FTP server listens on port IPv4/32915 14:53:18.899852 logged pid 80177 in log/16/server/ftp_server.pid 14:53:18.899881 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.982202 Running IPv4 version 14:53:18.982278 Listening on port 32915 14:53:18.982317 Wrote pid 80204 to log/16/server/ftp_sockctrl.pid 14:53:18.982348 Wrote port 32915 to log/16/server/ftp_server.port 14:53:18.982493 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 101 === End of file server.cmd === Start of file valgrind101 ==80401== ==80401== Process terminating with default action of signal 4 (SIGILL) ==80401== Illegal opcode at address 0x4014B6F ==80401== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80401== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80401== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80401== by 0x4004266: main (tool_main.c:199) === End of file valgrind101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/ftp_server.pid" --logfile "log/12/ftp_server.log" --logdir "log/12" --portfile "log/12/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38141 (log/12/server/ftp_server.port) RUN: FTP server is PID 80195 port 38141 * pid ftp => 80195 80195 test 0102...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind102 ../src/curl -q --output log/12/curl102.out --include --trace-ascii log/12/trace102 --trace-time ftp://127.0.0.1:38141/102 > log/12/stdout102 2> log/12/stderr102 102: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind102 ../src/curl -q --output log/12/curl102.out --include --trace-ascii log/12/trace102 --trace-time ftp://127.0.0.1:38141/102 > log/12/stdout102 2> log/12/stderr102 === End of file commands.log === Start of file ftp_server.log 14:53:18.925433 FTP server listens on port IPv4/38141 14:53:18.925524 logged pid 80195 in log/12/server/ftp_server.pid 14:53:18.925549 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.007908 Running IPv4 version 14:53:18.007992 Listening on port 38141 14:53:18.008091 Wrote pid 80238 to log/12/server/ftp_sockctrl.pid 14:53:18.008120 Wrote port 38141 to log/12/server/ftp_server.port 14:53:18.008141 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==80447== ==80447== Process terminating with default action of signal 4 (SIGILL) ==80447== Illegal opcode at address 0x4014B6F ==80447== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80447== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80447== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80447== by 0x4004266: main (tool_main.c:199) === End of file valgrind102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_server.pid" --logfile "log/2/ftp_server.log" --logdir "log/2" --portfile "log/2/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45597 (log/2/server/ftp_server.port) RUN: FTP server is PID 80219 port 45597 * pid ftp => 80219 80219 test 0104...[FTP --head to get file size only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind104 ../src/curl -q --output log/2/curl104.out --include --trace-ascii log/2/trace104 --trace-time ftp://127.0.0.1:45597/a/path/104 --head > log/2/stdout104 2> log/2/stderr104 104: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind104 ../src/curl -q --output log/2/curl104.out --include --trace-ascii log/2/trace104 --trace-time ftp://127.0.0.1:45597/a/path/104 --head > log/2/stdout104 2> log/2/stderr104 === End of file commands.log === Start of file ftp_server.log 14:53:18.945271 FTP server listens on port IPv4/45597 14:53:18.945338 logged pid 80219 in log/2/server/ftp_server.pid 14:53:18.945362 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.027879 Running IPv4 version 14:53:18.027932 Listening on port 45597 14:53:18.027963 Wrote pid 80248 to log/2/server/ftp_sockctrl.pid 14:53:18.027988 Wrote port 45597 to log/2/server/ftp_server.port 14:53:18.028005 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 104 === End of file server.cmd === Start of file valgrind104 ==80521== ==80521== Process terminating with default action of signal 4 (SIGILL) ==80521== Illegal opcode at address 0x4014B6F ==80521== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80521== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80521== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80521== by 0x4004266: main (tool_main.c:199) === End of file valgrind104 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_server.pid" --logfile "log/6/ftp_server.log" --logdir "log/6" --portfile "log/6/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36077 (log/6/server/ftp_server.port) RUN: FTP server is PID 80241 port 36077 * pid ftp => 80241 80241 test 0105...[FTP user+password in URL and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=meCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind106 ../src/curl -q --output log/7/curl106.out --include --trace-ascii log/7/trace106 --trace-time "ftp://127.0.0.1:37495//path%20with%20%20spaces//and%20things2/106;type=A" > log/7/stdout106 2> log/7/stderr106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind107 ../src/curl -q --output log/5/curl107.out --include --trace-ascii log/5/trace107 --trace-time ftp://127.0.0.1:32907/107 -T log/5/test107.txt > log/5/stdout107 2> log/5/stderr107 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind108 ../src/curl -q --output log/19/curl108.out --include --trace-ascii log/19/trace108 --trace-time ftp://127.0.0.1:46729/CWD/STOR/RETR/108 -T log/19/upload108 -P - > log/19/stdout108 2> log/19/stderr108 mcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind105 ../src/curl -q --output log/6/curl105.out --include --trace-ascii log/6/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:36077/105 --use-ascii > log/6/stdout105 2> log/6/stderr105 105: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind105 ../src/curl -q --output log/6/curl105.out --include --trace-ascii log/6/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:36077/105 --use-ascii > log/6/stdout105 2> log/6/stderr105 === End of file commands.log === Start of file ftp_server.log 14:53:18.964781 FTP server listens on port IPv4/36077 14:53:18.964989 logged pid 80241 in log/6/server/ftp_server.pid 14:53:18.965023 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.047137 Running IPv4 version 14:53:18.047193 Listening on port 36077 14:53:18.047231 Wrote pid 80251 to log/6/server/ftp_sockctrl.pid 14:53:18.047260 Wrote port 36077 to log/6/server/ftp_server.port 14:53:18.047475 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 105 === End of file server.cmd === Start of file valgrind105 ==80590== ==80590== Process terminating with default action of signal 4 (SIGILL) ==80590== Illegal opcode at address 0x4014B6F ==80590== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80590== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80590== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80590== by 0x4004266: main (tool_main.c:199) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37495 (log/7/server/ftp_server.port) RUN: FTP server is PID 80245 port 37495 * pid ftp => 80245 80245 test 0106...[FTP GET with type=A style ASCII URL using %20 codes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind106 ../src/curl -q --output log/7/curl106.out --include --trace-ascii log/7/trace106 --trace-time "ftp://127.0.0.1:37495//path%20with%20%20spaces//and%20things2/106;type=A" > log/7/stdout106 2> log/7/stderr106 106: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind106 ../src/curl -q --output log/7/curl106.out --include --trace-ascii log/7/trace106 --trace-time "ftp://127.0.0.1:37495//path%20with%20%20spaces//and%20things2/106;type=A" > log/7/stdout106 2> log/7/stderr106 === End of file commands.log === Start of file ftp_server.log 14:53:18.964480 FTP server listens on port IPv4/37495 14:53:18.964561 logged pid 80245 in log/7/server/ftp_server.pid 14:53:18.964585 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:18.047080 Running IPv4 version 14:53:18.047144 Listening on port 37495 14:53:18.047173 Wrote pid 80250 to log/7/server/ftp_sockctrl.pid 14:53:18.047195 Wrote port 37495 to log/7/server/ftp_server.port 14:53:18.047211 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 106 === End of file server.cmd === Start of file valgrind106 ==80599== ==80599== Process terminating with default action of signal 4 (SIGILL) ==80599== Illegal opcode at address 0x4014B6F ==80599== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80599== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80599== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80599== by 0x4004266: main (tool_main.c:199) === End of file valgrind106 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_server.pid" --logfile "log/5/ftp_server.log" --logdir "log/5" --portfile "log/5/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32907 (log/5/server/ftp_server.port) RUN: FTP server is PID 80255 port 32907 * pid ftp => 80255 80255 test 0107...[FTP PASV upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind107 ../src/curl -q --output log/5/curl107.out --include --trace-ascii log/5/trace107 --trace-time ftp://127.0.0.1:32907/107 -T log/5/test107.txt > log/5/stdout107 2> log/5/stderr107 107: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind107 ../src/curl -q --output log/5/curl107.out --include --trace-ascii log/5/trace107 --trace-time ftp://127.0.0.1:32907/107 -T log/5/test107.txt > log/5/stdout107 2> log/5/stderr107 === End of file commands.log === Start of file ftp_server.log 14:53:19.084891 FTP server listens on port IPv4/32907 14:53:19.084967 logged pid 80255 in log/5/server/ftp_server.pid 14:53:19.084991 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.167488 Running IPv4 version 14:53:19.167540 Listening on port 32907 14:53:19.167573 Wrote pid 80260 to log/5/server/ftp_sockctrl.pid 14:53:19.167601 Wrote port 32907 to log/5/server/ftp_server.port 14:53:19.167619 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 107 === End of file server.cmd === Start of file test107.txt data to see that FTP works so does it? === End of file test107.txt === Start of file valgrind107 ==80693== ==80693== Process terminating with default action of signal 4 (SIGILL) ==80693== Illegal opcode at address 0x4014B6F ==80693== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80693== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80693== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80693== by 0x4004266: main (tool_main.c:199) === End of file valgrind107 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_server.pid" --logfile "log/19/ftp_server.log" --logdir "log/19" --portfile "log/19/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46729 (log/19/server/ftp_server.port) RUN: FTP server is PID 80256 port 46729 * pid ftp => 80256 80256 test 0108...[FTP PORT upload with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind108 ../src/curl -q --output log/19/curl108.out --include --trace-ascii log/19/trace108 --trace-time ftp://127.0.0.1:46729/CWD/STOR/RETR/108 -T log/19/upload108 -P - > log/19/stdout108 2> log/19/stderr108 108: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind109 ../src/curl -q --output log/9/curl109.out --include --trace-ascii log/9/trace109 --trace-time ftp://127.0.0.1:37027/109 -T log/9/upload109 --append > log/9/stdout109 2> log/9/stderr109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind110 ../src/curl -q --output log/24/curl110.out --include --trace-ascii log/24/trace110 --trace-time ftp://127.0.0.1:42919/110 -C 20 > log/24/stdout110 2> log/24/stderr110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind111 ../src/curl -q --output log/15/curl111.out --include --trace-ascii log/15/trace111 --trace-time ftp://127.0.0.1:44241/111 -C 2000 > log/15/stdout111 2> log/15/stderr111 ailure? Returned: 132 == Contents of files in the log/19/ dir after test 108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind108 ../src/curl -q --output log/19/curl108.out --include --trace-ascii log/19/trace108 --trace-time ftp://127.0.0.1:46729/CWD/STOR/RETR/108 -T log/19/upload108 -P - > log/19/stdout108 2> log/19/stderr108 === End of file commands.log === Start of file ftp_server.log 14:53:19.080444 FTP server listens on port IPv4/46729 14:53:19.080547 logged pid 80256 in log/19/server/ftp_server.pid 14:53:19.080578 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.162893 Running IPv4 version 14:53:19.162969 Listening on port 46729 14:53:19.163017 Wrote pid 80259 to log/19/server/ftp_sockctrl.pid 14:53:19.163047 Wrote port 46729 to log/19/server/ftp_server.port 14:53:19.163154 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 108 === End of file server.cmd === Start of file upload108 Moooooooooooo upload this === End of file upload108 === Start of file valgrind108 ==80701== ==80701== Process terminating with default action of signal 4 (SIGILL) ==80701== Illegal opcode at address 0x4014B6F ==80701== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80701== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80701== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80701== by 0x4004266: main (tool_main.c:199) === End of file valgrind108 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_server.pid" --logfile "log/9/ftp_server.log" --logdir "log/9" --portfile "log/9/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37027 (log/9/server/ftp_server.port) RUN: FTP server is PID 80262 port 37027 * pid ftp => 80262 80262 test 0109...[FTP PASV upload append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind109 ../src/curl -q --output log/9/curl109.out --include --trace-ascii log/9/trace109 --trace-time ftp://127.0.0.1:37027/109 -T log/9/upload109 --append > log/9/stdout109 2> log/9/stderr109 109: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind109 ../src/curl -q --output log/9/curl109.out --include --trace-ascii log/9/trace109 --trace-time ftp://127.0.0.1:37027/109 -T log/9/upload109 --append > log/9/stdout109 2> log/9/stderr109 === End of file commands.log === Start of file ftp_server.log 14:53:19.129925 FTP server listens on port IPv4/37027 14:53:19.129985 logged pid 80262 in log/9/server/ftp_server.pid 14:53:19.130004 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.212349 Running IPv4 version 14:53:19.212409 Listening on port 37027 14:53:19.212514 Wrote pid 80265 to log/9/server/ftp_sockctrl.pid 14:53:19.212545 Wrote port 37027 to log/9/server/ftp_server.port 14:53:19.212667 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 109 === End of file server.cmd === Start of file upload109 Moooooooooooo upload this === End of file upload109 === Start of file valgrind109 ==80796== ==80796== Process terminating with default action of signal 4 (SIGILL) ==80796== Illegal opcode at address 0x4014B6F ==80796== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80796== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80796== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80796== by 0x4004266: main (tool_main.c:199) === End of file valgrind109 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_server.pid" --logfile "log/24/ftp_server.log" --logdir "log/24" --portfile "log/24/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42919 (log/24/server/ftp_server.port) RUN: FTP server is PID 80263 port 42919 * pid ftp => 80263 80263 test 0110...[FTP download resume with set limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind110 ../src/curl -q --output log/24/curl110.out --include --trace-ascii log/24/trace110 --trace-time ftp://127.0.0.1:42919/110 -C 20 > log/24/stdout110 2> log/24/stderr110 110: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind110 ../src/curl -q --output log/24/curl110.out --include --trace-ascii log/24/trace110 --trace-time ftp://127.0.0.1:42919/110 -C 20 > log/24/stdout110 2> log/24/stderr110 === End of file commands.log === Start of file ftp_server.log 14:53:19.130084 FTP server listens on port IPv4/42919 14:53:19.130143 logged pid 80263 in log/24/server/ftp_server.pid 14:53:19.130164 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.212349 Running IPv4 version 14:53:19.212409 Listening on port 42919 14:53:19.212452 Wrote pid 80264 to log/24/server/ftp_sockctrl.pid 14:53:19.212476 Wrote port 42919 to log/24/server/ftp_server.port 14:53:19.212827 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 110 === End of file server.cmd === Start of file valgrind110 ==80797== ==80797== Process terminating with default action of signal 4 (SIGILL) ==80797== Illegal opcode at address 0x4014B6F ==80797== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80797== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80797== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80797== by 0x4004266: main (tool_main.c:199) === End of file valgrind110 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_server.pid" --logfile "log/15/ftp_server.log" --logdir "log/15" --portfile "log/15/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44241 (log/15/server/ftp_server.port) RUN: FTP server is PID 80266 port 44241 * pid ftp => 80266 80266 test 0111...[FTP download resume beyond file size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind111 ../src/curl -q --output log/15/curl111.out --include --trace-ascii log/15/trace111 --trace-time ftp://127.0.0.1:44241/111 -C 2000 > log/15/stdout111 2> log/15/stderr111 111: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind111 ../src/curl -q --output log/15/curl111.out --include --trace-ascii log/15/trace111 --trace-time ftp://127.0.0.1:44241/111 -C 2000 > log/15/stdout111 2> log/15CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind114 ../src/curl -q --output log/21/curl114.out --include --trace-ascii log/21/trace114 --trace-time ftp://127.0.0.1:43281/114 > log/21/stdout114 2> log/21/stderr114 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:45969/113 > log/22/stdout113 2> log/22/stderr113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind112 ../src/curl -q --output log/8/curl112.out --include --trace-ascii log/8/trace112 --trace-time ftp://127.0.0.1:37557/112 -T log/8/upload112 -C 40 > log/8/stdout112 2> log/8/stderr112 /stderr111 === End of file commands.log === Start of file ftp_server.log 14:53:19.177519 FTP server listens on port IPv4/44241 14:53:19.177581 logged pid 80266 in log/15/server/ftp_server.pid 14:53:19.177599 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.260131 Running IPv4 version 14:53:19.260193 Listening on port 44241 14:53:19.260221 Wrote pid 80271 to log/15/server/ftp_sockctrl.pid 14:53:19.260243 Wrote port 44241 to log/15/server/ftp_server.port 14:53:19.260258 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 111 === End of file server.cmd === Start of file valgrind111 ==80897== ==80897== Process terminating with default action of signal 4 (SIGILL) ==80897== Illegal opcode at address 0x4014B6F ==80897== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80897== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80897== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80897== by 0x4004266: main (tool_main.c:199) === End of file valgrind111 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_server.pid" --logfile "log/21/ftp_server.log" --logdir "log/21" --portfile "log/21/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43281 (log/21/server/ftp_server.port) RUN: FTP server is PID 80269 port 43281 * pid ftp => 80269 80269 test 0114...[FTP download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind114 ../src/curl -q --output log/21/curl114.out --include --trace-ascii log/21/trace114 --trace-time ftp://127.0.0.1:43281/114 > log/21/stdout114 2> log/21/stderr114 114: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind114 ../src/curl -q --output log/21/curl114.out --include --trace-ascii log/21/trace114 --trace-time ftp://127.0.0.1:43281/114 > log/21/stdout114 2> log/21/stderr114 === End of file commands.log === Start of file ftp_server.log 14:53:19.190063 FTP server listens on port IPv4/43281 14:53:19.190127 logged pid 80269 in log/21/server/ftp_server.pid 14:53:19.190148 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.272687 Running IPv4 version 14:53:19.272730 Listening on port 43281 14:53:19.272761 Wrote pid 80274 to log/21/server/ftp_sockctrl.pid 14:53:19.272783 Wrote port 43281 to log/21/server/ftp_server.port 14:53:19.272797 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 114 === End of file server.cmd === Start of file valgrind114 ==80942== ==80942== Process terminating with default action of signal 4 (SIGILL) ==80942== Illegal opcode at address 0x4014B6F ==80942== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80942== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80942== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80942== by 0x4004266: main (tool_main.c:199) === End of file valgrind114 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_server.pid" --logfile "log/22/ftp_server.log" --logdir "log/22" --portfile "log/22/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45969 (log/22/server/ftp_server.port) RUN: FTP server is PID 80268 port 45969 * pid ftp => 80268 80268 test 0113...[FTP download, failed login: USER not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:45969/113 > log/22/stdout113 2> log/22/stderr113 113: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:45969/113 > log/22/stdout113 2> log/22/stderr113 === End of file commands.log === Start of file ftp_server.log 14:53:19.187638 FTP server listens on port IPv4/45969 14:53:19.187699 logged pid 80268 in log/22/server/ftp_server.pid 14:53:19.187717 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.270277 Running IPv4 version 14:53:19.270320 Listening on port 45969 14:53:19.270347 Wrote pid 80273 to log/22/server/ftp_sockctrl.pid 14:53:19.270368 Wrote port 45969 to log/22/server/ftp_server.port 14:53:19.270383 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY USER 314 bluah you fewl Testnum 113 === End of file server.cmd === Start of file valgrind113 ==80923== ==80923== Process terminating with default action of signal 4 (SIGILL) ==80923== Illegal opcode at address 0x4014B6F ==80923== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80923== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80923== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80923== by 0x4004266: main (tool_main.c:199) === End of file valgrind113 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/ftp_server.pid" --logfile "log/8/ftp_server.log" --logdir "log/8" --portfile "log/8/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37557 (log/8/server/ftp_server.port) RUN: FTP server is PID 80267 port 37557 * pid ftp => 80267 80267 test 0112...[FTP PASV upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind112 ../src/curl -q --output log/8/curl112.out --include --trace-ascii log/8/trace112 --trace-time ftp://127.0.0.1:37557/112 -T log/8/upload112 -C 40 > log/8/stdout112 2> log/8/stderr112 112: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 112 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind112 ../src/curl -q --output log/8/curl112.out --include --trace-ascii log/8/trace112 --trace-time ftp://127.0.0.1:37557/112 -T log/8/upload112 -C 40 > log/8/stdout112 2> log/8/stderr112 === End of file commands.log === Start of file ftp_server.log 14:53:19.178904 FTP server listens on port IPv4/37557 14:53:19.178973 logged pid 80267 in log/8/server/ftp_server.pid 14:53:19.178995 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.261526 Running IPv4 version 14:53:19.261566 Listening on port 37557 14:53:19.261594 Wrote pid 80272 to log/8/server/ftp_sockctrl.pid 14:53:19.261615 Wrote port 37557 to log/8/server/ftp_server.port 14:53:19.261629 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 112 === End of file serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind115 ../src/curl -q --output log/10/curl115.out --include --trace-ascii log/10/trace115 --trace-time ftp://127.0.0.1:42691/115 > log/10/stdout115 2> log/10/stderr115 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind116 ../src/curl -q --output log/3/curl116.out --include --trace-ascii log/3/trace116 --trace-time ftp://127.0.0.1:37155/116 -P 1.2.3.4 > log/3/stdout116 2> log/3/stderr116 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind117 ../src/curl -q --output log/17/curl117.out --include --trace-ascii log/17/trace117 --trace-time ftp://127.0.0.1:44851/117 > log/17/stdout117 2> log/17/stderr117 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind118 ../src/curl -q --output log/23/curl118.out --include --trace-ascii log/23/trace118 --trace-time ftp://127.0.0.1:39001/118 > log/23/stdout118 2> log/23/stderr118 ver.cmd === Start of file upload112 this is the *****crap******** that we're gonna upload worx? === End of file upload112 === Start of file valgrind112 ==80907== ==80907== Process terminating with default action of signal 4 (SIGILL) ==80907== Illegal opcode at address 0x4014B6F ==80907== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==80907== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==80907== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==80907== by 0x4004266: main (tool_main.c:199) === End of file valgrind112 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/ftp_server.pid" --logfile "log/10/ftp_server.log" --logdir "log/10" --portfile "log/10/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42691 (log/10/server/ftp_server.port) RUN: FTP server is PID 80280 port 42691 * pid ftp => 80280 80280 test 0115...[FTP download, failed PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind115 ../src/curl -q --output log/10/curl115.out --include --trace-ascii log/10/trace115 --trace-time ftp://127.0.0.1:42691/115 > log/10/stdout115 2> log/10/stderr115 115: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind115 ../src/curl -q --output log/10/curl115.out --include --trace-ascii log/10/trace115 --trace-time ftp://127.0.0.1:42691/115 > log/10/stdout115 2> log/10/stderr115 === End of file commands.log === Start of file ftp_server.log 14:53:19.291084 FTP server listens on port IPv4/42691 14:53:19.291145 logged pid 80280 in log/10/server/ftp_server.pid 14:53:19.291167 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.373699 Running IPv4 version 14:53:19.373750 Listening on port 42691 14:53:19.373777 Wrote pid 80282 to log/10/server/ftp_sockctrl.pid 14:53:19.373799 Wrote port 42691 to log/10/server/ftp_server.port 14:53:19.373813 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASV 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 115 === End of file server.cmd === Start of file valgrind115 ==81104== ==81104== Process terminating with default action of signal 4 (SIGILL) ==81104== Illegal opcode at address 0x4014B6F ==81104== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81104== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81104== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81104== by 0x4004266: main (tool_main.c:199) === End of file valgrind115 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_server.pid" --logfile "log/3/ftp_server.log" --logdir "log/3" --portfile "log/3/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37155 (log/3/server/ftp_server.port) RUN: FTP server is PID 80281 port 37155 * pid ftp => 80281 80281 test 0116...[FTP download, failed PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind116 ../src/curl -q --output log/3/curl116.out --include --trace-ascii log/3/trace116 --trace-time ftp://127.0.0.1:37155/116 -P 1.2.3.4 > log/3/stdout116 2> log/3/stderr116 116: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind116 ../src/curl -q --output log/3/curl116.out --include --trace-ascii log/3/trace116 --trace-time ftp://127.0.0.1:37155/116 -P 1.2.3.4 > log/3/stdout116 2> log/3/stderr116 === End of file commands.log === Start of file ftp_server.log 14:53:19.307571 FTP server listens on port IPv4/37155 14:53:19.307634 logged pid 80281 in log/3/server/ftp_server.pid 14:53:19.307655 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.390198 Running IPv4 version 14:53:19.390237 Listening on port 37155 14:53:19.390263 Wrote pid 80283 to log/3/server/ftp_sockctrl.pid 14:53:19.390290 Wrote port 37155 to log/3/server/ftp_server.port 14:53:19.390305 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now REPLY PORT 314 bluah you f00l Testnum 116 === End of file server.cmd === Start of file valgrind116 ==81133== ==81133== Process terminating with default action of signal 4 (SIGILL) ==81133== Illegal opcode at address 0x4014B6F ==81133== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81133== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81133== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81133== by 0x4004266: main (tool_main.c:199) === End of file valgrind116 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44851 (log/17/server/ftp_server.port) RUN: FTP server is PID 80286 port 44851 * pid ftp => 80286 80286 test 0117...[FTP download, failed TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind117 ../src/curl -q --output log/17/curl117.out --include --trace-ascii log/17/trace117 --trace-time ftp://127.0.0.1:44851/117 > log/17/stdout117 2> log/17/stderr117 117: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 117 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind117 ../src/curl -q --output log/17/curl117.out --include --trace-ascii log/17/trace117 --trace-time ftp://127.0.0.1:44851/117 > log/17/stdout117 2> log/17/stderr117 === End of file commands.log === Start of file ftp_server.log 14:53:19.414154 FTP server listens on port IPv4/44851 14:53:19.414217 logged pid 80286 in log/17/server/ftp_server.pid 14:53:19.414233 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.496771 Running IPv4 version 14:53:19.496828 Listening on port 44851 14:53:19.496856 Wrote pid 80288 to log/17/server/ftp_sockctrl.pid 14:53:19.496877 Wrote port 44851 to log/17/server/ftp_server.port 14:53:19.496894 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l REPLY TYPE 314 bluah you f00l Testnum 117 === End of file server.cmd === Start of file valgrind117 ==81226== ==81226== Process terminating with default action of signal 4 (SIGILL) ==81226== Illegal opcode at address 0x4014B6F ==81226== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81226== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81226== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81226== by 0x4004266: main (tool_main.c:199) === End of file valgrind117 stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind124 ../src/curl -q --output log/13/curl124.out --include --trace-ascii log/13/trace124 --trace-time ftp://127.0.0.1:36645/124 > log/13/stdout124 2> log/13/stderr124 artnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_server.pid" --logfile "log/23/ftp_server.log" --logdir "log/23" --portfile "log/23/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39001 (log/23/server/ftp_server.port) RUN: FTP server is PID 80287 port 39001 * pid ftp => 80287 80287 test 0118...[FTP download, failed RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind118 ../src/curl -q --output log/23/curl118.out --include --trace-ascii log/23/trace118 --trace-time ftp://127.0.0.1:39001/118 > log/23/stdout118 2> log/23/stderr118 118: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind118 ../src/curl -q --output log/23/curl118.out --include --trace-ascii log/23/trace118 --trace-time ftp://127.0.0.1:39001/118 > log/23/stdout118 2> log/23/stderr118 === End of file commands.log === Start of file ftp_server.log 14:53:19.415802 FTP server listens on port IPv4/39001 14:53:19.415858 logged pid 80287 in log/23/server/ftp_server.pid 14:53:19.415876 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.498422 Running IPv4 version 14:53:19.498470 Listening on port 39001 14:53:19.498501 Wrote pid 80289 to log/23/server/ftp_sockctrl.pid 14:53:19.498521 Wrote port 39001 to log/23/server/ftp_server.port 14:53:19.498536 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY EPSV 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 118 === End of file server.cmd === Start of file valgrind118 ==81230== ==81230== Process terminating with default action of signal 4 (SIGILL) ==81230== Illegal opcode at address 0x4014B6F ==81230== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81230== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81230== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81230== by 0x4004266: main (tool_main.c:199) === End of file valgrind118 test 0124...[FTP download, failed PWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind124 ../src/curl -q --output log/13/curl124.out --include --trace-ascii log/13/trace124 --trace-time ftp://127.0.0.1:36645/124 > log/13/stdout124 2> log/13/stderr124 124: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind124 ../src/curl -q --output log/13/curl124.out --include --trace-ascii log/13/trace124 --trace-time ftp://127.0.0.1:36645/124 > log/13/stdout124 2> log/13/stderr124 === End of file commands.log === Start of file ftp_server.log 14:53:20.397085 ====> Client connect 14:53:20.397288 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.397618 < "USER anonymous" 14:53:20.397653 > "331 We are happy you popped in![CR][LF]" 14:53:20.397831 < "PASS ftp@example.com" 14:53:20.397858 > "230 Welcome you silly person[CR][LF]" 14:53:20.398018 < "PWD" 14:53:20.398049 > "257 "/" is current directory[CR][LF]" 14:53:20.398216 < "EPSV" 14:53:20.398246 ====> Passive DATA channel requested by client 14:53:20.398261 DATA sockfilt for passive data channel starting... 14:53:20.400224 DATA sockfilt for passive data channel started (pid 81225) 14:53:20.400371 DATA sockfilt for passive data channel listens on port 36561 14:53:20.400420 > "229 Entering Passive Mode (|||36561|)[LF]" 14:53:20.400439 Client has been notified that DATA conn will be accepted on port 36561 14:53:20.400703 Client connects to port 36561 14:53:20.400746 ====> Client established passive DATA connection on port 36561 14:53:20.400823 < "TYPE I" 14:53:20.400855 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.401028 < "SIZE verifiedserver" 14:53:20.401060 > "213 17[CR][LF]" 14:53:20.401199 < "RETR verifiedserver" 14:53:20.401227 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.401312 =====> Closing passive DATA connection... 14:53:20.401329 Server disconnects passive DATA connection 14:53:20.401414 Server disconnected passive DATA connection 14:53:20.401434 DATA sockfilt for passive data channel quits (pid 81225) 14:53:20.401663 DATA sockfilt for passive data channel quit (pid 81225) 14:53:20.401696 =====> Closed passive DATA connection 14:53:20.401736 > "226 File transfer complete[CR][LF]" 14:53:20.447214 < "QUIT" 14:53:20.447276 > "221 bye bye baby[CR][LF]" 14:53:20.447601 MAIN sockfilt said DISC 14:53:20.447631 ====> Client disconnected 14:53:20.447714 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:20.479772 ====> Client connect 14:53:20.480120 Received DATA (on stdin) 14:53:20.480137 > 160 bytes data, server => client 14:53:20.480151 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:20.480164 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:20.480176 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:20.480272 < 16 bytes data, client => server 14:53:20.480286 'USER anonymous\r\n' 14:53:20.480476 Received DATA (on stdin) 14:53:20.480490 > 33 bytes data, server => client 14:53:20.480502 '331 We are happy you popped in!\r\n' 14:53:20.480555 < 22 bytes data, client => server 14:53:20.480568 'PASS ftp@example.com\r\n' 14:53:20.480676 Received DATA (on stdin) 14:53:20.480689 > 30 bytes data, server => client 14:53:20.480701 '230 Welcome you silly person\r\n' 14:53:20.480751 < 5 bytes data, client => server 14:53:20.480764 'PWD\r\n' 14:53:20.480868 Received DATA (on stdin) 14:53:20.480880 > 30 bytes data, server => client 14:53:20.480892 '257 "/" is current directory\r\n' 14:53:20.480951 < 6 bytes data, client => server 14:53:20.480963 'EPSV\r\n' 14:53:20.483266 Received DATA (on stdin) 14:53:20.483286 > 38 bytes data, server => client 14:53:20.483299 '229 Entering Passive Mode (|||36561|)\n' 14:53:20.483495 < 8 bytes data, client => server 14:53:20.483508 'TYPE I\r\n' 14:53:20.483677 Received DATA (on stdin) 14:53:20.483693 > 33 bytes data, server => client 14:53:20.483705 '200 I modify TYPE as you wanted\r\n' 14:53:20.483767 < 21 bytes data, client => server 14:53:20.483779 'SIZE verifiedserver\r\n' 14:53:20.483877 Received DATA (on stdin) 14:53:20.483888 > 8 bytes data, server => client 14:53:20.483898 '213 17\r\n' 14:53:20.483942 < 21 bytes data, client => server 14:53:20.483953 'RETR verifiedserver\r\n' 14:53:20.484140 Received DATA (on stdin) 14:53:20.484157 > 29 bytes data, server => client 14:53:20.484169 '150 Binary junk (17 bytes).\r\n' 14:53:20.484561 Received DATA (on stdin) 14:53:20.484575 > 28 bytes data, server => client 14:53:20.484588 '226 File transfer complete\r\n' 14:53:20.529830 < 6 bytes data, client => server 14:53:20.529865 'QUIT\r\n' 14:53:20.530101 Received DATA (on stdin) 14:53:20.530115 > 18 bytes data, server => client 14:53:20.530128 '221 bye bye baby\r\n' 14:53:20.530361 ====> Client disconnect 14:53:20.530535 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.482828 Running IPv4 version 14:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind119 ../src/curl -q --output log/20/curl119.out --include --trace-ascii log/20/trace119 --trace-time ftp://127.0.0.1:36903/119 -P - > log/20/stdout119 2> log/20/stderr119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind120 ../src/curl -q --output log/18/curl120.out --include --trace-ascii log/18/trace120 --trace-time ftp://127.0.0.1:41069/120 -Q "-DELE file" > log/18/stdout120 2> log/18/stderr120 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind121 ../src/curl -q --output log/11/curl121.out --include --trace-ascii log/11/trace121 --trace-time ftp://127.0.0.1:34519/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/11/stdout121 2> log/11/stderr121 3:20.482903 Listening on port 36561 14:53:20.482940 Wrote pid 81225 to log/13/server/ftp_sockdata.pid 14:53:20.482961 Received PING (on stdin) 14:53:20.483092 Received PORT (on stdin) 14:53:20.483467 ====> Client connect 14:53:20.484061 Received DATA (on stdin) 14:53:20.484076 > 17 bytes data, server => client 14:53:20.484087 'WE ROOLZ: 80108\r\n' 14:53:20.484159 Received DISC (on stdin) 14:53:20.484178 ====> Client forcibly disconnected 14:53:20.484255 Received QUIT (on stdin) 14:53:20.484265 quits 14:53:20.484321 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 124 === End of file server.cmd === Start of file valgrind124 ==81326== ==81326== Process terminating with default action of signal 4 (SIGILL) ==81326== Illegal opcode at address 0x4014B6F ==81326== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81326== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81326== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81326== by 0x4004266: main (tool_main.c:199) === End of file valgrind124 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_server.pid" --logfile "log/20/ftp_server.log" --logdir "log/20" --portfile "log/20/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36903 (log/20/server/ftp_server.port) RUN: FTP server is PID 80341 port 36903 * pid ftp => 80341 80341 test 0119...[FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind119 ../src/curl -q --output log/20/curl119.out --include --trace-ascii log/20/trace119 --trace-time ftp://127.0.0.1:36903/119 -P - > log/20/stdout119 2> log/20/stderr119 119: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 119 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind119 ../src/curl -q --output log/20/curl119.out --include --trace-ascii log/20/trace119 --trace-time ftp://127.0.0.1:36903/119 -P - > log/20/stdout119 2> log/20/stderr119 === End of file commands.log === Start of file ftp_server.log 14:53:19.554213 FTP server listens on port IPv4/36903 14:53:19.554275 logged pid 80341 in log/20/server/ftp_server.pid 14:53:19.554297 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.636739 Running IPv4 version 14:53:19.636785 Listening on port 36903 14:53:19.636812 Wrote pid 80343 to log/20/server/ftp_sockctrl.pid 14:53:19.636833 Wrote port 36903 to log/20/server/ftp_server.port 14:53:19.636956 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 119 === End of file server.cmd === Start of file valgrind119 ==81379== ==81379== Process terminating with default action of signal 4 (SIGILL) ==81379== Illegal opcode at address 0x4014B6F ==81379== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81379== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81379== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81379== by 0x4004266: main (tool_main.c:199) === End of file valgrind119 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/ftp_server.pid" --logfile "log/18/ftp_server.log" --logdir "log/18" --portfile "log/18/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41069 (log/18/server/ftp_server.port) RUN: FTP server is PID 80342 port 41069 * pid ftp => 80342 80342 test 0120...[ftp download with post-quote delete operation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind120 ../src/curl -q --output log/18/curl120.out --include --trace-ascii log/18/trace120 --trace-time ftp://127.0.0.1:41069/120 -Q "-DELE file" > log/18/stdout120 2> log/18/stderr120 120: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind120 ../src/curl -q --output log/18/curl120.out --include --trace-ascii log/18/trace120 --trace-time ftp://127.0.0.1:41069/120 -Q "-DELE file" > log/18/stdout120 2> log/18/stderr120 === End of file commands.log === Start of file ftp_server.log 14:53:19.564993 FTP server listens on port IPv4/41069 14:53:19.565051 logged pid 80342 in log/18/server/ftp_server.pid 14:53:19.565072 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.647593 Running IPv4 version 14:53:19.647666 Listening on port 41069 14:53:19.647692 Wrote pid 80344 to log/18/server/ftp_sockctrl.pid 14:53:19.647712 Wrote port 41069 to log/18/server/ftp_server.port 14:53:19.647728 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==81393== ==81393== Process terminating with default action of signal 4 (SIGILL) ==81393== Illegal opcode at address 0x4014B6F ==81393== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81393== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81393== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81393== by 0x4004266: main (tool_main.c:199) === End of file valgrind120 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_server.pid" --logfile "log/11/ftp_server.log" --logdir "log/11" --portfile "log/11/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34519 (log/11/server/ftp_server.port) RUN: FTP server is PID 80346 port 34519 * pid ftp => 80346 80346 test 0121...[ftp download with post- and pre-transfer delete operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind121 ../src/curl -q --output log/11/curl121.out --include --trace-ascii log/11/trace121 --trace-time ftp://127.0.0.1:34519/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/11/stdout121 2> log/11/stderr121 121: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind121 ../src/curl -q --output log/11/curl121.out --include --trace-ascii log/11/trace121 --trace-time ftp://127.0.0.1:34519/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/11/stdout121 2> log/11/stderr121 === End of file commands.log === Start of file ftp_server.log 14:53:19.634664 FTP server listens on port IPv4/34519 14:53:19.634730 logged pid 80346 in log/11/server/ftp_server.pid 14:53:19.634748 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.717195 Running IPv4 version 14:53:19.717262 Listening on port 34519 14:53:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind125 ../src/curl -q --output log/1/curl125.out --include --trace-ascii log/1/trace125 --trace-time ftp://127.0.0.1:43113/path/to/file/125 > log/1/stdout125 2> log/1/stderr125 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:38141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 19.717288 Wrote pid 80347 to log/11/server/ftp_sockctrl.pid 14:53:19.717308 Wrote port 34519 to log/11/server/ftp_server.port 14:53:19.717414 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==81486== ==81486== Process terminating with default action of signal 4 (SIGILL) ==81486== Illegal opcode at address 0x4014B6F ==81486== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81486== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81486== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81486== by 0x4004266: main (tool_main.c:199) === End of file valgrind121 test 0125...[FTP download, failed CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind125 ../src/curl -q --output log/1/curl125.out --include --trace-ascii log/1/trace125 --trace-time ftp://127.0.0.1:43113/path/to/file/125 > log/1/stdout125 2> log/1/stderr125 125: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind125 ../src/curl -q --output log/1/curl125.out --include --trace-ascii log/1/trace125 --trace-time ftp://127.0.0.1:43113/path/to/file/125 > log/1/stdout125 2> log/1/stderr125 === End of file commands.log === Start of file ftp_server.log 14:53:20.660910 ====> Client connect 14:53:20.661118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.661468 < "USER anonymous" 14:53:20.661512 > "331 We are happy you popped in![CR][LF]" 14:53:20.661702 < "PASS ftp@example.com" 14:53:20.661734 > "230 Welcome you silly person[CR][LF]" 14:53:20.661894 < "PWD" 14:53:20.661935 > "257 "/" is current directory[CR][LF]" 14:53:20.662120 < "EPSV" 14:53:20.662151 ====> Passive DATA channel requested by client 14:53:20.662165 DATA sockfilt for passive data channel starting... 14:53:20.664311 DATA sockfilt for passive data channel started (pid 81567) 14:53:20.664453 DATA sockfilt for passive data channel listens on port 38697 14:53:20.664508 > "229 Entering Passive Mode (|||38697|)[LF]" 14:53:20.664529 Client has been notified that DATA conn will be accepted on port 38697 14:53:20.664803 Client connects to port 38697 14:53:20.664842 ====> Client established passive DATA connection on port 38697 14:53:20.664993 < "TYPE I" 14:53:20.665037 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.665224 < "SIZE verifiedserver" 14:53:20.665267 > "213 17[CR][LF]" 14:53:20.665436 < "RETR verifiedserver" 14:53:20.665471 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.665559 =====> Closing passive DATA connection... 14:53:20.665577 Server disconnects passive DATA connection 14:53:20.665831 Server disconnected passive DATA connection 14:53:20.665859 DATA sockfilt for passive data channel quits (pid 81567) 14:53:20.666120 DATA sockfilt for passive data channel quit (pid 81567) 14:53:20.666144 =====> Closed passive DATA connection 14:53:20.666179 > "226 File transfer complete[CR][LF]" 14:53:20.707164 < "QUIT" 14:53:20.707209 > "221 bye bye baby[CR][LF]" 14:53:20.708215 MAIN sockfilt said DISC 14:53:20.708244 ====> Client disconnected 14:53:20.708315 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.743620 ====> Client connect 14:53:19.743959 Received DATA (on stdin) 14:53:19.743980 > 160 bytes data, server => client 14:53:19.743994 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:19.744007 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:19.744019 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:19.744105 < 16 bytes data, client => server 14:53:19.744119 'USER anonymous\r\n' 14:53:19.744335 Received DATA (on stdin) 14:53:19.744349 > 33 bytes data, server => client 14:53:19.744362 '331 We are happy you popped in!\r\n' 14:53:19.744417 < 22 bytes data, client => server 14:53:19.744430 'PASS ftp@example.com\r\n' 14:53:19.744553 Received DATA (on stdin) 14:53:19.744565 > 30 bytes data, server => client 14:53:19.744577 '230 Welcome you silly person\r\n' 14:53:19.744626 < 5 bytes data, client => server 14:53:19.744640 'PWD\r\n' 14:53:19.744756 Received DATA (on stdin) 14:53:19.744771 > 30 bytes data, server => client 14:53:19.744784 '257 "/" is current directory\r\n' 14:53:19.744848 < 6 bytes data, client => server 14:53:19.744860 'EPSV\r\n' 14:53:19.747360 Received DATA (on stdin) 14:53:19.747379 > 38 bytes data, server => client 14:53:19.747392 '229 Entering Passive Mode (|||38697|)\n' 14:53:19.747683 < 8 bytes data, client => server 14:53:19.747700 'TYPE I\r\n' 14:53:19.747860 Received DATA (on stdin) 14:53:19.747875 > 33 bytes data, server => client 14:53:19.747888 '200 I modify TYPE as you wanted\r\n' 14:53:19.747949 < 21 bytes data, client => server 14:53:19.747963 'SIZE verifiedserver\r\n' 14:53:19.748088 Received DATA (on stdin) 14:53:19.748102 > 8 bytes data, server => client 14:53:19.748114 '213 17\r\n' 14:53:19.748165 < 21 bytes data, client => server 14:53:19.748178 'RETR verifiedserver\r\n' 14:53:19.748399 Received DATA (on stdin) 14:53:19.748413 > 29 bytes data, server => client 14:53:19.748425 '150 Binary junk (17 bytes).\r\n' 14:53:19.748999 Received DATA (on stdin) 14:53:19.749014 > 28 bytes data, server => client 14:53:19.749026 '226 File transfer complete\r\n' 14:53:19.789830 < 6 bytes data, client => server 14:53:19.789855 'QUIT\r\n' 14:53:19.790031 Received DATA (on stdin) 14:53:19.790044 > 18 bytes data, server => client 14:53:19.790055 '221 bye bye baby\r\n' 14:53:19.790975 ====> Client disconnect 14:53:19.791135 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.746766 Running IPv4 version 14:53:20.746844 Listening on port 38697 14:53:20.746887 Wrote pid 81567 to log/1/server/ftp_sockdata.pid 14:53:20.747067 Received PING (on stdin) 14:53:20.747173 Received PORT (on stdin) 14:53:20.747563 ====> Client connect 14:53:20.748452 Received DATA (on stdin) 14:53:20.748467 > 17 bytes data, server => client 14:53:20.748480 'WE ROOLZ: 80194\r\n' 14:53:20.748506 Received DISC (on stdin) 14:53:20.748519 ====> Client forcibly disconnected 14:53:20.748687 Received QUIT (on stdin) 14:53:20.748701 quits 14:53:20.748763 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 314 bluah you f00l Testnum 125 === End of file server.cmd === Start of file valgrind125 ==81605== ==81605== Process terminating with default action of signal 4 (SIGILL) ==81605== Illegal opcode at address 0x4014B6F ==81605== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81605== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81605== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81605== by 0x4004266: main (tool_main.c:199) === End of file valgrind125 test 0127...[FTP --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:38141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 127: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind126 ../src/curl -q --output log/16/curl126.out --include --trace-ascii log/16/trace126 --trace-time ftp://127.0.0.1:32915/blalbla/lululul/126 > log/16/stdout126 2> log/16/stderr126 yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:38141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 === End of file commands.log === Start of file ftp_server.log 14:53:20.667975 ====> Client connect 14:53:20.668132 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.668398 < "USER anonymous" 14:53:20.668432 > "331 We are happy you popped in![CR][LF]" 14:53:20.668588 < "PASS ftp@example.com" 14:53:20.668612 > "230 Welcome you silly person[CR][LF]" 14:53:20.668753 < "PWD" 14:53:20.668781 > "257 "/" is current directory[CR][LF]" 14:53:20.668928 < "EPSV" 14:53:20.668952 ====> Passive DATA channel requested by client 14:53:20.668964 DATA sockfilt for passive data channel starting... 14:53:20.670734 DATA sockfilt for passive data channel started (pid 81577) 14:53:20.670833 DATA sockfilt for passive data channel listens on port 44597 14:53:20.670871 > "229 Entering Passive Mode (|||44597|)[LF]" 14:53:20.670885 Client has been notified that DATA conn will be accepted on port 44597 14:53:20.671054 Client connects to port 44597 14:53:20.671080 ====> Client established passive DATA connection on port 44597 14:53:20.671183 < "TYPE I" 14:53:20.671209 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.671348 < "SIZE verifiedserver" 14:53:20.671380 > "213 17[CR][LF]" 14:53:20.671516 < "RETR verifiedserver" 14:53:20.671547 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.671622 =====> Closing passive DATA connection... 14:53:20.671636 Server disconnects passive DATA connection 14:53:20.671844 Server disconnected passive DATA connection 14:53:20.671868 DATA sockfilt for passive data channel quits (pid 81577) 14:53:20.672061 DATA sockfilt for passive data channel quit (pid 81577) 14:53:20.672082 =====> Closed passive DATA connection 14:53:20.672112 > "226 File transfer complete[CR][LF]" 14:53:20.713886 < "QUIT" 14:53:20.713938 > "221 bye bye baby[CR][LF]" 14:53:20.714878 MAIN sockfilt said DISC 14:53:20.714904 ====> Client disconnected 14:53:20.714959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.750699 ====> Client connect 14:53:19.750958 Received DATA (on stdin) 14:53:19.750972 > 160 bytes data, server => client 14:53:19.750984 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:19.750994 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:19.751004 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:19.751068 < 16 bytes data, client => server 14:53:19.751080 'USER anonymous\r\n' 14:53:19.751251 Received DATA (on stdin) 14:53:19.751263 > 33 bytes data, server => client 14:53:19.751274 '331 We are happy you popped in!\r\n' 14:53:19.751321 < 22 bytes data, client => server 14:53:19.751332 'PASS ftp@example.com\r\n' 14:53:19.751428 Received DATA (on stdin) 14:53:19.751439 > 30 bytes data, server => client 14:53:19.751450 '230 Welcome you silly person\r\n' 14:53:19.751493 < 5 bytes data, client => server 14:53:19.751504 'PWD\r\n' 14:53:19.751597 Received DATA (on stdin) 14:53:19.751607 > 30 bytes data, server => client 14:53:19.751618 '257 "/" is current directory\r\n' 14:53:19.751668 < 6 bytes data, client => server 14:53:19.751678 'EPSV\r\n' 14:53:19.753707 Received DATA (on stdin) 14:53:19.753720 > 38 bytes data, server => client 14:53:19.753731 '229 Entering Passive Mode (|||44597|)\n' 14:53:19.753912 < 8 bytes data, client => server 14:53:19.753924 'TYPE I\r\n' 14:53:19.754024 Received DATA (on stdin) 14:53:19.754035 > 33 bytes data, server => client 14:53:19.754045 '200 I modify TYPE as you wanted\r\n' 14:53:19.754089 < 21 bytes data, client => server 14:53:19.754100 'SIZE verifiedserver\r\n' 14:53:19.754195 Received DATA (on stdin) 14:53:19.754206 > 8 bytes data, server => client 14:53:19.754216 '213 17\r\n' 14:53:19.754258 < 21 bytes data, client => server 14:53:19.754269 'RETR verifiedserver\r\n' 14:53:19.754456 Received DATA (on stdin) 14:53:19.754467 > 29 bytes data, server => client 14:53:19.754477 '150 Binary junk (17 bytes).\r\n' 14:53:19.754930 Received DATA (on stdin) 14:53:19.754943 > 28 bytes data, server => client 14:53:19.754954 '226 File transfer complete\r\n' 14:53:19.796448 < 6 bytes data, client => server 14:53:19.796472 'QUIT\r\n' 14:53:19.796759 Received DATA (on stdin) 14:53:19.796773 > 18 bytes data, server => client 14:53:19.796784 '221 bye bye baby\r\n' 14:53:19.797641 ====> Client disconnect 14:53:19.797775 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.753278 Running IPv4 version 14:53:20.753329 Listening on port 44597 14:53:20.753362 Wrote pid 81577 to log/12/server/ftp_sockdata.pid 14:53:20.753502 Received PING (on stdin) 14:53:20.753577 Received PORT (on stdin) 14:53:20.753827 ====> Client connect 14:53:20.754499 Received DATA (on stdin) 14:53:20.754511 > 17 bytes data, server => client 14:53:20.754522 'WE ROOLZ: 80195\r\n' 14:53:20.754542 Received DISC (on stdin) 14:53:20.754553 ====> Client forcibly disconnected 14:53:20.754691 Received QUIT (on stdin) 14:53:20.754701 quits 14:53:20.754748 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==81620== ==81620== Process terminating with default action of signal 4 (SIGILL) ==81620== Illegal opcode at address 0x4014B6F ==81620== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81620== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81620== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81620== by 0x4004266: main (tool_main.c:199) === End of file valgrind127 test 0126...[FTP download with multiple replies at once in RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind126 ../src/curl -q --output log/16/curl126.out --include --trace-ascii log/16/trace126 --trace-time ftp://127.0.0.1:32915/blalbla/lululul/126 > log/16/stdout126 2> log/16/stderr126 126: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind126 ../src/curl -q --output log/16/curl126.out --include --trace-ascii log/16/trace126 --trace-time ftp://127.0.0.1:32915/blalbla/lululul/126 > log/16/stdout126 2> log/16/stderr126 === End of file commands.log === Start of file ftp_server.log 14:53:20.661193 ====> Client connect 14:53:20.661358 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.661658 < "USER anonymous" 14:53:20.661691 > "331 We are happy you popped in![CR][LF]" 14:53:20.661871 < "PASS ftp@example.com" 14:53:20.661900 > "230 Welcome you silly person[CR][LF]" 14:53:20.662069 < "PWD" 14:53:20.662104 > "257 "/" is current directory[CR][LF]" 14:53:20.662275 < "EPSV" 14:53:20.662303 ====> Passive DATA channel requested by client 14:53:20.662318 DATA sockfilt for passive data channel starting... 14:53:20.664325 DATA sockfilt for passive data channel started (pid 81569) 14:53:20.664434 DATA sockfilt for passive data channel listens on port 38755 14:53:20.664477 > "229 Entering Passive Mode (|||38755|)[LF]" 14:53:20.664494 Client has been notified that DATA conn will be accepted on port 38755 14:53:20.664696 Client connects to port 38755 14:53:20.6647CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind122 ../src/curl -q --output log/14/curl122.out --include --trace-ascii log/14/trace122 --trace-time ftp://127.0.0.1:37705/122 -C 5 > log/14/stdout122 2> log/14/stderr122 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:45597/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 27 ====> Client established passive DATA connection on port 38755 14:53:20.664855 < "TYPE I" 14:53:20.664885 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.665053 < "SIZE verifiedserver" 14:53:20.665094 > "213 17[CR][LF]" 14:53:20.665255 < "RETR verifiedserver" 14:53:20.665287 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.665370 =====> Closing passive DATA connection... 14:53:20.665388 Server disconnects passive DATA connection 14:53:20.665632 Server disconnected passive DATA connection 14:53:20.665661 DATA sockfilt for passive data channel quits (pid 81569) 14:53:20.665881 DATA sockfilt for passive data channel quit (pid 81569) 14:53:20.665905 =====> Closed passive DATA connection 14:53:20.665938 > "226 File transfer complete[CR][LF]" 14:53:20.708539 < "QUIT" 14:53:20.708588 > "221 bye bye baby[CR][LF]" 14:53:20.709038 MAIN sockfilt said DISC 14:53:20.709067 ====> Client disconnected 14:53:20.709192 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:20.743914 ====> Client connect 14:53:20.744189 Received DATA (on stdin) 14:53:20.744205 > 160 bytes data, server => client 14:53:20.744218 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:20.744230 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:20.744242 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:20.744311 < 16 bytes data, client => server 14:53:20.744326 'USER anonymous\r\n' 14:53:20.744513 Received DATA (on stdin) 14:53:20.744527 > 33 bytes data, server => client 14:53:20.744540 '331 We are happy you popped in!\r\n' 14:53:20.744592 < 22 bytes data, client => server 14:53:20.744606 'PASS ftp@example.com\r\n' 14:53:20.744719 Received DATA (on stdin) 14:53:20.744734 > 30 bytes data, server => client 14:53:20.744746 '230 Welcome you silly person\r\n' 14:53:20.744799 < 5 bytes data, client => server 14:53:20.744811 'PWD\r\n' 14:53:20.744925 Received DATA (on stdin) 14:53:20.744938 > 30 bytes data, server => client 14:53:20.744950 '257 "/" is current directory\r\n' 14:53:20.745007 < 6 bytes data, client => server 14:53:20.745019 'EPSV\r\n' 14:53:20.747319 Received DATA (on stdin) 14:53:20.747334 > 38 bytes data, server => client 14:53:20.747348 '229 Entering Passive Mode (|||38755|)\n' 14:53:20.747567 < 8 bytes data, client => server 14:53:20.747582 'TYPE I\r\n' 14:53:20.747705 Received DATA (on stdin) 14:53:20.747718 > 33 bytes data, server => client 14:53:20.747730 '200 I modify TYPE as you wanted\r\n' 14:53:20.747781 < 21 bytes data, client => server 14:53:20.747794 'SIZE verifiedserver\r\n' 14:53:20.747913 Received DATA (on stdin) 14:53:20.747926 > 8 bytes data, server => client 14:53:20.747937 '213 17\r\n' 14:53:20.747986 < 21 bytes data, client => server 14:53:20.747999 'RETR verifiedserver\r\n' 14:53:20.748208 Received DATA (on stdin) 14:53:20.748221 > 29 bytes data, server => client 14:53:20.748234 '150 Binary junk (17 bytes).\r\n' 14:53:20.748758 Received DATA (on stdin) 14:53:20.748773 > 28 bytes data, server => client 14:53:20.748786 '226 File transfer complete\r\n' 14:53:20.789822 < 6 bytes data, client => server 14:53:20.789853 'QUIT\r\n' 14:53:20.791414 Received DATA (on stdin) 14:53:20.791433 > 18 bytes data, server => client 14:53:20.791444 '221 bye bye baby\r\n' 14:53:20.791784 ====> Client disconnect 14:53:20.791913 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.746839 Running IPv4 version 14:53:20.746898 Listening on port 38755 14:53:20.746936 Wrote pid 81569 to log/16/server/ftp_sockdata.pid 14:53:20.747088 Received PING (on stdin) 14:53:20.747172 Received PORT (on stdin) 14:53:20.747464 ====> Client connect 14:53:20.748260 Received DATA (on stdin) 14:53:20.748275 > 17 bytes data, server => client 14:53:20.748287 'WE ROOLZ: 80177\r\n' 14:53:20.748311 Received DISC (on stdin) 14:53:20.748323 ====> Client forcibly disconnected 14:53:20.748488 Received QUIT (on stdin) 14:53:20.748502 quits 14:53:20.748566 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRWEIRDO Testnum 126 === End of file server.cmd === Start of file valgrind126 ==81606== ==81606== Process terminating with default action of signal 4 (SIGILL) ==81606== Illegal opcode at address 0x4014B6F ==81606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81606== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81606== by 0x4004266: main (tool_main.c:199) === End of file valgrind126 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/ftp_server.pid" --logfile "log/14/ftp_server.log" --logdir "log/14" --portfile "log/14/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37705 (log/14/server/ftp_server.port) RUN: FTP server is PID 80387 port 37705 * pid ftp => 80387 80387 test 0122...[FTP download resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind122 ../src/curl -q --output log/14/curl122.out --include --trace-ascii log/14/trace122 --trace-time ftp://127.0.0.1:37705/122 -C 5 > log/14/stdout122 2> log/14/stderr122 122: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind122 ../src/curl -q --output log/14/curl122.out --include --trace-ascii log/14/trace122 --trace-time ftp://127.0.0.1:37705/122 -C 5 > log/14/stdout122 2> log/14/stderr122 === End of file commands.log === Start of file ftp_server.log 14:53:19.755327 FTP server listens on port IPv4/37705 14:53:19.755390 logged pid 80387 in log/14/server/ftp_server.pid 14:53:19.755410 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.837841 Running IPv4 version 14:53:19.837883 Listening on port 37705 14:53:19.837911 Wrote pid 80396 to log/14/server/ftp_sockctrl.pid 14:53:19.837932 Wrote port 37705 to log/14/server/ftp_server.port 14:53:19.838070 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==81682== ==81682== Process terminating with default action of signal 4 (SIGILL) ==81682== Illegal opcode at address 0x4014B6F ==81682== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81682== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81682== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81682== by 0x4004266: main (tool_main.c:199) === End of file valgrind122 test 0128...[FTP upload with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:45597/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 128: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 128 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:45597/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:37495/ > log/7/stdout130 2> log/7/stderr130 2/stderr128 === End of file commands.log === Start of file ftp_server.log 14:53:20.698397 ====> Client connect 14:53:20.698590 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.698852 < "USER anonymous" 14:53:20.698881 > "331 We are happy you popped in![CR][LF]" 14:53:20.699016 < "PASS ftp@example.com" 14:53:20.699036 > "230 Welcome you silly person[CR][LF]" 14:53:20.699155 < "PWD" 14:53:20.699179 > "257 "/" is current directory[CR][LF]" 14:53:20.699302 < "EPSV" 14:53:20.699327 ====> Passive DATA channel requested by client 14:53:20.699337 DATA sockfilt for passive data channel starting... 14:53:20.700873 DATA sockfilt for passive data channel started (pid 81599) 14:53:20.700977 DATA sockfilt for passive data channel listens on port 34417 14:53:20.701020 > "229 Entering Passive Mode (|||34417|)[LF]" 14:53:20.701039 Client has been notified that DATA conn will be accepted on port 34417 14:53:20.701225 Client connects to port 34417 14:53:20.701255 ====> Client established passive DATA connection on port 34417 14:53:20.701363 < "TYPE I" 14:53:20.701393 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.701547 < "SIZE verifiedserver" 14:53:20.701580 > "213 17[CR][LF]" 14:53:20.701729 < "RETR verifiedserver" 14:53:20.701762 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.701839 =====> Closing passive DATA connection... 14:53:20.701855 Server disconnects passive DATA connection 14:53:20.702071 Server disconnected passive DATA connection 14:53:20.702120 DATA sockfilt for passive data channel quits (pid 81599) 14:53:20.702414 DATA sockfilt for passive data channel quit (pid 81599) 14:53:20.702438 =====> Closed passive DATA connection 14:53:20.702482 > "226 File transfer complete[CR][LF]" 14:53:20.743934 < "QUIT" 14:53:20.743991 > "221 bye bye baby[CR][LF]" 14:53:20.745899 MAIN sockfilt said DISC 14:53:20.745945 ====> Client disconnected 14:53:20.746022 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.781107 ====> Client connect 14:53:19.781416 Received DATA (on stdin) 14:53:19.781429 > 160 bytes data, server => client 14:53:19.781439 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:19.781448 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:19.781457 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:19.781532 < 16 bytes data, client => server 14:53:19.781544 'USER anonymous\r\n' 14:53:19.781698 Received DATA (on stdin) 14:53:19.781708 > 33 bytes data, server => client 14:53:19.781717 '331 We are happy you popped in!\r\n' 14:53:19.781759 < 22 bytes data, client => server 14:53:19.781768 'PASS ftp@example.com\r\n' 14:53:19.781850 Received DATA (on stdin) 14:53:19.781860 > 30 bytes data, server => client 14:53:19.781869 '230 Welcome you silly person\r\n' 14:53:19.781905 < 5 bytes data, client => server 14:53:19.781914 'PWD\r\n' 14:53:19.781991 Received DATA (on stdin) 14:53:19.782001 > 30 bytes data, server => client 14:53:19.782009 '257 "/" is current directory\r\n' 14:53:19.782053 < 6 bytes data, client => server 14:53:19.782062 'EPSV\r\n' 14:53:19.783863 Received DATA (on stdin) 14:53:19.783877 > 38 bytes data, server => client 14:53:19.783889 '229 Entering Passive Mode (|||34417|)\n' 14:53:19.784085 < 8 bytes data, client => server 14:53:19.784098 'TYPE I\r\n' 14:53:19.784212 Received DATA (on stdin) 14:53:19.784224 > 33 bytes data, server => client 14:53:19.784236 '200 I modify TYPE as you wanted\r\n' 14:53:19.784284 < 21 bytes data, client => server 14:53:19.784296 'SIZE verifiedserver\r\n' 14:53:19.784400 Received DATA (on stdin) 14:53:19.784411 > 8 bytes data, server => client 14:53:19.784422 '213 17\r\n' 14:53:19.784468 < 21 bytes data, client => server 14:53:19.784480 'RETR verifiedserver\r\n' 14:53:19.784674 Received DATA (on stdin) 14:53:19.784686 > 29 bytes data, server => client 14:53:19.784698 '150 Binary junk (17 bytes).\r\n' 14:53:19.785312 Received DATA (on stdin) 14:53:19.785331 > 28 bytes data, server => client 14:53:19.785344 '226 File transfer complete\r\n' 14:53:19.826572 < 6 bytes data, client => server 14:53:19.826599 'QUIT\r\n' 14:53:19.826992 Received DATA (on stdin) 14:53:19.827013 > 18 bytes data, server => client 14:53:19.827026 '221 bye bye baby\r\n' 14:53:19.828160 ====> Client disconnect 14:53:19.828852 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.783399 Running IPv4 version 14:53:20.783458 Listening on port 34417 14:53:20.783499 Wrote pid 81599 to log/2/server/ftp_sockdata.pid 14:53:20.783634 Received PING (on stdin) 14:53:20.783715 Received PORT (on stdin) 14:53:20.783994 ====> Client connect 14:53:20.784722 Received DATA (on stdin) 14:53:20.784735 > 17 bytes data, server => client 14:53:20.784747 'WE ROOLZ: 80219\r\n' 14:53:20.784769 Received DISC (on stdin) 14:53:20.784781 ====> Client forcibly disconnected 14:53:20.784961 Received QUIT (on stdin) 14:53:20.784983 quits 14:53:20.785049 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 128 === End of file server.cmd === Start of file upload128 file with Unix newlines meant to be converted with the --crlf option === End of file upload128 === Start of file valgrind128 ==81817== ==81817== Process terminating with default action of signal 4 (SIGILL) ==81817== Illegal opcode at address 0x4014B6F ==81817== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81817== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81817== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81817== by 0x4004266: main (tool_main.c:199) === End of file valgrind128 test 0130...[FTP (optional .netrc; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:37495/ > log/7/stdout130 2> log/7/stderr130 130: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 130 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:37495/ > log/7/stdout130 2> log/7/stderr130 === End of file commands.log === Start of file ftp_server.log 14:53:20.796960 ====> Client connect 14:53:20.797134 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.797432 < "USER anonymous" 14:53:20.797468 > "331 We are happy you popped in![CR][LF]" 14:53:20.797634 < "PASS ftp@example.com" 14:53:20.797660 > "230 Welcome you silly person[CR][LF]" 14:53:20.797815 < "PWD" 14:53:20.797848 > "257 "/" is current directory[CR][LF]" 14:53:20.798022 < "EPSV" 14:53:20.798053 ====> Passive DATA channel requested by client 14:53:20.798069 DATA sockfilt for passive data channel starting... 14:53:20.800095 DATA sockfilt for passive data channel started (pid 81814) 14:53:20.800370 DATA sockfilt for passive data channel listens on port 40323 14:53:20.800440 > "229 Entering Passive Mode (|||40323|)[LF]" 14:53:20.800460 Client has been notified that DATA conn will be accepted on port 40323 14:53:20.800703 Client connects to port 40323 14:53:20.800728 ====> Client established passive DATA connection on port 40323 14:53:20.800812 < "TYPE I" 14:53:20.800844 > "2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind132 ../src/curl -q --output log/19/curl132.out --include --trace-ascii log/19/trace132 --trace-time --netrc-optional --netrc-file log/19/netrc132 ftp://mary:mark@127.0.0.1:46729/ > log/19/stdout132 2> log/19/stderr132 00 I modify TYPE as you wanted[CR][LF]" 14:53:20.801043 < "SIZE verifiedserver" 14:53:20.801082 > "213 17[CR][LF]" 14:53:20.801242 < "RETR verifiedserver" 14:53:20.801276 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.801373 =====> Closing passive DATA connection... 14:53:20.801391 Server disconnects passive DATA connection 14:53:20.801480 Server disconnected passive DATA connection 14:53:20.801501 DATA sockfilt for passive data channel quits (pid 81814) 14:53:20.801778 DATA sockfilt for passive data channel quit (pid 81814) 14:53:20.801812 =====> Closed passive DATA connection 14:53:20.801851 > "226 File transfer complete[CR][LF]" 14:53:20.843950 < "QUIT" 14:53:20.844004 > "221 bye bye baby[CR][LF]" 14:53:20.844903 MAIN sockfilt said DISC 14:53:20.844933 ====> Client disconnected 14:53:20.845007 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:19.879643 ====> Client connect 14:53:19.879965 Received DATA (on stdin) 14:53:19.879982 > 160 bytes data, server => client 14:53:19.879995 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:19.880008 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:19.880020 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:19.880098 < 16 bytes data, client => server 14:53:19.880111 'USER anonymous\r\n' 14:53:19.880288 Received DATA (on stdin) 14:53:19.880302 > 33 bytes data, server => client 14:53:19.880314 '331 We are happy you popped in!\r\n' 14:53:19.880365 < 22 bytes data, client => server 14:53:19.880377 'PASS ftp@example.com\r\n' 14:53:19.880477 Received DATA (on stdin) 14:53:19.880490 > 30 bytes data, server => client 14:53:19.880502 '230 Welcome you silly person\r\n' 14:53:19.880548 < 5 bytes data, client => server 14:53:19.880559 'PWD\r\n' 14:53:19.880670 Received DATA (on stdin) 14:53:19.880683 > 30 bytes data, server => client 14:53:19.880695 '257 "/" is current directory\r\n' 14:53:19.880756 < 6 bytes data, client => server 14:53:19.880769 'EPSV\r\n' 14:53:19.883263 Received DATA (on stdin) 14:53:19.883285 > 38 bytes data, server => client 14:53:19.883299 '229 Entering Passive Mode (|||40323|)\n' 14:53:19.883502 < 8 bytes data, client => server 14:53:19.883515 'TYPE I\r\n' 14:53:19.883670 Received DATA (on stdin) 14:53:19.883689 > 33 bytes data, server => client 14:53:19.883701 '200 I modify TYPE as you wanted\r\n' 14:53:19.883777 < 21 bytes data, client => server 14:53:19.883789 'SIZE verifiedserver\r\n' 14:53:19.883900 Received DATA (on stdin) 14:53:19.883913 > 8 bytes data, server => client 14:53:19.883925 '213 17\r\n' 14:53:19.883975 < 21 bytes data, client => server 14:53:19.883987 'RETR verifiedserver\r\n' 14:53:19.884194 Received DATA (on stdin) 14:53:19.884211 > 29 bytes data, server => client 14:53:19.884223 '150 Binary junk (17 bytes).\r\n' 14:53:19.884677 Received DATA (on stdin) 14:53:19.884691 > 28 bytes data, server => client 14:53:19.884703 '226 File transfer complete\r\n' 14:53:19.926581 < 6 bytes data, client => server 14:53:19.926610 'QUIT\r\n' 14:53:19.926830 Received DATA (on stdin) 14:53:19.926846 > 18 bytes data, server => client 14:53:19.926859 '221 bye bye baby\r\n' 14:53:19.927661 ====> Client disconnect 14:53:19.927831 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.882693 Running IPv4 version 14:53:20.882780 Listening on port 40323 14:53:20.882818 Wrote pid 81814 to log/7/server/ftp_sockdata.pid 14:53:20.882841 Received PING (on stdin) 14:53:20.882963 Received PORT (on stdin) 14:53:20.883472 ====> Client connect 14:53:20.884110 Received DATA (on stdin) 14:53:20.884126 > 17 bytes data, server => client 14:53:20.884138 'WE ROOLZ: 80245\r\n' 14:53:20.884222 Received DISC (on stdin) 14:53:20.884241 ====> Client forcibly disconnected 14:53:20.884327 Received QUIT (on stdin) 14:53:20.884341 quits 14:53:20.884405 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc130 # the following two lines were created while testing curl # machine 127.0.0.1 login user1 password commented machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 default login userdef password passwddef === End of file netrc130 === Start of file server.cmd Testnum 130 === End of file server.cmd === Start of file valgrind130 ==81867== ==81867== Process terminating with default action of signal 4 (SIGILL) ==81867== Illegal opcode at address 0x4014B6F ==81867== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81867== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81867== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81867== by 0x4004266: main (tool_main.c:199) === End of file valgrind130 test 0132...[FTP (optional .netrc; user/passwd supplied) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind132 ../src/curl -q --output log/19/curl132.out --include --trace-ascii log/19/trace132 --trace-time --netrc-optional --netrc-file log/19/netrc132 ftp://mary:mark@127.0.0.1:46729/ > log/19/stdout132 2> log/19/stderr132 132: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind132 ../src/curl -q --output log/19/curl132.out --include --trace-ascii log/19/trace132 --trace-time --netrc-optional --netrc-file log/19/netrc132 ftp://mary:mark@127.0.0.1:46729/ > log/19/stdout132 2> log/19/stderr132 === End of file commands.log === Start of file ftp_server.log 14:53:20.943652 ====> Client connect 14:53:20.943964 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.946273 < "USER anonymous" 14:53:20.946313 > "331 We are happy you popped in![CR][LF]" 14:53:20.946489 < "PASS ftp@example.com" 14:53:20.946516 > "230 Welcome you silly person[CR][LF]" 14:53:20.946656 < "PWD" 14:53:20.946686 > "257 "/" is current directory[CR][LF]" 14:53:20.946832 < "EPSV" 14:53:20.946862 ====> Passive DATA channel requested by client 14:53:20.946888 DATA sockfilt for passive data channel starting... 14:53:20.949048 DATA sockfilt for passive data channel started (pid 81961) 14:53:20.949183 DATA sockfilt for passive data channel listens on port 35377 14:53:20.949244 > "229 Entering Passive Mode (|||35377|)[LF]" 14:53:20.949265 Client has been notified that DATA conn will be accepted on port 35377 14:53:20.949524 Client connects to port 35377 14:53:20.949559 ====> Client established passive DATA connection on port 35377 14:53:20.949709 < "TYPE I" 14:53:20.949749 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.949939 < "SIZE verifiedserver" 14:53:20.949982 > "213 17[CR][LF]" 14:53:20.950168 < "RETR verifiedserver" 14:53:20.950213 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.950315 =====> Closing passive DATA connection... 14:53:20.950338 Server disconnects passive DATA connection 14:53:20.950607 Server disconnected passive DATA connection 14:53:20.950638 DATA sockfilt for passive data channel quits (pid 81961) 14:53:20.950874 DATA sockfilt for passive data channel quit (pid 81961) 14:53:20.950903 =====> Closed passive DATA connection 14:53:20.950939 > "226 File transfer complete[CR][LF]" 14:53:20.997332 < "QUIT" 14:53:20.997391 > "221 bye bye baby[CR][LF]" 14:53:20.997892 MAIN sockfilt said DISC 14:53:20.997938 ====> Client disconnected 14:53:20.998006 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.026357 ====> Client connect 14:53:21.028801 Received DATA (on stdin) 14:53:21.028821 > 160 bytes data, server =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind131 ../src/curl -q --output log/5/curl131.out --include --trace-ascii log/5/trace131 --trace-time --netrc-optional --netrc-file log/5/netrc131 ftp://user2@127.0.0.1:32907/ > log/5/stdout131 2> log/5/stderr131 > client 14:53:21.028834 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.028844 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.028855 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.028929 < 16 bytes data, client => server 14:53:21.028941 'USER anonymous\r\n' 14:53:21.029149 Received DATA (on stdin) 14:53:21.029162 > 33 bytes data, server => client 14:53:21.029173 '331 We are happy you popped in!\r\n' 14:53:21.029220 < 22 bytes data, client => server 14:53:21.029231 'PASS ftp@example.com\r\n' 14:53:21.029332 Received DATA (on stdin) 14:53:21.029343 > 30 bytes data, server => client 14:53:21.029354 '230 Welcome you silly person\r\n' 14:53:21.029397 < 5 bytes data, client => server 14:53:21.029408 'PWD\r\n' 14:53:21.029503 Received DATA (on stdin) 14:53:21.029514 > 30 bytes data, server => client 14:53:21.029525 '257 "/" is current directory\r\n' 14:53:21.029575 < 6 bytes data, client => server 14:53:21.029586 'EPSV\r\n' 14:53:21.032098 Received DATA (on stdin) 14:53:21.032118 > 38 bytes data, server => client 14:53:21.032131 '229 Entering Passive Mode (|||35377|)\n' 14:53:21.032403 < 8 bytes data, client => server 14:53:21.032419 'TYPE I\r\n' 14:53:21.032576 Received DATA (on stdin) 14:53:21.032591 > 33 bytes data, server => client 14:53:21.032604 '200 I modify TYPE as you wanted\r\n' 14:53:21.032659 < 21 bytes data, client => server 14:53:21.032674 'SIZE verifiedserver\r\n' 14:53:21.032805 Received DATA (on stdin) 14:53:21.032820 > 8 bytes data, server => client 14:53:21.032832 '213 17\r\n' 14:53:21.032888 < 21 bytes data, client => server 14:53:21.032903 'RETR verifiedserver\r\n' 14:53:21.033164 Received DATA (on stdin) 14:53:21.033179 > 29 bytes data, server => client 14:53:21.033192 '150 Binary junk (17 bytes).\r\n' 14:53:21.033762 Received DATA (on stdin) 14:53:21.033778 > 28 bytes data, server => client 14:53:21.033790 '226 File transfer complete\r\n' 14:53:21.079970 < 6 bytes data, client => server 14:53:21.080005 'QUIT\r\n' 14:53:21.080217 Received DATA (on stdin) 14:53:21.080232 > 18 bytes data, server => client 14:53:21.080244 '221 bye bye baby\r\n' 14:53:21.080634 ====> Client disconnect 14:53:21.080832 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.031499 Running IPv4 version 14:53:20.031577 Listening on port 35377 14:53:20.031623 Wrote pid 81961 to log/19/server/ftp_sockdata.pid 14:53:20.031799 Received PING (on stdin) 14:53:20.031909 Received PORT (on stdin) 14:53:20.032290 ====> Client connect 14:53:20.033222 Received DATA (on stdin) 14:53:20.033237 > 17 bytes data, server => client 14:53:20.033249 'WE ROOLZ: 80256\r\n' 14:53:20.033274 Received DISC (on stdin) 14:53:20.033288 ====> Client forcibly disconnected 14:53:20.033471 Received QUIT (on stdin) 14:53:20.033486 quits 14:53:20.033545 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc132 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc132 === Start of file server.cmd Testnum 132 === End of file server.cmd === Start of file valgrind132 ==82013== ==82013== Process terminating with default action of signal 4 (SIGILL) ==82013== Illegal opcode at address 0x4014B6F ==82013== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82013== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82013== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82013== by 0x4004266: main (tool_main.c:199) === End of file valgrind132 test 0131...[FTP (optional .netrc; user/no pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind131 ../src/curl -q --output log/5/curl131.out --include --trace-ascii log/5/trace131 --trace-time --netrc-optional --netrc-file log/5/netrc131 ftp://user2@127.0.0.1:32907/ > log/5/stdout131 2> log/5/stderr131 131: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 131 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind131 ../src/curl -q --output log/5/curl131.out --include --trace-ascii log/5/trace131 --trace-time --netrc-optional --netrc-file log/5/netrc131 ftp://user2@127.0.0.1:32907/ > log/5/stdout131 2> log/5/stderr131 === End of file commands.log === Start of file ftp_server.log 14:53:20.941098 ====> Client connect 14:53:20.941313 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.941656 < "USER anonymous" 14:53:20.941697 > "331 We are happy you popped in![CR][LF]" 14:53:20.941886 < "PASS ftp@example.com" 14:53:20.941919 > "230 Welcome you silly person[CR][LF]" 14:53:20.942098 < "PWD" 14:53:20.942135 > "257 "/" is current directory[CR][LF]" 14:53:20.942324 < "EPSV" 14:53:20.942355 ====> Passive DATA channel requested by client 14:53:20.942370 DATA sockfilt for passive data channel starting... 14:53:20.944293 DATA sockfilt for passive data channel started (pid 81960) 14:53:20.944433 DATA sockfilt for passive data channel listens on port 36937 14:53:20.944492 > "229 Entering Passive Mode (|||36937|)[LF]" 14:53:20.944514 Client has been notified that DATA conn will be accepted on port 36937 14:53:20.944784 Client connects to port 36937 14:53:20.944815 ====> Client established passive DATA connection on port 36937 14:53:20.944909 < "TYPE I" 14:53:20.944942 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.945112 < "SIZE verifiedserver" 14:53:20.945150 > "213 17[CR][LF]" 14:53:20.945311 < "RETR verifiedserver" 14:53:20.945343 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.945427 =====> Closing passive DATA connection... 14:53:20.945442 Server disconnects passive DATA connection 14:53:20.945629 Server disconnected passive DATA connection 14:53:20.945656 DATA sockfilt for passive data channel quits (pid 81960) 14:53:20.945862 DATA sockfilt for passive data channel quit (pid 81960) 14:53:20.945884 =====> Closed passive DATA connection 14:53:20.945918 > "226 File transfer complete[CR][LF]" 14:53:20.987115 < "QUIT" 14:53:20.987164 > "221 bye bye baby[CR][LF]" 14:53:20.988116 MAIN sockfilt said DISC 14:53:20.988145 ====> Client disconnected 14:53:20.988207 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.023772 ====> Client connect 14:53:21.024151 Received DATA (on stdin) 14:53:21.024169 > 160 bytes data, server => client 14:53:21.024184 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.024196 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.024208 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.024293 < 16 bytes data, client => server 14:53:21.024310 'USER anonymous\r\n' 14:53:21.024523 Received DATA (on stdin) 14:53:21.024538 > 33 bytes data, server => client 14:53:21.024551 '331 We are happy you popped in!\r\n' 14:53:21.024606 < 22 bytes data, client => server 14:53:21.024621 'PASS ftp@example.com\r\n' 14:53:21.024740 Received DATA (on stdin) 14:53:21.024754 > 30 bytes data, server => client 14:53:21.024767 '230 Welcome you silly person\r\n' 14:53:21.024823 < 5 bytes data, client => server 14:53:21.024837 'PWD\r\n' 14:53:21.024955 Received DATA (on stdin) 14:53:21.024969 > 30 bytes data, server => client 14:53:21.024982 '257 "/" is current directory\r\n' 14:53:21.025046 < 6 bytes data, client => server 14:53:21.025061 'EPSV\r\n' 14:53:21.027350 Received DATA (on stdin) 14:53:21.027369 > 38 bytes data, server => client 14:53:21.027382 '229 Entering Passive Mode CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind134 ../src/curl -q --output log/24/curl134.out --include --trace-ascii log/24/trace134 --trace-time --netrc-optional --netrc-file log/24/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:42919/ > log/24/stdout134 2> log/24/stderr134 (|||36937|)\n' 14:53:21.027550 < 8 bytes data, client => server 14:53:21.027563 'TYPE I\r\n' 14:53:21.027764 Received DATA (on stdin) 14:53:21.027778 > 33 bytes data, server => client 14:53:21.027789 '200 I modify TYPE as you wanted\r\n' 14:53:21.027841 < 21 bytes data, client => server 14:53:21.027855 'SIZE verifiedserver\r\n' 14:53:21.027970 Received DATA (on stdin) 14:53:21.027982 > 8 bytes data, server => client 14:53:21.027994 '213 17\r\n' 14:53:21.028042 < 21 bytes data, client => server 14:53:21.028054 'RETR verifiedserver\r\n' 14:53:21.028347 Received DATA (on stdin) 14:53:21.028359 > 29 bytes data, server => client 14:53:21.028370 '150 Binary junk (17 bytes).\r\n' 14:53:21.028736 Received DATA (on stdin) 14:53:21.028749 > 28 bytes data, server => client 14:53:21.028760 '226 File transfer complete\r\n' 14:53:21.069784 < 6 bytes data, client => server 14:53:21.069805 'QUIT\r\n' 14:53:21.069987 Received DATA (on stdin) 14:53:21.070000 > 18 bytes data, server => client 14:53:21.070012 '221 bye bye baby\r\n' 14:53:21.070877 ====> Client disconnect 14:53:21.071026 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.026909 Running IPv4 version 14:53:20.026976 Listening on port 36937 14:53:20.027019 Wrote pid 81960 to log/5/server/ftp_sockdata.pid 14:53:20.027041 Received PING (on stdin) 14:53:20.027153 Received PORT (on stdin) 14:53:20.027521 ====> Client connect 14:53:20.028262 Received DATA (on stdin) 14:53:20.028275 > 17 bytes data, server => client 14:53:20.028286 'WE ROOLZ: 80255\r\n' 14:53:20.028312 Received DISC (on stdin) 14:53:20.028325 ====> Client forcibly disconnected 14:53:20.028484 Received QUIT (on stdin) 14:53:20.028497 quits 14:53:20.028551 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc131 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc131 === Start of file server.cmd Testnum 131 === End of file server.cmd === Start of file valgrind131 ==81997== ==81997== Process terminating with default action of signal 4 (SIGILL) ==81997== Illegal opcode at address 0x4014B6F ==81997== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==81997== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==81997== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==81997== by 0x4004266: main (tool_main.c:199) === End of file valgrind131 test 0134...[FTP (optional .netrc; programmatic user/passwd) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind134 ../src/curl -q --output log/24/curl134.out --include --trace-ascii log/24/trace134 --trace-time --netrc-optional --netrc-file log/24/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:42919/ > log/24/stdout134 2> log/24/stderr134 134: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind134 ../src/curl -q --output log/24/curl134.out --include --trace-ascii log/24/trace134 --trace-time --netrc-optional --netrc-file log/24/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:42919/ > log/24/stdout134 2> log/24/stderr134 === End of file commands.log === Start of file ftp_server.log 14:53:20.981332 ====> Client connect 14:53:20.981467 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.981697 < "USER anonymous" 14:53:20.981725 > "331 We are happy you popped in![CR][LF]" 14:53:20.981857 < "PASS ftp@example.com" 14:53:20.981878 > "230 Welcome you silly person[CR][LF]" 14:53:20.981992 < "PWD" 14:53:20.982015 > "257 "/" is current directory[CR][LF]" 14:53:20.982137 < "EPSV" 14:53:20.982159 ====> Passive DATA channel requested by client 14:53:20.982170 DATA sockfilt for passive data channel starting... 14:53:20.983780 DATA sockfilt for passive data channel started (pid 81994) 14:53:20.983909 DATA sockfilt for passive data channel listens on port 41229 14:53:20.983960 > "229 Entering Passive Mode (|||41229|)[LF]" 14:53:20.983979 Client has been notified that DATA conn will be accepted on port 41229 14:53:20.984229 Client connects to port 41229 14:53:20.984258 ====> Client established passive DATA connection on port 41229 14:53:20.984345 < "TYPE I" 14:53:20.984379 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.984536 < "SIZE verifiedserver" 14:53:20.984573 > "213 17[CR][LF]" 14:53:20.984727 < "RETR verifiedserver" 14:53:20.984793 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.984868 =====> Closing passive DATA connection... 14:53:20.984884 Server disconnects passive DATA connection 14:53:20.985085 Server disconnected passive DATA connection 14:53:20.985111 DATA sockfilt for passive data channel quits (pid 81994) 14:53:20.985304 DATA sockfilt for passive data channel quit (pid 81994) 14:53:20.985326 =====> Closed passive DATA connection 14:53:20.985359 > "226 File transfer complete[CR][LF]" 14:53:21.027859 < "QUIT" 14:53:21.027914 > "221 bye bye baby[CR][LF]" 14:53:21.028414 MAIN sockfilt said DISC 14:53:21.028450 ====> Client disconnected 14:53:21.028530 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.064065 ====> Client connect 14:53:21.064289 Received DATA (on stdin) 14:53:21.064301 > 160 bytes data, server => client 14:53:21.064311 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.064320 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.064328 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.064382 < 16 bytes data, client => server 14:53:21.064392 'USER anonymous\r\n' 14:53:21.064541 Received DATA (on stdin) 14:53:21.064551 > 33 bytes data, server => client 14:53:21.064560 '331 We are happy you popped in!\r\n' 14:53:21.064599 < 22 bytes data, client => server 14:53:21.064608 'PASS ftp@example.com\r\n' 14:53:21.064691 Received DATA (on stdin) 14:53:21.064700 > 30 bytes data, server => client 14:53:21.064709 '230 Welcome you silly person\r\n' 14:53:21.064744 < 5 bytes data, client => server 14:53:21.064753 'PWD\r\n' 14:53:21.064828 Received DATA (on stdin) 14:53:21.064839 > 30 bytes data, server => client 14:53:21.064847 '257 "/" is current directory\r\n' 14:53:21.064890 < 6 bytes data, client => server 14:53:21.064899 'EPSV\r\n' 14:53:21.066807 Received DATA (on stdin) 14:53:21.066826 > 38 bytes data, server => client 14:53:21.066839 '229 Entering Passive Mode (|||41229|)\n' 14:53:21.066992 < 8 bytes data, client => server 14:53:21.067006 'TYPE I\r\n' 14:53:21.067198 Received DATA (on stdin) 14:53:21.067211 > 33 bytes data, server => client 14:53:21.067223 '200 I modify TYPE as you wanted\r\n' 14:53:21.067273 < 21 bytes data, client => server 14:53:21.067285 'SIZE verifiedserver\r\n' 14:53:21.067394 Received DATA (on stdin) 14:53:21.067406 > 8 bytes data, server => client 14:53:21.067417 '213 17\r\n' 14:53:21.067463 < 21 bytes data, client => server 14:53:21.067475 'RETR verifiedserver\r\n' 14:53:21.067559 Received DATA (on stdin) 14:53:21.067571 > 29 bytes data, server => client 14:53:21.067702 '150 Binary junk (17 bytes).\r\n' 14:53:21.068177 Received DATA (on stdin) 14:53:21.068191 > 28 bytes data, server => client 14:53:21.068203 '226 File transfer complete\r\n' 14:53:21.109852 < 6 bytes data, client => server 14:53:21.109884 'QUIT\r\n' 14:53:21.110735 Received DATA (on stdin) 14:53:21.110749 > 18 bytes data, server => client 14:53:21.110759 '221 bye bye baby\r\n' 14:53:21.111052 ====> Client disCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind133 ../src/curl -q --output log/9/curl133.out --include --trace-ascii log/9/trace133 --trace-time -n --netrc-file log/9/netrc133 ftp://mary:mark@127.0.0.1:37027/ > log/9/stdout133 2> log/9/stderr133 connect 14:53:21.111350 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.066409 Running IPv4 version 14:53:20.066471 Listening on port 41229 14:53:20.066510 Wrote pid 81994 to log/24/server/ftp_sockdata.pid 14:53:20.066533 Received PING (on stdin) 14:53:20.066639 Received PORT (on stdin) 14:53:20.066964 ====> Client connect 14:53:20.067728 Received DATA (on stdin) 14:53:20.067741 > 17 bytes data, server => client 14:53:20.067753 'WE ROOLZ: 80263\r\n' 14:53:20.067775 Received DISC (on stdin) 14:53:20.067787 ====> Client forcibly disconnected 14:53:20.067938 Received QUIT (on stdin) 14:53:20.067951 quits 14:53:20.068001 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc134 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc134 === Start of file server.cmd Testnum 134 === End of file server.cmd === Start of file valgrind134 ==82089== ==82089== Process terminating with default action of signal 4 (SIGILL) ==82089== Illegal opcode at address 0x4014B6F ==82089== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82089== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82089== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82089== by 0x4004266: main (tool_main.c:199) === End of file valgrind134 test 0133...[FTP compulsory .netrc; ignore passwd in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind133 ../src/curl -q --output log/9/curl133.out --include --trace-ascii log/9/trace133 --trace-time -n --netrc-file log/9/netrc133 ftp://mary:mark@127.0.0.1:37027/ > log/9/stdout133 2> log/9/stderr133 133: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind133 ../src/curl -q --output log/9/curl133.out --include --trace-ascii log/9/trace133 --trace-time -n --netrc-file log/9/netrc133 ftp://mary:mark@127.0.0.1:37027/ > log/9/stdout133 2> log/9/stderr133 === End of file commands.log === Start of file ftp_server.log 14:53:20.976116 ====> Client connect 14:53:20.976298 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:20.976599 < "USER anonymous" 14:53:20.976642 > "331 We are happy you popped in![CR][LF]" 14:53:20.976929 < "PASS ftp@example.com" 14:53:20.976959 > "230 Welcome you silly person[CR][LF]" 14:53:20.977137 < "PWD" 14:53:20.977161 > "257 "/" is current directory[CR][LF]" 14:53:20.977286 < "EPSV" 14:53:20.977307 ====> Passive DATA channel requested by client 14:53:20.977317 DATA sockfilt for passive data channel starting... 14:53:20.978540 DATA sockfilt for passive data channel started (pid 81993) 14:53:20.978625 DATA sockfilt for passive data channel listens on port 33539 14:53:20.978661 > "229 Entering Passive Mode (|||33539|)[LF]" 14:53:20.978674 Client has been notified that DATA conn will be accepted on port 33539 14:53:20.978860 Client connects to port 33539 14:53:20.978883 ====> Client established passive DATA connection on port 33539 14:53:20.978940 < "TYPE I" 14:53:20.978961 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:20.979080 < "SIZE verifiedserver" 14:53:20.979107 > "213 17[CR][LF]" 14:53:20.979219 < "RETR verifiedserver" 14:53:20.979243 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:20.979304 =====> Closing passive DATA connection... 14:53:20.979316 Server disconnects passive DATA connection 14:53:20.979495 Server disconnected passive DATA connection 14:53:20.979515 DATA sockfilt for passive data channel quits (pid 81993) 14:53:20.979673 DATA sockfilt for passive data channel quit (pid 81993) 14:53:20.979691 =====> Closed passive DATA connection 14:53:20.979715 > "226 File transfer complete[CR][LF]" 14:53:21.025270 < "QUIT" 14:53:21.025331 > "221 bye bye baby[CR][LF]" 14:53:21.026220 MAIN sockfilt said DISC 14:53:21.026252 ====> Client disconnected 14:53:21.026344 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.058821 ====> Client connect 14:53:21.059129 Received DATA (on stdin) 14:53:21.059145 > 160 bytes data, server => client 14:53:21.059159 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.059171 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.059183 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.059262 < 16 bytes data, client => server 14:53:21.059276 'USER anonymous\r\n' 14:53:21.059442 Received DATA (on stdin) 14:53:21.059455 > 33 bytes data, server => client 14:53:21.059467 '331 We are happy you popped in!\r\n' 14:53:21.059516 < 22 bytes data, client => server 14:53:21.059528 'PASS ftp@example.com\r\n' 14:53:21.059782 Received DATA (on stdin) 14:53:21.059798 > 30 bytes data, server => client 14:53:21.059808 '230 Welcome you silly person\r\n' 14:53:21.059884 < 5 bytes data, client => server 14:53:21.059894 'PWD\r\n' 14:53:21.059974 Received DATA (on stdin) 14:53:21.059983 > 30 bytes data, server => client 14:53:21.059992 '257 "/" is current directory\r\n' 14:53:21.060038 < 6 bytes data, client => server 14:53:21.060047 'EPSV\r\n' 14:53:21.061494 Received DATA (on stdin) 14:53:21.061505 > 38 bytes data, server => client 14:53:21.061514 '229 Entering Passive Mode (|||33539|)\n' 14:53:21.061633 < 8 bytes data, client => server 14:53:21.061643 'TYPE I\r\n' 14:53:21.061774 Received DATA (on stdin) 14:53:21.061784 > 33 bytes data, server => client 14:53:21.061793 '200 I modify TYPE as you wanted\r\n' 14:53:21.061830 < 21 bytes data, client => server 14:53:21.061839 'SIZE verifiedserver\r\n' 14:53:21.061919 Received DATA (on stdin) 14:53:21.061928 > 8 bytes data, server => client 14:53:21.061937 '213 17\r\n' 14:53:21.061971 < 21 bytes data, client => server 14:53:21.061980 'RETR verifiedserver\r\n' 14:53:21.062130 Received DATA (on stdin) 14:53:21.062139 > 29 bytes data, server => client 14:53:21.062148 '150 Binary junk (17 bytes).\r\n' 14:53:21.062529 Received DATA (on stdin) 14:53:21.062540 > 28 bytes data, server => client 14:53:21.062549 '226 File transfer complete\r\n' 14:53:21.107858 < 6 bytes data, client => server 14:53:21.107901 'QUIT\r\n' 14:53:21.108158 Received DATA (on stdin) 14:53:21.108173 > 18 bytes data, server => client 14:53:21.108186 '221 bye bye baby\r\n' 14:53:21.108976 ====> Client disconnect 14:53:21.109192 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:20.061215 Running IPv4 version 14:53:20.061261 Listening on port 33539 14:53:20.061293 Wrote pid 81993 to log/9/server/ftp_sockdata.pid 14:53:20.061309 Received PING (on stdin) 14:53:20.061376 Received PORT (on stdin) 14:53:20.061611 ====> Client connect 14:53:20.062167 Received DATA (on stdin) 14:53:20.062178 > 17 bytes data, server => client 14:53:20.062187 'WE ROOLZ: 80262\r\n' 14:53:20.062205 Received DISC (on stdin) 14:53:20.062214 ====> Client forcibly disconnected 14:53:20.062333 Received QUIT (on stdin) 14:53:20.062343 quits 14:53:20.062386 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc133 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login mary password drfrank === End of file netrc133 === Start of file server.cmd Testnum 133 === End of file server.cmd === Start of file valgrind133 ==82081== ==82081== Process terminating with default action of signal 4 (SIGILL) ==82081== Illegal opcode at addreCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind135 ../src/curl -q --output log/15/curl135.out --include --trace-ascii log/15/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44241/135 > log/15/stdout135 2> log/15/stderr135 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:43281/136 > log/21/stdout136 2> log/21/stderr136 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind137 ../src/curl -q --output log/22/curl137.out --include --trace-ascii log/22/trace137 --trace-time ftp://127.0.0.1:45969/blalbla/lululul/137 > log/22/stdout137 2> log/22/stderr137 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind138 ../src/curl -q --output log/8/curl138.out --include --trace-ascii log/8/trace138 --trace-time ftp://127.0.0.1:37557/blalbla/lululul/138 > log/8/stdout138 2> log/8/stderr138 ss 0x4014B6F ==82081== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82081== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82081== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82081== by 0x4004266: main (tool_main.c:199) === End of file valgrind133 test 0135...[FTP retrieve a byte-range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind135 ../src/curl -q --output log/15/curl135.out --include --trace-ascii log/15/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44241/135 > log/15/stdout135 2> log/15/stderr135 135: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 135 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind135 ../src/curl -q --output log/15/curl135.out --include --trace-ascii log/15/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44241/135 > log/15/stdout135 2> log/15/stderr135 === End of file commands.log === Start of file ftp_server.log 14:53:21.060243 ====> Client connect 14:53:21.060436 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.060764 < "USER anonymous" 14:53:21.060800 > "331 We are happy you popped in![CR][LF]" 14:53:21.060992 < "PASS ftp@example.com" 14:53:21.061021 > "230 Welcome you silly person[CR][LF]" 14:53:21.061188 < "PWD" 14:53:21.061222 > "257 "/" is current directory[CR][LF]" 14:53:21.061400 < "EPSV" 14:53:21.061430 ====> Passive DATA channel requested by client 14:53:21.061445 DATA sockfilt for passive data channel starting... 14:53:21.063031 DATA sockfilt for passive data channel started (pid 82196) 14:53:21.063120 DATA sockfilt for passive data channel listens on port 33245 14:53:21.063155 > "229 Entering Passive Mode (|||33245|)[LF]" 14:53:21.063168 Client has been notified that DATA conn will be accepted on port 33245 14:53:21.063354 Client connects to port 33245 14:53:21.063378 ====> Client established passive DATA connection on port 33245 14:53:21.063439 < "TYPE I" 14:53:21.063462 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.063690 < "SIZE verifiedserver" 14:53:21.063736 > "213 17[CR][LF]" 14:53:21.063913 < "RETR verifiedserver" 14:53:21.063947 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.064034 =====> Closing passive DATA connection... 14:53:21.064052 Server disconnects passive DATA connection 14:53:21.064147 Server disconnected passive DATA connection 14:53:21.064172 DATA sockfilt for passive data channel quits (pid 82196) 14:53:21.064389 DATA sockfilt for passive data channel quit (pid 82196) 14:53:21.064414 =====> Closed passive DATA connection 14:53:21.064444 > "226 File transfer complete[CR][LF]" 14:53:21.110579 < "QUIT" 14:53:21.110637 > "221 bye bye baby[CR][LF]" 14:53:21.111463 MAIN sockfilt said DISC 14:53:21.111491 ====> Client disconnected 14:53:21.111569 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.142936 ====> Client connect 14:53:21.143269 Received DATA (on stdin) 14:53:21.143285 > 160 bytes data, server => client 14:53:21.143299 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.143312 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.143327 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.143406 < 16 bytes data, client => server 14:53:21.143420 'USER anonymous\r\n' 14:53:21.143625 Received DATA (on stdin) 14:53:21.143640 > 33 bytes data, server => client 14:53:21.143652 '331 We are happy you popped in!\r\n' 14:53:21.143709 < 22 bytes data, client => server 14:53:21.143723 'PASS ftp@example.com\r\n' 14:53:21.143840 Received DATA (on stdin) 14:53:21.143854 > 30 bytes data, server => client 14:53:21.143866 '230 Welcome you silly person\r\n' 14:53:21.143918 < 5 bytes data, client => server 14:53:21.143930 'PWD\r\n' 14:53:21.144042 Received DATA (on stdin) 14:53:21.144055 > 30 bytes data, server => client 14:53:21.144068 '257 "/" is current directory\r\n' 14:53:21.144131 < 6 bytes data, client => server 14:53:21.144144 'EPSV\r\n' 14:53:21.145988 Received DATA (on stdin) 14:53:21.145999 > 38 bytes data, server => client 14:53:21.146009 '229 Entering Passive Mode (|||33245|)\n' 14:53:21.146124 < 8 bytes data, client => server 14:53:21.146134 'TYPE I\r\n' 14:53:21.146282 Received DATA (on stdin) 14:53:21.146295 > 33 bytes data, server => client 14:53:21.146308 '200 I modify TYPE as you wanted\r\n' 14:53:21.146416 < 21 bytes data, client => server 14:53:21.146431 'SIZE verifiedserver\r\n' 14:53:21.146560 Received DATA (on stdin) 14:53:21.146574 > 8 bytes data, server => client 14:53:21.146586 '213 17\r\n' 14:53:21.146640 < 21 bytes data, client => server 14:53:21.146655 'RETR verifiedserver\r\n' 14:53:21.146806 Received DATA (on stdin) 14:53:21.146821 > 29 bytes data, server => client 14:53:21.146833 '150 Binary junk (17 bytes).\r\n' 14:53:21.147264 Received DATA (on stdin) 14:53:21.147279 > 28 bytes data, server => client 14:53:21.147291 '226 File transfer complete\r\n' 14:53:21.193190 < 6 bytes data, client => server 14:53:21.193226 'QUIT\r\n' 14:53:21.193461 Received DATA (on stdin) 14:53:21.193475 > 18 bytes data, server => client 14:53:21.193487 '221 bye bye baby\r\n' 14:53:21.194225 ====> Client disconnect 14:53:21.194386 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.145682 Running IPv4 version 14:53:21.145746 Listening on port 33245 14:53:21.145782 Wrote pid 82196 to log/15/server/ftp_sockdata.pid 14:53:21.145799 Received PING (on stdin) 14:53:21.145869 Received PORT (on stdin) 14:53:21.146101 ====> Client connect 14:53:21.146872 Received DATA (on stdin) 14:53:21.146886 > 17 bytes data, server => client 14:53:21.146898 'WE ROOLZ: 80266\r\n' 14:53:21.146923 Received DISC (on stdin) 14:53:21.146933 ====> Client forcibly disconnected 14:53:21.147003 Received QUIT (on stdin) 14:53:21.147017 quits 14:53:21.147073 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==82277== ==82277== Process terminating with default action of signal 4 (SIGILL) ==82277== Illegal opcode at address 0x4014B6F ==82277== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82277== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82277== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82277== by 0x4004266: main (tool_main.c:199) === End of file valgrind135 test 0138...[FTP download without size in RETR string and no SIZE command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind138 ../src/curl -q --output log/8/curl138.out --include --trace-ascii log/8/trace138 --trace-time ftp://127.0.0.1:37557/blalbla/lululul/138 > log/8/stdout138 2> log/8/stderr138 138: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind138 ../src/curl -q --output log/8/curl138.out --include --trace-ascii log/8/trace138 --trace-time ftp://127.0.0.1:37557/blalbla/lululul/138 > log/8/stdout138 2> log/8/stderr138 === End of file commands.log === Start of file ftp_server.log 14:53:21.071319 ====> Client connect 14:53:21.071504 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.071805 < "USER anonymous" 14:53:21.071837 > "331 We are happy you popped in![CR][LF]" 14:53:21.072004 < "PASS ftp@example.com" 14:53:21.072030 > "230 Welcome you silly person[CR][LF]" 14:53:21.072177 < "PWD" 14:53:21.072206 > "257 "/" is current directory[CR][LF]" 14:53:21.072359 < "EPSV" 14:53:21.072386 ====> Passive DATA channel requested by client 14:53:21.072400 DATA sockfilt for passive data channel starting... 14:53:21.074420 DATA sockfilt for passive data channel started (pid 82230) 14:53:21.074523 DATA sockfilt for passive data channel listens on port 33709 14:53:21.074559 > "229 Entering Passive Mode (|||33709|)[LF]" 14:53:21.074576 Client has been notified that DATA conn will be accepted on port 33709 14:53:21.074783 Client connects to port 33709 14:53:21.074810 ====> Client established passive DATA connection on port 33709 14:53:21.074878 < "TYPE I" 14:53:21.074909 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.075052 < "SIZE verifiedserver" 14:53:21.075088 > "213 17[CR][LF]" 14:53:21.075240 < "RETR verifiedserver" 14:53:21.075275 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.075357 =====> Closing passive DATA connection... 14:53:21.075376 Server disconnects passive DATA connection 14:53:21.075613 Server disconnected passive DATA connection 14:53:21.075639 DATA sockfilt for passive data channel quits (pid 82230) 14:53:21.075880 DATA sockfilt for passive data channel quit (pid 82230) 14:53:21.075902 =====> Closed passive DATA connection 14:53:21.075935 > "226 File transfer complete[CR][LF]" 14:53:21.117344 < "QUIT" 14:53:21.117394 > "221 bye bye baby[CR][LF]" 14:53:21.118131 MAIN sockfilt said DISC 14:53:21.118157 ====> Client disconnected 14:53:21.118228 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.154013 ====> Client connect 14:53:21.154333 Received DATA (on stdin) 14:53:21.154348 > 160 bytes data, server => client 14:53:21.154361 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.154373 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.154385 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.154462 < 16 bytes data, client => server 14:53:21.154475 'USER anonymous\r\n' 14:53:21.154658 Received DATA (on stdin) 14:53:21.154672 > 33 bytes data, server => client 14:53:21.154684 '331 We are happy you popped in!\r\n' 14:53:21.154734 < 22 bytes data, client => server 14:53:21.154746 'PASS ftp@example.com\r\n' 14:53:21.154847 Received DATA (on stdin) 14:53:21.154859 > 30 bytes data, server => client 14:53:21.154870 '230 Welcome you silly person\r\n' 14:53:21.154916 < 5 bytes data, client => server 14:53:21.154928 'PWD\r\n' 14:53:21.155023 Received DATA (on stdin) 14:53:21.155035 > 30 bytes data, server => client 14:53:21.155046 '257 "/" is current directory\r\n' 14:53:21.155101 < 6 bytes data, client => server 14:53:21.155112 'EPSV\r\n' 14:53:21.157401 Received DATA (on stdin) 14:53:21.157414 > 38 bytes data, server => client 14:53:21.157426 '229 Entering Passive Mode (|||33709|)\n' 14:53:21.157527 < 8 bytes data, client => server 14:53:21.157541 'TYPE I\r\n' 14:53:21.157726 Received DATA (on stdin) 14:53:21.157738 > 33 bytes data, server => client 14:53:21.157749 '200 I modify TYPE as you wanted\r\n' 14:53:21.157794 < 21 bytes data, client => server 14:53:21.157805 'SIZE verifiedserver\r\n' 14:53:21.157904 Received DATA (on stdin) 14:53:21.157915 > 8 bytes data, server => client 14:53:21.157925 '213 17\r\n' 14:53:21.157970 < 21 bytes data, client => server 14:53:21.157985 'RETR verifiedserver\r\n' 14:53:21.158288 Received DATA (on stdin) 14:53:21.158301 > 29 bytes data, server => client 14:53:21.158313 '150 Binary junk (17 bytes).\r\n' 14:53:21.158753 Received DATA (on stdin) 14:53:21.158767 > 28 bytes data, server => client 14:53:21.158779 '226 File transfer complete\r\n' 14:53:21.199985 < 6 bytes data, client => server 14:53:21.200016 'QUIT\r\n' 14:53:21.200215 Received DATA (on stdin) 14:53:21.200227 > 18 bytes data, server => client 14:53:21.200238 '221 bye bye baby\r\n' 14:53:21.200896 ====> Client disconnect 14:53:21.201047 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.156754 Running IPv4 version 14:53:21.156813 Listening on port 33709 14:53:21.156851 Wrote pid 82230 to log/8/server/ftp_sockdata.pid 14:53:21.157179 Received PING (on stdin) 14:53:21.157265 Received PORT (on stdin) 14:53:21.157560 ====> Client connect 14:53:21.158198 Received DATA (on stdin) 14:53:21.158212 > 17 bytes data, server => client 14:53:21.158223 'WE ROOLZ: 80267\r\n' 14:53:21.158251 Received DISC (on stdin) 14:53:21.158263 ====> Client forcibly disconnected 14:53:21.158464 Received QUIT (on stdin) 14:53:21.158476 quits 14:53:21.158536 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==82301== ==82301== Process terminating with default action of signal 4 (SIGILL) ==82301== Illegal opcode at address 0x4014B6F ==82301== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82301== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82301== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82301== by 0x4004266: main (tool_main.c:199) === End of file valgrind138 test 0136...[FTP with user and no password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:43281/136 > log/21/stdout136 2> log/21/stderr136 136: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 136 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:43281/136 > log/21/stdout136 2> log/21/stderr136 === End of file commands.log === Start of file ftp_server.log 14:53:21.063976 ====> Client connect 14:53:21.064139 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.064430 < "USER anonymous" 14:53:21.064465 > "331 We are happy you popped in![CR][LF]" 14:53:21.064644 < "PASS ftp@example.com" 14:53:21.064673 > "230 Welcome you silly person[CR][LF]" 14:53:21.064830 < "PWD" 14:53:21.064861 > "257 "/" is current directory[CR][LF]" 14:53:21.065048 < "EPSV" 14:53:21.065077 ====> Passive DATA channel requested by client 14:53:21.065092 DATA sockfilt for passive data channel starting... 14:53:21.066460 DATA sockfilt for passive data channel started (pid 82213) 14:53:21.066563 DATA sockfilt for passive data channel listens on port 37903 14:53:21.066607 > "229 Entering Passive Mode (|||37903|)[LF]" 14:53:21.066623 Client has been notified that DATA conn will be accepted on port 37903 14:53:21.066849 Client connects to port 37903 14:53:21.066887 ====> Client established passive DATA connection on port 37903 14:53:21.066961 < "TYPE I" 14:53:21.066992 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.067162 < "SIZE verifiedserver" 14:53:21.067198 > "213 17[CR][LF]" 14:53:21.067352 < "RETR verifiedserver" 14:53:21.067395 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.067495 =====> Closing passive DATA connection... 14:53:21.067512 Server disconnects passive DATA connection 14:53:21.067602 Server disconnected passive DATA connection 14:53:21.067628 DATA sockfilt for passive data channel quits (pid 82213) 14:53:21.067873 DATA sockfilt for passive data channel quit (pid 82213) 14:53:21.067897 =====> Closed passive DATA connection 14:53:21.067930 > "226 File transfer complete[CR][LF]" 14:53:21.110580 < "QUIT" 14:53:21.110641 > "221 bye bye baby[CR][LF]" 14:53:21.111505 MAIN sockfilt said DISC 14:53:21.111539 ====> Client disconnected 14:53:21.111603 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.146698 ====> Client connect 14:53:21.146968 Received DATA (on stdin) 14:53:21.146984 > 160 bytes data, server => client 14:53:21.146999 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.147011 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.147023 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.147093 < 16 bytes data, client => server 14:53:21.147106 'USER anonymous\r\n' 14:53:21.147286 Received DATA (on stdin) 14:53:21.147300 > 33 bytes data, server => client 14:53:21.147312 '331 We are happy you popped in!\r\n' 14:53:21.147366 < 22 bytes data, client => server 14:53:21.147380 'PASS ftp@example.com\r\n' 14:53:21.147491 Received DATA (on stdin) 14:53:21.147504 > 30 bytes data, server => client 14:53:21.147517 '230 Welcome you silly person\r\n' 14:53:21.147565 < 5 bytes data, client => server 14:53:21.147577 'PWD\r\n' 14:53:21.147681 Received DATA (on stdin) 14:53:21.147694 > 30 bytes data, server => client 14:53:21.147706 '257 "/" is current directory\r\n' 14:53:21.147764 < 6 bytes data, client => server 14:53:21.147783 'EPSV\r\n' 14:53:21.149446 Received DATA (on stdin) 14:53:21.149461 > 38 bytes data, server => client 14:53:21.149473 '229 Entering Passive Mode (|||37903|)\n' 14:53:21.149614 < 8 bytes data, client => server 14:53:21.149628 'TYPE I\r\n' 14:53:21.149811 Received DATA (on stdin) 14:53:21.149825 > 33 bytes data, server => client 14:53:21.149837 '200 I modify TYPE as you wanted\r\n' 14:53:21.149891 < 21 bytes data, client => server 14:53:21.149904 'SIZE verifiedserver\r\n' 14:53:21.150019 Received DATA (on stdin) 14:53:21.150032 > 8 bytes data, server => client 14:53:21.150043 '213 17\r\n' 14:53:21.150092 < 21 bytes data, client => server 14:53:21.150104 'RETR verifiedserver\r\n' 14:53:21.150337 Received DATA (on stdin) 14:53:21.150353 > 29 bytes data, server => client 14:53:21.150365 '150 Binary junk (17 bytes).\r\n' 14:53:21.150751 Received DATA (on stdin) 14:53:21.150765 > 28 bytes data, server => client 14:53:21.150777 '226 File transfer complete\r\n' 14:53:21.193191 < 6 bytes data, client => server 14:53:21.193226 'QUIT\r\n' 14:53:21.193470 Received DATA (on stdin) 14:53:21.193485 > 18 bytes data, server => client 14:53:21.193498 '221 bye bye baby\r\n' 14:53:21.194262 ====> Client disconnect 14:53:21.194434 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.149124 Running IPv4 version 14:53:21.149178 Listening on port 37903 14:53:21.149210 Wrote pid 82213 to log/21/server/ftp_sockdata.pid 14:53:21.149228 Received PING (on stdin) 14:53:21.149300 Received PORT (on stdin) 14:53:21.149584 ====> Client connect 14:53:21.150229 Received DATA (on stdin) 14:53:21.150244 > 17 bytes data, server => client 14:53:21.150256 'WE ROOLZ: 80269\r\n' 14:53:21.150333 Received DISC (on stdin) 14:53:21.150346 ====> Client forcibly disconnected 14:53:21.150458 Received QUIT (on stdin) 14:53:21.150472 quits 14:53:21.150532 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==82276== ==82276== Process terminating with default action of signal 4 (SIGILL) ==82276== Illegal opcode at address 0x4014B6F ==82276== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82276== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82276== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82276== by 0x4004266: main (tool_main.c:199) === End of file valgrind136 test 0137...[FTP download without size in RETR string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind137 ../src/curl -q --output log/22/curl137.out --include --trace-ascii log/22/trace137 --trace-time ftp://127.0.0.1:45969/blalbla/lululul/137 > log/22/stdout137 2> log/22/stderr137 137: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind137 ../src/curl -q --output log/22/curl137.out --include --trace-ascii log/22/trace137 --trace-time ftp://127.0.0.1:45969/blalbla/lululul/137 > log/22/stdout137 2> log/22/stderr137 === End of file commands.log === Start of file ftp_server.log 14:53:21.071319 ====> Client connect 14:53:21.071624 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.071926 < "USER anonymous" 14:53:21.071963 > "331 We are happy you popped in![CR][LF]" 14:53:21.072139 < "PASS ftp@example.com" 14:53:21.072165 > "230 Welcome you silly person[CR][LF]" 14:53:21.072312 < "PWD" 14:53:21.072342 > "257 "/" is current directory[CR][LF]" 14:53:21.072496 < "EPSV" 14:53:21.072527 ====> Passive DATA channel requested by client 14:53:21.072541 DATA sockfilt for passive data channel starting... 14:53:21.074280 DATA sockfilt for passive data channel started (pid 82232) 14:53:21.074454 DATA sockfilt for passive data channel listens on port 43383 14:53:21.074503 > "229 Entering Passive Mode (|||43383|)[LF]" 14:53:21.074521 Client has been notified that DATA conn will be accepted on port 43383 14:53:21.074746 Client connects to port 43383 14:53:21.074776 ====> Client established passive DATA connection on port 43383 14:53:21.074849 < "TYPE I" 14:53:21.074881 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.075036 < "SIZE verifiedserver" 14:53:21.075071 > "213 17[CR][LF]" 14:53:21.075233 < "RETR verifiedserver" 14:53:21.075270 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.075354 =====> Closing passive DATA connection... 14:53:21.075373 Server disconnects passive DATA connection 14:53:21.075645 Server disconnected passive DATA connection 14:53:21.075712 DATA sockfilt for passive data channel quits (pid 82232) 14:53:21.076113 DATA sockfilt for passive data channel quit (pid 82232) 14:53:21.076143 =====> Closed passive DATA connection 14:53:21.076196 > "226 File transfer complete[CR][LF]" 14:53:21.118460 < "QUIT" 14:53:21.118504 > "221 bye bye baby[CR][LF]" 14:53:21.119212 MAIN sockfilt said DISC 14:53:21.119237 ====> Client disconnected 14:53:21.119296 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.154013 ====> Client connect 14:53:21.154460 Received DATA (on stdin) 14:53:21.154478 > 160 bytes data, server => client 14:53:21.154492 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.154504 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.154515 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.154591 < 16 bytes data, client => server 14:53:21.154605 'USER anonymous\r\n' 14:53:21.154784 Received DATA (on stdin) 14:53:21.154797 > 33 bytes data, server => client 14:53:21.154809 '331 We are happy you popped in!\r\n' 14:53:21.154860 < 22 bytes data, client => server 14:53:21.154872 'PASS ftp@example.com\r\n' 14:53:21.154982 Received DATA (on stdin) 14:53:21.154994 > 30 bytes data, server => client 14:53:21.155006 '230 Welcome you silCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind123 ../src/curl -q --output log/4/curl123.out --include --trace-ascii log/4/trace123 --trace-time ftp://127.0.0.1:44299/123 -T log/4/upload123 -C 51 > log/4/stdout123 2> log/4/stderr123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind139 ../src/curl -q --output log/10/curl139.out --include --trace-ascii log/10/trace139 --trace-time ftp://127.0.0.1:42691/blalbla/139 -z "1 jan 1989" > log/10/stdout139 2> log/10/stderr139 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind140 ../src/curl -q --output log/3/curl140.out --include --trace-ascii log/3/trace140 --trace-time ftp://127.0.0.1:37155/blalbla/140 -z "1 jan 2004" > log/3/stdout140 2> log/3/stderr140 ly person\r\n' 14:53:21.155051 < 5 bytes data, client => server 14:53:21.155062 'PWD\r\n' 14:53:21.155160 Received DATA (on stdin) 14:53:21.155172 > 30 bytes data, server => client 14:53:21.155183 '257 "/" is current directory\r\n' 14:53:21.155236 < 6 bytes data, client => server 14:53:21.155247 'EPSV\r\n' 14:53:21.157346 Received DATA (on stdin) 14:53:21.157362 > 38 bytes data, server => client 14:53:21.157374 '229 Entering Passive Mode (|||43383|)\n' 14:53:21.157484 < 8 bytes data, client => server 14:53:21.157498 'TYPE I\r\n' 14:53:21.157699 Received DATA (on stdin) 14:53:21.157713 > 33 bytes data, server => client 14:53:21.157725 '200 I modify TYPE as you wanted\r\n' 14:53:21.157772 < 21 bytes data, client => server 14:53:21.157784 'SIZE verifiedserver\r\n' 14:53:21.157894 Received DATA (on stdin) 14:53:21.157907 > 8 bytes data, server => client 14:53:21.157918 '213 17\r\n' 14:53:21.157966 < 21 bytes data, client => server 14:53:21.157978 'RETR verifiedserver\r\n' 14:53:21.158194 Received DATA (on stdin) 14:53:21.158208 > 29 bytes data, server => client 14:53:21.158220 '150 Binary junk (17 bytes).\r\n' 14:53:21.159032 Received DATA (on stdin) 14:53:21.159052 > 28 bytes data, server => client 14:53:21.159065 '226 File transfer complete\r\n' 14:53:21.201123 < 6 bytes data, client => server 14:53:21.201140 'QUIT\r\n' 14:53:21.201323 Received DATA (on stdin) 14:53:21.201334 > 18 bytes data, server => client 14:53:21.201344 '221 bye bye baby\r\n' 14:53:21.201974 ====> Client disconnect 14:53:21.202115 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.156933 Running IPv4 version 14:53:21.156991 Listening on port 43383 14:53:21.157025 Wrote pid 82232 to log/22/server/ftp_sockdata.pid 14:53:21.157045 Received PING (on stdin) 14:53:21.157185 Received PORT (on stdin) 14:53:21.157518 ====> Client connect 14:53:21.158246 Received DATA (on stdin) 14:53:21.158261 > 17 bytes data, server => client 14:53:21.158273 'WE ROOLZ: 80268\r\n' 14:53:21.158310 Received DISC (on stdin) 14:53:21.158324 ====> Client forcibly disconnected 14:53:21.158556 Received QUIT (on stdin) 14:53:21.158576 quits 14:53:21.158646 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE Testnum 137 === End of file server.cmd === Start of file valgrind137 ==82295== ==82295== Process terminating with default action of signal 4 (SIGILL) ==82295== Illegal opcode at address 0x4014B6F ==82295== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82295== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82295== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82295== by 0x4004266: main (tool_main.c:199) === End of file valgrind137 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/ftp_server.pid" --logfile "log/4/ftp_server.log" --logdir "log/4" --portfile "log/4/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44299 (log/4/server/ftp_server.port) RUN: FTP server is PID 80848 port 44299 * pid ftp => 80848 80848 test 0123...[FTP upload resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind123 ../src/curl -q --output log/4/curl123.out --include --trace-ascii log/4/trace123 --trace-time ftp://127.0.0.1:44299/123 -T log/4/upload123 -C 51 > log/4/stdout123 2> log/4/stderr123 123: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind123 ../src/curl -q --output log/4/curl123.out --include --trace-ascii log/4/trace123 --trace-time ftp://127.0.0.1:44299/123 -T log/4/upload123 -C 51 > log/4/stdout123 2> log/4/stderr123 === End of file commands.log === Start of file ftp_server.log 14:53:20.158661 FTP server listens on port IPv4/44299 14:53:20.158733 logged pid 80848 in log/4/server/ftp_server.pid 14:53:20.158754 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:20.241269 Running IPv4 version 14:53:20.241328 Listening on port 44299 14:53:20.241359 Wrote pid 80895 to log/4/server/ftp_sockctrl.pid 14:53:20.241382 Wrote port 44299 to log/4/server/ftp_server.port 14:53:20.241400 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 123 === End of file server.cmd === Start of file upload123 -------------------------------------------------- === End of file upload123 === Start of file valgrind123 ==82357== ==82357== Process terminating with default action of signal 4 (SIGILL) ==82357== Illegal opcode at address 0x4014B6F ==82357== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82357== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82357== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82357== by 0x4004266: main (tool_main.c:199) === End of file valgrind123 test 0140...[FTP download file with -z, expected to not transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind140 ../src/curl -q --output log/3/curl140.out --include --trace-ascii log/3/trace140 --trace-time ftp://127.0.0.1:37155/blalbla/140 -z "1 jan 2004" > log/3/stdout140 2> log/3/stderr140 140: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 140 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind140 ../src/curl -q --output log/3/curl140.out --include --trace-ascii log/3/trace140 --trace-time ftp://127.0.0.1:37155/blalbla/140 -z "1 jan 2004" > log/3/stdout140 2> log/3/stderr140 === End of file commands.log === Start of file ftp_server.log 14:53:21.213574 ====> Client connect 14:53:21.213741 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.214039 < "USER anonymous" 14:53:21.214075 > "331 We are happy you popped in![CR][LF]" 14:53:21.214242 < "PASS ftp@example.com" 14:53:21.214268 > "230 Welcome you silly person[CR][LF]" 14:53:21.214419 < "PWD" 14:53:21.214450 > "257 "/" is current directory[CR][LF]" 14:53:21.214601 < "EPSV" 14:53:21.214630 ====> Passive DATA channel requested by client 14:53:21.214644 DATA sockfilt for passive data channel starting... 14:53:21.216493 DATA sockfilt for passive data channel started (pid 82560) 14:53:21.216641 DATA sockfilt for passive data channel listens on port 35719 14:53:21.216695 > "229 Entering Passive Mode (|||35719|)[LF]" 14:53:21.216714 Client has been notified that DATA conn will be accepted on port 35719 14:53:21.216997 Client connects to port 35719 14:53:21.217030 ====> Client established passive DATA connection on port 35719 14:53:21.217121 < "TYPE I" 14:53:21.217156 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.217325 < "SIZE verifiedserver" 14:53:21.217362 > "213 17[CR][LF]" 14:53:21.217510 < "RETR verifiedserver" 14:53:21.217542 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.217628 =====> Closing passive DATA connection... 14:53:21.217645 Server disconnects passive DATA connection 14:53:21.217876 Server disconnected passive DATA connection 14:53:21.217901 DATA sockfilt for passive data channel quits (pid 82560) 14:53:21.218139 DATA sockfilt for passive data channel quit (pid 82560) 14:53:21.218160 =====> Closed passive DATA connection 14:53:21.218193 > "226 File transfer complete[CR][LF]" 14:53:21.265040 < "QUIT" 14:53:21.265095 > "221 bye bye baby[CR][LF]" 14:53:21.266094 MAIN sockfilt said DISC 14:53:21.266124 ====> Client disconnected 14:53:21.266196 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.296061 ====> Client connect 14:53:21.296571 Received DATA (on stdin) 14:53:21.296587 > 160 bytes data, server => client 14:53:21.296601 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.296617 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.296628 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.296701 < 16 bytes data, client => server 14:53:21.296714 'USER anonymous\r\n' 14:53:21.296896 Received DATA (on stdin) 14:53:21.296909 > 33 bytes data, server => client 14:53:21.296921 '331 We are happy you popped in!\r\n' 14:53:21.296972 < 22 bytes data, client => server 14:53:21.296985 'PASS ftp@example.com\r\n' 14:53:21.297085 Received DATA (on stdin) 14:53:21.297097 > 30 bytes data, server => client 14:53:21.297109 '230 Welcome you silly person\r\n' 14:53:21.297157 < 5 bytes data, client => server 14:53:21.297169 'PWD\r\n' 14:53:21.297267 Received DATA (on stdin) 14:53:21.297279 > 30 bytes data, server => client 14:53:21.297291 '257 "/" is current directory\r\n' 14:53:21.297343 < 6 bytes data, client => server 14:53:21.297354 'EPSV\r\n' 14:53:21.299545 Received DATA (on stdin) 14:53:21.299564 > 38 bytes data, server => client 14:53:21.299575 '229 Entering Passive Mode (|||35719|)\n' 14:53:21.299764 < 8 bytes data, client => server 14:53:21.299787 'TYPE I\r\n' 14:53:21.299977 Received DATA (on stdin) 14:53:21.299994 > 33 bytes data, server => client 14:53:21.300006 '200 I modify TYPE as you wanted\r\n' 14:53:21.300059 < 21 bytes data, client => server 14:53:21.300071 'SIZE verifiedserver\r\n' 14:53:21.300182 Received DATA (on stdin) 14:53:21.300194 > 8 bytes data, server => client 14:53:21.300204 '213 17\r\n' 14:53:21.300249 < 21 bytes data, client => server 14:53:21.300261 'RETR verifiedserver\r\n' 14:53:21.300465 Received DATA (on stdin) 14:53:21.300477 > 29 bytes data, server => client 14:53:21.300489 '150 Binary junk (17 bytes).\r\n' 14:53:21.301011 Received DATA (on stdin) 14:53:21.301024 > 28 bytes data, server => client 14:53:21.301036 '226 File transfer complete\r\n' 14:53:21.347667 < 6 bytes data, client => server 14:53:21.347694 'QUIT\r\n' 14:53:21.347919 Received DATA (on stdin) 14:53:21.347932 > 18 bytes data, server => client 14:53:21.347945 '221 bye bye baby\r\n' 14:53:21.348853 ====> Client disconnect 14:53:21.349015 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.299079 Running IPv4 version 14:53:21.299173 Listening on port 35719 14:53:21.299220 Wrote pid 82560 to log/3/server/ftp_sockdata.pid 14:53:21.299243 Received PING (on stdin) 14:53:21.299364 Received PORT (on stdin) 14:53:21.299764 ====> Client connect 14:53:21.300513 Received DATA (on stdin) 14:53:21.300526 > 17 bytes data, server => client 14:53:21.300538 'WE ROOLZ: 80281\r\n' 14:53:21.300559 Received DISC (on stdin) 14:53:21.300570 ====> Client forcibly disconnected 14:53:21.300727 Received QUIT (on stdin) 14:53:21.300739 quits 14:53:21.300795 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==82570== ==82570== Process terminating with default action of signal 4 (SIGILL) ==82570== Illegal opcode at address 0x4014B6F ==82570== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82570== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82570== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82570== by 0x4004266: main (tool_main.c:199) === End of file valgrind140 test 0139...[FTP download a newer file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind139 ../src/curl -q --output log/10/curl139.out --include --trace-ascii log/10/trace139 --trace-time ftp://127.0.0.1:42691/blalbla/139 -z "1 jan 1989" > log/10/stdout139 2> log/10/stderr139 139: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 139 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind139 ../src/curl -q --output log/10/curl139.out --include --trace-ascii log/10/trace139 --trace-time ftp://127.0.0.1:42691/blalbla/139 -z "1 jan 1989" > log/10/stdout139 2> log/10/stderr139 === End of file commands.log === Start of file ftp_server.log 14:53:21.206930 ====> Client connect 14:53:21.207139 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.207512 < "USER anonymous" 14:53:21.207554 > "331 We are happy you popped in![CR][LF]" 14:53:21.207748 < "PASS ftp@example.com" 14:53:21.207778 > "230 Welcome you silly person[CR][LF]" 14:53:21.207953 < "PWD" 14:53:21.207987 > "257 "/" is current directory[CR][LF]" 14:53:21.208168 < "EPSV" 14:53:21.208195 ====> Passive DATA channel requested by client 14:53:21.208210 DATA sockfilt for passive data channel starting... 14:53:21.210545 DATA sockfilt for passive data channel started (pid 82555) 14:53:21.210685 DATA sockfilt for passive data channel listens on port 36905 14:53:21.210742 > "229 Entering Passive Mode (|||36905|)[LF]" 14:53:21.210760 Client has been notified that DATA conn will be accepted on port 36905 14:53:21.211061 Client connects to port 36905 14:53:21.211092 ====> Client established passive DATA connection on port 36905 14:53:21.211235 < "TYPE I" 14:53:21.211271 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.211453 < "SIZE verifiedserver" 14:53:21.211494 > "213 17[CR][LF]" 14:53:21.211666 < "RETR verifiedserver" 14:53:21.211706 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.211801 =====> Closing passive DATA connection... 14:53:21.211823 Server disconnects passive DATA connection 14:53:21.212086 Server disconnected passive DATA connection 14:53:21.212119 DATA sockfilt for passive data channel quits (pid 82555) 14:53:21.212357 DATA sockfilt for passive data channel quit (pid 82555) 14:53:21.212385 =====> Closed passive DATA connection 14:53:21.212421 > "226 File transfer complete[CR][LF]" 14:53:21.257686 < "QUIT" 14:53:21.257747 > "221 bye bye baby[CR][LF]" 14:53:21.258322 MAIN sockfilt said DISC 14:53:21.258352 ====> Client disconnected 14:53:21.258524 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.289616 ====> Client connect 14:53:21.289980 Received DATA (on stdin) 14:53:21.289999 > 160 bytes data, server => client 14:53:21.290013 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.290026 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.290038 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.290125 < 16 bytes data, client => server 14:53:21.290142 'USER anonymous\r\n' 14:53:21.290380 Received DATA (on stdin) 14:53:21.290395 > 33 bytes data, server => client 14:53:21.290408 '331 We are happy you popped in!\r\n' 14:53:21.290463 < 22 bytes data, client => server 14:53:21.290478 'PASS ftp@example.com\r\n' 14:53:21.290601 Received DATA (on stdin) 14:53:21.290617 > 30 bytes data, server => client 14:53:21.290629 '230 Welcome you silly person\r\n' 14:53:21.290680 < 5 bytes data, client => server 14:53:21.290694 'PWD\r\n' 14:53:21.290808 Received DATA (on stdin) 14:53:21.290822 > 30 bytes data, CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind142 ../src/curl -q --output log/23/curl142.out --include --trace-ascii log/23/trace142 --trace-time ftp://127.0.0.1:39001/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/23/stdout142 2> log/23/stderr142 server => client 14:53:21.290834 '257 "/" is current directory\r\n' 14:53:21.290895 < 6 bytes data, client => server 14:53:21.290910 'EPSV\r\n' 14:53:21.293594 Received DATA (on stdin) 14:53:21.293614 > 38 bytes data, server => client 14:53:21.293627 '229 Entering Passive Mode (|||36905|)\n' 14:53:21.293936 < 8 bytes data, client => server 14:53:21.293951 'TYPE I\r\n' 14:53:21.294095 Received DATA (on stdin) 14:53:21.294109 > 33 bytes data, server => client 14:53:21.294122 '200 I modify TYPE as you wanted\r\n' 14:53:21.294176 < 21 bytes data, client => server 14:53:21.294190 'SIZE verifiedserver\r\n' 14:53:21.294316 Received DATA (on stdin) 14:53:21.294329 > 8 bytes data, server => client 14:53:21.294341 '213 17\r\n' 14:53:21.294393 < 21 bytes data, client => server 14:53:21.294407 'RETR verifiedserver\r\n' 14:53:21.294649 Received DATA (on stdin) 14:53:21.294664 > 29 bytes data, server => client 14:53:21.294676 '150 Binary junk (17 bytes).\r\n' 14:53:21.295242 Received DATA (on stdin) 14:53:21.295257 > 28 bytes data, server => client 14:53:21.295270 '226 File transfer complete\r\n' 14:53:21.340295 < 6 bytes data, client => server 14:53:21.340332 'QUIT\r\n' 14:53:21.340573 Received DATA (on stdin) 14:53:21.340587 > 18 bytes data, server => client 14:53:21.340599 '221 bye bye baby\r\n' 14:53:21.341075 ====> Client disconnect 14:53:21.341198 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.292914 Running IPv4 version 14:53:21.293230 Listening on port 36905 14:53:21.293279 Wrote pid 82555 to log/10/server/ftp_sockdata.pid 14:53:21.293305 Received PING (on stdin) 14:53:21.293406 Received PORT (on stdin) 14:53:21.293827 ====> Client connect 14:53:21.294704 Received DATA (on stdin) 14:53:21.294718 > 17 bytes data, server => client 14:53:21.294730 'WE ROOLZ: 80280\r\n' 14:53:21.294757 Received DISC (on stdin) 14:53:21.294769 ====> Client forcibly disconnected 14:53:21.294948 Received QUIT (on stdin) 14:53:21.294961 quits 14:53:21.295020 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==82564== ==82564== Process terminating with default action of signal 4 (SIGILL) ==82564== Illegal opcode at address 0x4014B6F ==82564== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82564== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82564== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82564== by 0x4004266: main (tool_main.c:199) === End of file valgrind139 test 0142...[FTP URL with 150 dir levels] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind142 ../src/curl -q --output log/23/curl142.out --include --trace-ascii log/23/trace142 --trace-time ftp://127.0.0.1:39001/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/23/stdout142 2> log/23/stderr142 142: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind142 ../src/curl -q --output log/23/curl142.out --include --trace-ascii log/23/trace142 --trace-time ftp://127.0.0.1:39001/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/23/stdout142 2> log/23/stderr142 === End of file commands.log === Start of file ftp_server.log 14:53:21.397223 ====> Client connect 14:53:21.397413 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.397749 < "USER anonymous" 14:53:21.397803 > "331 We are happy you popped in![CR][LF]" 14:53:21.398019 < "PASS ftp@example.com" 14:53:21.398046 > "230 Welcome you silly person[CR][LF]" 14:53:21.398193 < "PWD" 14:53:21.398222 > "257 "/" is current directory[CR][LF]" 14:53:21.398383 < "EPSV" 14:53:21.398409 ====> Passive DATA channel requested by client 14:53:21.398420 DATA sockfilt for passive data channel starting... 14:53:21.399739 DATA sockfilt for passive data channel started (pid 82703) 14:53:21.399830 DATA sockfilt for passive data channel listens on port 46091 14:53:21.399864 > "229 Entering Passive Mode (|||46091|)[LF]" 14:53:21.399879 Client has been notified that DATA conn will be accepted on port 46091 14:53:21.400077 Client connects to port 46091 14:53:21.400102 ====> Client established passive DATA connection on port 46091 14:53:21.400166 < "TYPE I" 14:53:21.400188 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.400372 < "SIZE verifiedserver" 14:53:21.400412 > "213 17[CR][LF]" 14:53:21.400696 < "RETR verifiedserver" 14:53:21.400731 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.400827 =====> Closing passive DATA connection... 14:53:21.400844 Server disconnects passive DATA connection 14:53:21.401218 Server disconnected passive DATA connection 14:53:21.401244 DATA sockfilt for passive data channel quits (pid 82703) 14:53:21.401491 DATA sockfilt for passive data channel quit (pid 82703) 14:53:21.401515 =====> Closed passive DATA connection 14:53:21.401545 > "226 File transfer complete[CR][LF]" 14:53:21.450477 < "QUIT" 14:53:21.450524 > "221 bye bye baby[CR][LF]" 14:53:21.451433 MAIN sockfilt said DISC 14:53:21.451463 ====> Client disconnected 14:53:21.451531 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.479925 ====> Client connect 14:53:21.480242 Received DATA (on stdin) 14:53:21.480257 > 160 bytes data, server => client 14:53:21.480270 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.480283 ' \r\n220- / __| | | | |_) | | \r\n22CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind143 ../src/curl -q --output log/13/curl143.out --include --trace-ascii log/13/trace143 --trace-time "ftp://127.0.0.1:36645/%2ftmp/moo/143;type=a" > log/13/stdout143 2> log/13/stderr143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44851/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 0- | (__| |_| | ' 14:53:21.480294 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.480373 < 16 bytes data, client => server 14:53:21.480387 'USER anonymous\r\n' 14:53:21.480633 Received DATA (on stdin) 14:53:21.480654 > 33 bytes data, server => client 14:53:21.480667 '331 We are happy you popped in!\r\n' 14:53:21.480751 < 22 bytes data, client => server 14:53:21.480762 'PASS ftp@example.com\r\n' 14:53:21.480862 Received DATA (on stdin) 14:53:21.480874 > 30 bytes data, server => client 14:53:21.480884 '230 Welcome you silly person\r\n' 14:53:21.480929 < 5 bytes data, client => server 14:53:21.480941 'PWD\r\n' 14:53:21.481040 Received DATA (on stdin) 14:53:21.481052 > 30 bytes data, server => client 14:53:21.481063 '257 "/" is current directory\r\n' 14:53:21.481119 < 6 bytes data, client => server 14:53:21.481131 'EPSV\r\n' 14:53:21.482700 Received DATA (on stdin) 14:53:21.482712 > 38 bytes data, server => client 14:53:21.482721 '229 Entering Passive Mode (|||46091|)\n' 14:53:21.482848 < 8 bytes data, client => server 14:53:21.482858 'TYPE I\r\n' 14:53:21.483017 Received DATA (on stdin) 14:53:21.483031 > 33 bytes data, server => client 14:53:21.483043 '200 I modify TYPE as you wanted\r\n' 14:53:21.483096 < 21 bytes data, client => server 14:53:21.483109 'SIZE verifiedserver\r\n' 14:53:21.483240 Received DATA (on stdin) 14:53:21.483254 > 8 bytes data, server => client 14:53:21.483266 '213 17\r\n' 14:53:21.483418 < 21 bytes data, client => server 14:53:21.483435 'RETR verifiedserver\r\n' 14:53:21.483689 Received DATA (on stdin) 14:53:21.483704 > 29 bytes data, server => client 14:53:21.483716 '150 Binary junk (17 bytes).\r\n' 14:53:21.484365 Received DATA (on stdin) 14:53:21.484380 > 28 bytes data, server => client 14:53:21.484393 '226 File transfer complete\r\n' 14:53:21.533126 < 6 bytes data, client => server 14:53:21.533152 'QUIT\r\n' 14:53:21.533345 Received DATA (on stdin) 14:53:21.533357 > 18 bytes data, server => client 14:53:21.533368 '221 bye bye baby\r\n' 14:53:21.534194 ====> Client disconnect 14:53:21.534352 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.482408 Running IPv4 version 14:53:21.482459 Listening on port 46091 14:53:21.482489 Wrote pid 82703 to log/23/server/ftp_sockdata.pid 14:53:21.482506 Received PING (on stdin) 14:53:21.482578 Received PORT (on stdin) 14:53:21.482825 ====> Client connect 14:53:21.483785 Received DATA (on stdin) 14:53:21.483801 > 17 bytes data, server => client 14:53:21.483814 'WE ROOLZ: 80287\r\n' 14:53:21.483952 Received DISC (on stdin) 14:53:21.483972 ====> Client forcibly disconnected 14:53:21.484072 Received QUIT (on stdin) 14:53:21.484085 quits 14:53:21.484138 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==82779== ==82779== Process terminating with default action of signal 4 (SIGILL) ==82779== Illegal opcode at address 0x4014B6F ==82779== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82779== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82779== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82779== by 0x4004266: main (tool_main.c:199) === End of file valgrind142 test 0143...[FTP URL with type=a] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind143 ../src/curl -q --output log/13/curl143.out --include --trace-ascii log/13/trace143 --trace-time "ftp://127.0.0.1:36645/%2ftmp/moo/143;type=a" > log/13/stdout143 2> log/13/stderr143 143: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind143 ../src/curl -q --output log/13/curl143.out --include --trace-ascii log/13/trace143 --trace-time "ftp://127.0.0.1:36645/%2ftmp/moo/143;type=a" > log/13/stdout143 2> log/13/stderr143 === End of file commands.log === Start of file ftp_server.log 14:53:21.419823 ====> Client connect 14:53:21.419996 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.420311 < "USER anonymous" 14:53:21.420351 > "331 We are happy you popped in![CR][LF]" 14:53:21.420540 < "PASS ftp@example.com" 14:53:21.420569 > "230 Welcome you silly person[CR][LF]" 14:53:21.420742 < "PWD" 14:53:21.420774 > "257 "/" is current directory[CR][LF]" 14:53:21.420959 < "EPSV" 14:53:21.420985 ====> Passive DATA channel requested by client 14:53:21.420999 DATA sockfilt for passive data channel starting... 14:53:21.422607 DATA sockfilt for passive data channel started (pid 82719) 14:53:21.422726 DATA sockfilt for passive data channel listens on port 44809 14:53:21.422764 > "229 Entering Passive Mode (|||44809|)[LF]" 14:53:21.422784 Client has been notified that DATA conn will be accepted on port 44809 14:53:21.423021 Client connects to port 44809 14:53:21.423051 ====> Client established passive DATA connection on port 44809 14:53:21.423131 < "TYPE I" 14:53:21.423162 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.423337 < "SIZE verifiedserver" 14:53:21.423371 > "213 17[CR][LF]" 14:53:21.423540 < "RETR verifiedserver" 14:53:21.423573 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.423665 =====> Closing passive DATA connection... 14:53:21.423682 Server disconnects passive DATA connection 14:53:21.423970 Server disconnected passive DATA connection 14:53:21.423999 DATA sockfilt for passive data channel quits (pid 82719) 14:53:21.424217 DATA sockfilt for passive data channel quit (pid 82719) 14:53:21.424240 =====> Closed passive DATA connection 14:53:21.424268 > "226 File transfer complete[CR][LF]" 14:53:21.470806 < "QUIT" 14:53:21.470860 > "221 bye bye baby[CR][LF]" 14:53:21.471614 MAIN sockfilt said DISC 14:53:21.471647 ====> Client disconnected 14:53:21.471713 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.502519 ====> Client connect 14:53:21.502833 Received DATA (on stdin) 14:53:21.502851 > 160 bytes data, server => client 14:53:21.502865 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.502878 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.502890 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.502969 < 16 bytes data, client => server 14:53:21.502986 'USER anonymous\r\n' 14:53:21.503178 Received DATA (on stdin) 14:53:21.503193 > 33 bytes data, server => client 14:53:21.503206 '331 We are happy you popped in!\r\n' 14:53:21.503261 < 22 bytes data, client => server 14:53:21.503276 'PASS ftp@example.com\r\n' 14:53:21.503391 Received DATA (on stdin) 14:53:21.503405 > 30 bytes data, server => client 14:53:21.503417 '230 Welcome you silly person\r\n' 14:53:21.503469 < 5 bytes data, client => server 14:53:21.503483 'PWD\r\n' 14:53:21.503594 Received DATA (on stdin) 14:53:21.503608 > 30 bytes data, server => client 14:53:21.503620 '257 "/" is current directory\r\n' 14:53:21.503684 < 6 bytes data, client => server 14:53:21.503699 'EPSV\r\n' 14:53:21.505609 Received DATA (on stdin) 14:53:21.505624 > 38 bytes data, server => client 14:53:21.505637 '229 Entering Passive Mode (|||44809|)\n' 14:53:21.505783 < 8 bytes data, client => server 14:53:21.505796 'TYPE I\r\n' 14:53:21.505985 Received DATA (on stdin) 14:53:21.506002 > 33 bytes data, server => client 14:53:21.506015 '200 I modify TYPE as you wanted\r\n' 14:53:21.506069 < 21 bytes data, client => server 14:53:21.506082 'SIZE verifiedserver\r\n' 14:53:21.506190 Received DATA (on stdin) 14:53:21.506203 > 8 bytes data, server => client 14:53:21.506215 '213 17\r\n' 14:53:21.506265 < 21 bytes data, client => server 14:53:21.506278 'RETR verifiedserver\r\n' 14:53:21.506505 Received DATA (on stdin) 14:53:21.506539 > 29 bytes data, server => client 14:53:21.506566 '150 Binary junk (17 bytes).\r\n' 14:53:21.507088 Received DATA (on stdin) 14:53:21.507103 > 28 bytes data, server => client 14:53:21.507116 '226 File transfer complete\r\n' 14:53:21.553460 < 6 bytes data, client => server 14:53:21.553487 'QUIT\r\n' 14:53:21.553685 Received DATA (on stdin) 14:53:21.553703 > 18 bytes data, server => client 14:53:21.553715 '221 bye bye baby\r\n' 14:53:21.554380 ====> Client disconnect 14:53:21.554536 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.505248 Running IPv4 version 14:53:21.505304 Listening on port 44809 14:53:21.505343 Wrote pid 82719 to log/13/server/ftp_sockdata.pid 14:53:21.505365 Received PING (on stdin) 14:53:21.505456 Received PORT (on stdin) 14:53:21.505751 ====> Client connect 14:53:21.506594 Received DATA (on stdin) 14:53:21.506609 > 17 bytes data, server => client 14:53:21.506622 'WE ROOLZ: 80108\r\n' 14:53:21.506647 Received DISC (on stdin) 14:53:21.506660 ====> Client forcibly disconnected 14:53:21.506828 Received QUIT (on stdin) 14:53:21.506843 quits 14:53:21.506902 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==82784== ==82784== Process terminating with default action of signal 4 (SIGILL) ==82784== Illegal opcode at address 0x4014B6F ==82784== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82784== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82784== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82784== by 0x4004266: main (tool_main.c:199) === End of file valgrind143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind145 ../src/curl -q --output log/18/curl145.out --include --trace-ascii log/18/trace145 --trace-time ftp://127.0.0.1:41069/ -P - -l > log/18/stdout145 2> log/18/stderr145 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind144 ../src/curl -q --output log/20/curl144.out --include --trace-ascii log/20/trace144 --trace-time ftp://127.0.0.1:36903/ -P - -l > log/20/stdout144 2> log/20/stderr144 test 0141...[FTP download info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44851/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 141: stdout FAILED: --- log/17/check-expected 2025-09-11 14:53:22.465530533 +0000 +++ log/17/check-generated 2025-09-11 14:53:22.465530533 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] -Content-Length: 42[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/17/ dir after test 141 === Start of file check-expected Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] Content-Length: 42[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44851/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 === End of file commands.log === Start of file ftp_server.log 14:53:21.388756 ====> Client connect 14:53:21.388938 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.389255 < "USER anonymous" 14:53:21.389290 > "331 We are happy you popped in![CR][LF]" 14:53:21.389468 < "PASS ftp@example.com" 14:53:21.389497 > "230 Welcome you silly person[CR][LF]" 14:53:21.389657 < "PWD" 14:53:21.389688 > "257 "/" is current directory[CR][LF]" 14:53:21.389855 < "EPSV" 14:53:21.389885 ====> Passive DATA channel requested by client 14:53:21.389899 DATA sockfilt for passive data channel starting... 14:53:21.391706 DATA sockfilt for passive data channel started (pid 82699) 14:53:21.391818 DATA sockfilt for passive data channel listens on port 37789 14:53:21.391858 > "229 Entering Passive Mode (|||37789|)[LF]" 14:53:21.391877 Client has been notified that DATA conn will be accepted on port 37789 14:53:21.392104 Client connects to port 37789 14:53:21.392134 ====> Client established passive DATA connection on port 37789 14:53:21.392208 < "TYPE I" 14:53:21.392239 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.392399 < "SIZE verifiedserver" 14:53:21.392434 > "213 17[CR][LF]" 14:53:21.392584 < "RETR verifiedserver" 14:53:21.392616 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.392698 =====> Closing passive DATA connection... 14:53:21.392715 Server disconnects passive DATA connection 14:53:21.392951 Server disconnected passive DATA connection 14:53:21.392977 DATA sockfilt for passive data channel quits (pid 82699) 14:53:21.393216 DATA sockfilt for passive data channel quit (pid 82699) 14:53:21.393238 =====> Closed passive DATA connection 14:53:21.393268 > "226 File transfer complete[CR][LF]" 14:53:21.442208 < "QUIT" 14:53:21.442263 > "221 bye bye baby[CR][LF]" 14:53:21.443412 MAIN sockfilt said DISC 14:53:21.443443 ====> Client disconnected 14:53:21.443528 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.471462 ====> Client connect 14:53:21.471771 Received DATA (on stdin) 14:53:21.471787 > 160 bytes data, server => client 14:53:21.471801 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.471814 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.471826 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.471906 < 16 bytes data, client => server 14:53:21.471920 'USER anonymous\r\n' 14:53:21.472112 Received DATA (on stdin) 14:53:21.472125 > 33 bytes data, server => client 14:53:21.472138 '331 We are happy you popped in!\r\n' 14:53:21.472190 < 22 bytes data, client => server 14:53:21.472204 'PASS ftp@example.com\r\n' 14:53:21.472315 Received DATA (on stdin) 14:53:21.472328 > 30 bytes data, server => client 14:53:21.472340 '230 Welcome you silly person\r\n' 14:53:21.472389 < 5 bytes data, client => server 14:53:21.472402 'PWD\r\n' 14:53:21.472507 Received DATA (on stdin) 14:53:21.472520 > 30 bytes data, server => client 14:53:21.472532 '257 "/" is current directory\r\n' 14:53:21.472591 < 6 bytes data, client => server 14:53:21.472603 'EPSV\r\n' 14:53:21.474703 Received DATA (on stdin) 14:53:21.474717 > 38 bytes data, server => client 14:53:21.474730 '229 Entering Passive Mode (|||37789|)\n' 14:53:21.474871 < 8 bytes data, client => server 14:53:21.474883 'TYPE I\r\n' 14:53:21.475059 Received DATA (on stdin) 14:53:21.475072 > 33 bytes data, server => client 14:53:21.475084 '200 I modify TYPE as you wanted\r\n' 14:53:21.475133 < 21 bytes data, client => server 14:53:21.475145 'SIZE verifiedserver\r\n' 14:53:21.475251 Received DATA (on stdin) 14:53:21.475264 > 8 bytes data, server => client 14:53:21.475275 '213 17\r\n' 14:53:21.475322 < 21 bytes data, client => server 14:53:21.475334 'RETR verifiedserver\r\n' 14:53:21.475534 Received DATA (on stdin) 14:53:21.475547 > 29 bytes data, server => client 14:53:21.475559 '150 Binary junk (17 bytes).\r\n' 14:53:21.476088 Received DATA (on stdin) 14:53:21.476102 > 28 bytes data, server => client 14:53:21.476115 '226 File transfer complete\r\n' 14:53:21.524813 < 6 bytes data, client => server 14:53:21.524857 'QUIT\r\n' 14:53:21.525087 Received DATA (on stdin) 14:53:21.525100 > 18 bytes data, server => client 14:53:21.525112 '221 bye bye baby\r\n' 14:53:21.526171 ====> Client disconnect 14:53:21.526356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.474348 Running IPv4 version 14:53:21.474403 Listening on port 37789 14:53:21.474443 Wrote pid 82699 to log/17/server/ftp_sockdata.pid 14:53:21.474466 Received PING (on stdin) 14:53:21.474554 Received PORT (on stdin) 14:53:21.474843 ====> Client connect 14:53:21.475583 Received DATA (on stdin) 14:53:21.475597 > 17 bytes data, server => client 14:53:21.475609 'WE ROOLZ: 80286\r\n' 14:53:21.475633 Received DISC (on stdin) 14:53:21.475645 ====> Client forcibly disconnected 14:53:21.475802 Received QUIT (on stdin) 14:53:21.475814 quits 14:53:21.475872 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==82723== ==82723== Process terminating with default action of signal 4 (SIGILL) ==82723== Illegal opcode at address 0x4014B6F ==82723== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82723== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82723== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82723== by 0x4004266: main (tool_main.c:199) === End of file valgrind141 test 0145...[FTP NLST dir list with weird reply code, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind145 ../src/curl -q --output log/18/curl145.out --include --trace-ascii log/18/trace145 --trace-time ftp://127.0.0.1:41069/ -P - -l > log/18/stdout145 2> log/18/stderr145 145: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind145 ../src/curl -q --output log/18/curl145.out --include --trace-ascii log/18/trace145 --trace-time ftp://127.0.0.1:41069/ -P - -l > log/18/stdout145 2> log/18/stderr145 === End of file commands.log === Start of file ftp_server.log 14:53:21.488928 ====> Client connect 14:53:21.489120 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.489804 < "USER anonymous" 14:53:21.489844 > "331 We are happy you popped in![CR][LF]" 14:53:21.490244 < "PASS ftp@example.com" 14:53:21.490302 > "230 Welcome you silly person[CR][LF]" 14:53:21.490516 < "PWD" 14:53:21.490553 > "257 "/" is current directory[CR][LF]" 14:53:21.490745 < "EPSV" 14:53:21.490776 ====> Passive DATA channel requested by client 14:53:21.490791 DATA sockfilt for passive data channel starting... 14:53:21.492433 DATA sockfilt for passive data channel started (pid 82813) 14:53:21.492556 DATA sockfilt for passive data channel listens on port 46507 14:53:21.492607 > "229 Entering Passive Mode (|||46507|)[LF]" 14:53:21.492627 Client has been notified that DATA conn will be accepted on port 46507 14:53:21.492869 Client connects to port 46507 14:53:21.492900 ====> Client established passive DATA connection on port 46507 14:53:21.492979 < "TYPE I" 14:53:21.493012 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.493208 < "SIZE verifiedserver" 14:53:21.493250 > "213 17[CR][LF]" 14:53:21.493436 < "RETR verifiedserver" 14:53:21.493474 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.493578 =====> Closing passive DATA connection... 14:53:21.493601 Server disconnects passive DATA connection 14:53:21.493868 Server disconnected passive DATA connection 14:53:21.493901 DATA sockfilt for passive data channel quits (pid 82813) 14:53:21.494112 DATA sockfilt for passive data channel quit (pid 82813) 14:53:21.494140 =====> Closed passive DATA connection 14:53:21.494174 > "226 File transfer complete[CR][LF]" 14:53:21.540662 < "QUIT" 14:53:21.540718 > "221 bye bye baby[CR][LF]" 14:53:21.542048 MAIN sockfilt said DISC 14:53:21.542079 ====> Client disconnected 14:53:21.542157 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.571378 ====> Client connect 14:53:21.571963 Received DATA (on stdin) 14:53:21.571987 > 160 bytes data, server => client 14:53:21.572002 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.572015 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.572027 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.572447 < 16 bytes data, client => server 14:53:21.572468 'USER anonymous\r\n' 14:53:21.572674 Received DATA (on stdin) 14:53:21.572691 > 33 bytes data, server => client 14:53:21.572704 '331 We are happy you popped in!\r\n' 14:53:21.572763 < 22 bytes data, client => server 14:53:21.572781 'PASS ftp@example.com\r\n' 14:53:21.573130 Received DATA (on stdin) 14:53:21.573148 > 30 bytes data, server => client 14:53:21.573162 '230 Welcome you silly person\r\n' 14:53:21.573235 < 5 bytes data, client => server 14:53:21.573252 'PWD\r\n' 14:53:21.573377 Received DATA (on stdin) 14:53:21.573392 > 30 bytes data, server => client 14:53:21.573404 '257 "/" is current directory\r\n' 14:53:21.573467 < 6 bytes data, client => server 14:53:21.573482 'EPSV\r\n' 14:53:21.575455 Received DATA (on stdin) 14:53:21.575472 > 38 bytes data, server => client 14:53:21.575485 '229 Entering Passive Mode (|||46507|)\n' 14:53:21.575631 < 8 bytes data, client => server 14:53:21.575646 'TYPE I\r\n' 14:53:21.575835 Received DATA (on stdin) 14:53:21.575850 > 33 bytes data, server => client 14:53:21.575863 '200 I modify TYPE as you wanted\r\n' 14:53:21.575923 < 21 bytes data, client => server 14:53:21.575941 'SIZE verifiedserver\r\n' 14:53:21.576073 Received DATA (on stdin) 14:53:21.576088 > 8 bytes data, server => client 14:53:21.576101 '213 17\r\n' 14:53:21.576156 < 21 bytes data, client => server 14:53:21.576171 'RETR verifiedserver\r\n' 14:53:21.576428 Received DATA (on stdin) 14:53:21.576443 > 29 bytes data, server => client 14:53:21.576456 '150 Binary junk (17 bytes).\r\n' 14:53:21.576998 Received DATA (on stdin) 14:53:21.577013 > 28 bytes data, server => client 14:53:21.577026 '226 File transfer complete\r\n' 14:53:21.623240 < 6 bytes data, client => server 14:53:21.623276 'QUIT\r\n' 14:53:21.623541 Received DATA (on stdin) 14:53:21.623555 > 18 bytes data, server => client 14:53:21.623567 '221 bye bye baby\r\n' 14:53:21.624809 ====> Client disconnect 14:53:21.624981 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.575063 Running IPv4 version 14:53:21.575121 Listening on port 46507 14:53:21.575164 Wrote pid 82813 to log/18/server/ftp_sockdata.pid 14:53:21.575187 Received PING (on stdin) 14:53:21.575286 Received PORT (on stdin) 14:53:21.575600 ====> Client connect 14:53:21.576486 Received DATA (on stdin) 14:53:21.576502 > 17 bytes data, server => client 14:53:21.576515 'WE ROOLZ: 80342\r\n' 14:53:21.576541 Received DISC (on stdin) 14:53:21.576555 ====> Client forcibly disconnected 14:53:21.576729 Received QUIT (on stdin) 14:53:21.576743 quits 14:53:21.576802 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 550 Have a taste on this Testnum 145 === End of file server.cmd === Start of file valgrind145 ==82906== ==82906== Process terminating with default action of signal 4 (SIGILL) ==82906== Illegal opcode at address 0x4014B6F ==82906== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82906== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82906== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82906== by 0x4004266: main (tool_main.c:199) === End of file valgrind145 test 0144...[FTP NLST dir list without contents, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind144 ../src/curl -q --output log/20/curl144.out --include --trace-ascii log/20/trace144 --trace-time ftp://127.0.0.1:36903/ -P - -l > log/20/stdout144 2> log/20/stderr144 144: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind144 ../src/curl -q --output log/20/curl144.out --include --trace-ascii log/20/trace144 --trace-time ftp://127.0.0.1:36903/ -P - -l > log/20/stdout144 2> log/20/stderr144 === End of file commands.log === Start of file ftp_server.log 14:53:21.488681 ====> Client connect 14:53:21.488862 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.489202 < "USER anonymous" 14:53:21.489246 > "331 We are happy you popped in![CR][LF]" 14:53:21.489443 < "PASS ftp@example.com" 14:53:21.489475 > "230 Welcome you silly person[CR][LF]" 14:53:21.489646 < "PWD" 14:53:21.489681 > "257 "/" is current directory[CR][LF]" 14:53:21.489865 < "EPSV" 14:53:21.489895 ====> Passive DATA channel requested by client 14:53:21.489911 DATA sockfilt for passive data channel starting... 14:53:21.492247 DATA sockfilt for passive data channel started (pid 82811) 14:53:21.492380 DATA sockfilt for passive data channel listens on port 34467 14:53:21.492430 > "229 Entering Passive Mode (|||34467|)[LF]" 14:53:21.492450 Client has been notified that DATA conn will be accepted on port 34467 14:53:21.492640 Client connects to port 34467 14:53:21.492662 ====> Client established passive DATA connection on port 34467 14:53:21.492901 < "TYPE I" 14:53:21.492941 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.493126 < "SIZE verifiedserver" 14:53:21.493175 > "213 17[CR][LF]" 14:53:21.494433 < "RETR verifiedserver" 14:53:21.494484 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.494580 =====> Closing passive DATA connection... 14:53:21.494601 Server disconnects passive DATA connection 14:53:21.494861 Server discoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind147 ../src/curl -q --output log/1/curl147.out --include --trace-ascii log/1/trace147 --trace-time ftp://127.0.0.1:43113/first/dir/here/147 --ftp-create-dirs > log/1/stdout147 2> log/1/stderr147 nnected passive DATA connection 14:53:21.494901 DATA sockfilt for passive data channel quits (pid 82811) 14:53:21.495188 DATA sockfilt for passive data channel quit (pid 82811) 14:53:21.495217 =====> Closed passive DATA connection 14:53:21.495258 > "226 File transfer complete[CR][LF]" 14:53:21.541915 < "QUIT" 14:53:21.541968 > "221 bye bye baby[CR][LF]" 14:53:21.543156 MAIN sockfilt said DISC 14:53:21.543188 ====> Client disconnected 14:53:21.543254 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.571394 ====> Client connect 14:53:21.571700 Received DATA (on stdin) 14:53:21.571720 > 160 bytes data, server => client 14:53:21.571734 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.571747 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.571759 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.571843 < 16 bytes data, client => server 14:53:21.571861 'USER anonymous\r\n' 14:53:21.572072 Received DATA (on stdin) 14:53:21.572087 > 33 bytes data, server => client 14:53:21.572100 '331 We are happy you popped in!\r\n' 14:53:21.572155 < 22 bytes data, client => server 14:53:21.572170 'PASS ftp@example.com\r\n' 14:53:21.572297 Received DATA (on stdin) 14:53:21.572310 > 30 bytes data, server => client 14:53:21.572323 '230 Welcome you silly person\r\n' 14:53:21.572374 < 5 bytes data, client => server 14:53:21.572387 'PWD\r\n' 14:53:21.572501 Received DATA (on stdin) 14:53:21.572514 > 30 bytes data, server => client 14:53:21.572526 '257 "/" is current directory\r\n' 14:53:21.572589 < 6 bytes data, client => server 14:53:21.572603 'EPSV\r\n' 14:53:21.575277 Received DATA (on stdin) 14:53:21.575299 > 38 bytes data, server => client 14:53:21.575313 '229 Entering Passive Mode (|||34467|)\n' 14:53:21.575583 < 8 bytes data, client => server 14:53:21.575602 'TYPE I\r\n' 14:53:21.575763 Received DATA (on stdin) 14:53:21.575777 > 33 bytes data, server => client 14:53:21.575789 '200 I modify TYPE as you wanted\r\n' 14:53:21.575840 < 21 bytes data, client => server 14:53:21.575853 'SIZE verifiedserver\r\n' 14:53:21.576002 Received DATA (on stdin) 14:53:21.576018 > 8 bytes data, server => client 14:53:21.576035 '213 17\r\n' 14:53:21.577122 < 21 bytes data, client => server 14:53:21.577144 'RETR verifiedserver\r\n' 14:53:21.577426 Received DATA (on stdin) 14:53:21.577441 > 29 bytes data, server => client 14:53:21.577454 '150 Binary junk (17 bytes).\r\n' 14:53:21.578088 Received DATA (on stdin) 14:53:21.578106 > 28 bytes data, server => client 14:53:21.578119 '226 File transfer complete\r\n' 14:53:21.623671 < 6 bytes data, client => server 14:53:21.623690 'QUIT\r\n' 14:53:21.625029 Received DATA (on stdin) 14:53:21.625044 > 18 bytes data, server => client 14:53:21.625057 '221 bye bye baby\r\n' 14:53:21.625918 ====> Client disconnect 14:53:21.626077 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.574875 Running IPv4 version 14:53:21.574939 Listening on port 34467 14:53:21.574976 Wrote pid 82811 to log/20/server/ftp_sockdata.pid 14:53:21.574998 Received PING (on stdin) 14:53:21.575105 Received PORT (on stdin) 14:53:21.575416 ====> Client connect 14:53:21.577484 Received DATA (on stdin) 14:53:21.577499 > 17 bytes data, server => client 14:53:21.577512 'WE ROOLZ: 80341\r\n' 14:53:21.577538 Received DISC (on stdin) 14:53:21.577552 ====> Client forcibly disconnected 14:53:21.577742 Received QUIT (on stdin) 14:53:21.577762 quits 14:53:21.577833 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 450 No files found Testnum 144 === End of file server.cmd === Start of file valgrind144 ==82907== ==82907== Process terminating with default action of signal 4 (SIGILL) ==82907== Illegal opcode at address 0x4014B6F ==82907== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==82907== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==82907== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==82907== by 0x4004266: main (tool_main.c:199) === End of file valgrind144 test 0147...[FTP with --ftp-create-dirs (failing CWD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind147 ../src/curl -q --output log/1/curl147.out --include --trace-ascii log/1/trace147 --trace-time ftp://127.0.0.1:43113/first/dir/here/147 --ftp-create-dirs > log/1/stdout147 2> log/1/stderr147 147: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind147 ../src/curl -q --output log/1/curl147.out --include --trace-ascii log/1/trace147 --trace-time ftp://127.0.0.1:43113/first/dir/here/147 --ftp-create-dirs > log/1/stdout147 2> log/1/stderr147 === End of file commands.log === Start of file ftp_server.log 14:53:21.629780 ====> Client connect 14:53:21.629931 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.630318 < "USER anonymous" 14:53:21.630361 > "331 We are happy you popped in![CR][LF]" 14:53:21.630534 < "PASS ftp@example.com" 14:53:21.630565 > "230 Welcome you silly person[CR][LF]" 14:53:21.630717 < "PWD" 14:53:21.630745 > "257 "/" is current directory[CR][LF]" 14:53:21.630899 < "EPSV" 14:53:21.630923 ====> Passive DATA channel requested by client 14:53:21.630936 DATA sockfilt for passive data channel starting... 14:53:21.632976 DATA sockfilt for passive data channel started (pid 83032) 14:53:21.633086 DATA sockfilt for passive data channel listens on port 40673 14:53:21.633126 > "229 Entering Passive Mode (|||40673|)[LF]" 14:53:21.633145 Client has been notified that DATA conn will be accepted on port 40673 14:53:21.633327 Client connects to port 40673 14:53:21.633355 ====> Client established passive DATA connection on port 40673 14:53:21.633459 < "TYPE I" 14:53:21.633487 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.634103 < "SIZE verifiedserver" 14:53:21.634140 > "213 17[CR][LF]" 14:53:21.634289 < "RETR verifiedserver" 14:53:21.634319 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.634406 =====> Closing passive DATA connection... 14:53:21.634421 Server disconnects passive DATA connection 14:53:21.634648 Server disconnected passive DATA connection 14:53:21.634674 DATA sockfilt for passive data channel quits (pid 83032) 14:53:21.634898 DATA sockfilt for passive data channel quit (pid 83032) 14:53:21.634918 =====> Closed passive DATA connection 14:53:21.634943 > "226 File transfer complete[CR][LF]" 14:53:21.677943 < "QUIT" 14:53:21.677998 > "221 bye bye baby[CR][LF]" 14:53:21.678703 MAIN sockfilt said DISC 14:53:21.678731 ====> Client disconnected 14:53:21.678797 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:20.712479 ====> Client connect 14:53:20.712762 Received DATA (on stdin) 14:53:20.712778 > 160 bytes data, server => client 14:53:20.712790 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:20.712801 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:20.712811 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:20.712888 < 16 bytes data, client => server 14:53:20.712900 'USER anonymous\r\n' 14:53:20.713183 Received DATA (on stdin) 14:53:20.713196 > 33 bytes data, server => client 14:53:20.713207 '331 We are happy you popped in!\r\n' 14:53:20.713259 < 22 bytes data, client => server 14:53:20.713271 'PASS ftp@example.com\r\n' 14:53:20.713384 Received DATA (on stdin) 14:53:20.713400 > 30 bytes data, server => client 14:53:20.713410 '230 Welcome you silCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:34519/first/dir/here/146 ftp://127.0.0.1:34519/146 > log/11/stdout146 2> log/11/stderr146 ly person\r\n' 14:53:20.713455 < 5 bytes data, client => server 14:53:20.713465 'PWD\r\n' 14:53:20.713562 Received DATA (on stdin) 14:53:20.713573 > 30 bytes data, server => client 14:53:20.713583 '257 "/" is current directory\r\n' 14:53:20.713639 < 6 bytes data, client => server 14:53:20.713651 'EPSV\r\n' 14:53:20.715968 Received DATA (on stdin) 14:53:20.715983 > 38 bytes data, server => client 14:53:20.715995 '229 Entering Passive Mode (|||40673|)\n' 14:53:20.716186 < 8 bytes data, client => server 14:53:20.716199 'TYPE I\r\n' 14:53:20.716306 Received DATA (on stdin) 14:53:20.716318 > 33 bytes data, server => client 14:53:20.716330 '200 I modify TYPE as you wanted\r\n' 14:53:20.716829 < 21 bytes data, client => server 14:53:20.716845 'SIZE verifiedserver\r\n' 14:53:20.716957 Received DATA (on stdin) 14:53:20.716969 > 8 bytes data, server => client 14:53:20.716979 '213 17\r\n' 14:53:20.717027 < 21 bytes data, client => server 14:53:20.717039 'RETR verifiedserver\r\n' 14:53:20.717240 Received DATA (on stdin) 14:53:20.717253 > 29 bytes data, server => client 14:53:20.717264 '150 Binary junk (17 bytes).\r\n' 14:53:20.717761 Received DATA (on stdin) 14:53:20.717775 > 28 bytes data, server => client 14:53:20.717785 '226 File transfer complete\r\n' 14:53:20.760576 < 6 bytes data, client => server 14:53:20.760600 'QUIT\r\n' 14:53:20.760821 Received DATA (on stdin) 14:53:20.760833 > 18 bytes data, server => client 14:53:20.760844 '221 bye bye baby\r\n' 14:53:20.761473 ====> Client disconnect 14:53:20.761614 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.715625 Running IPv4 version 14:53:21.715682 Listening on port 40673 14:53:21.715715 Wrote pid 83032 to log/1/server/ftp_sockdata.pid 14:53:21.715735 Received PING (on stdin) 14:53:21.715823 Received PORT (on stdin) 14:53:21.716098 ====> Client connect 14:53:21.717289 Received DATA (on stdin) 14:53:21.717302 > 17 bytes data, server => client 14:53:21.717313 'WE ROOLZ: 80194\r\n' 14:53:21.717336 Received DISC (on stdin) 14:53:21.717348 ====> Client forcibly disconnected 14:53:21.717499 Received QUIT (on stdin) 14:53:21.717511 quits 14:53:21.717586 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server COUNT CWD 1 Testnum 147 === End of file server.cmd === Start of file valgrind147 ==83088== ==83088== Process terminating with default action of signal 4 (SIGILL) ==83088== Illegal opcode at address 0x4014B6F ==83088== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83088== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83088== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83088== by 0x4004266: main (tool_main.c:199) === End of file valgrind147 test 0146...[persistent FTP with different paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:34519/first/dir/here/146 ftp://127.0.0.1:34519/146 > log/11/stdout146 2> log/11/stderr146 146: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 146 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:34519/first/dir/here/146 ftp://127.0.0.1:34519/146 > log/11/stdout146 2> log/11/stderr146 === End of file commands.log === Start of file ftp_server.log 14:53:21.631621 ====> Client connect 14:53:21.631809 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.632172 < "USER anonymous" 14:53:21.632209 > "331 We are happy you popped in![CR][LF]" 14:53:21.632395 < "PASS ftp@example.com" 14:53:21.632428 > "230 Welcome you silly person[CR][LF]" 14:53:21.632599 < "PWD" 14:53:21.632630 > "257 "/" is current directory[CR][LF]" 14:53:21.632796 < "EPSV" 14:53:21.632823 ====> Passive DATA channel requested by client 14:53:21.632837 DATA sockfilt for passive data channel starting... 14:53:21.635042 DATA sockfilt for passive data channel started (pid 83034) 14:53:21.635160 DATA sockfilt for passive data channel listens on port 42189 14:53:21.635207 > "229 Entering Passive Mode (|||42189|)[LF]" 14:53:21.635226 Client has been notified that DATA conn will be accepted on port 42189 14:53:21.635429 Client connects to port 42189 14:53:21.635461 ====> Client established passive DATA connection on port 42189 14:53:21.635587 < "TYPE I" 14:53:21.635621 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.635799 < "SIZE verifiedserver" 14:53:21.635839 > "213 17[CR][LF]" 14:53:21.636011 < "RETR verifiedserver" 14:53:21.636047 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.636131 =====> Closing passive DATA connection... 14:53:21.636151 Server disconnects passive DATA connection 14:53:21.636417 Server disconnected passive DATA connection 14:53:21.636480 DATA sockfilt for passive data channel quits (pid 83034) 14:53:21.638168 DATA sockfilt for passive data channel quit (pid 83034) 14:53:21.638224 =====> Closed passive DATA connection 14:53:21.638272 > "226 File transfer complete[CR][LF]" 14:53:21.677943 < "QUIT" 14:53:21.677999 > "221 bye bye baby[CR][LF]" 14:53:21.679043 MAIN sockfilt said DISC 14:53:21.679075 ====> Client disconnected 14:53:21.679136 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.714239 ====> Client connect 14:53:21.714667 Received DATA (on stdin) 14:53:21.714691 > 160 bytes data, server => client 14:53:21.714710 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.714722 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.714734 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.714823 < 16 bytes data, client => server 14:53:21.714840 'USER anonymous\r\n' 14:53:21.715032 Received DATA (on stdin) 14:53:21.715046 > 33 bytes data, server => client 14:53:21.715059 '331 We are happy you popped in!\r\n' 14:53:21.715114 < 22 bytes data, client => server 14:53:21.715128 'PASS ftp@example.com\r\n' 14:53:21.715249 Received DATA (on stdin) 14:53:21.715263 > 30 bytes data, server => client 14:53:21.715276 '230 Welcome you silly person\r\n' 14:53:21.715329 < 5 bytes data, client => server 14:53:21.715341 'PWD\r\n' 14:53:21.715449 Received DATA (on stdin) 14:53:21.715461 > 30 bytes data, server => client 14:53:21.715473 '257 "/" is current directory\r\n' 14:53:21.715530 < 6 bytes data, client => server 14:53:21.715542 'EPSV\r\n' 14:53:21.718053 Received DATA (on stdin) 14:53:21.718068 > 38 bytes data, server => client 14:53:21.718081 '229 Entering Passive Mode (|||42189|)\n' 14:53:21.718299 < 8 bytes data, client => server 14:53:21.718313 'TYPE I\r\n' 14:53:21.718443 Received DATA (on stdin) 14:53:21.718457 > 33 bytes data, server => client 14:53:21.718469 '200 I modify TYPE as you wanted\r\n' 14:53:21.718524 < 21 bytes data, client => server 14:53:21.718537 'SIZE verifiedserver\r\n' 14:53:21.718660 Received DATA (on stdin) 14:53:21.718673 > 8 bytes data, server => client 14:53:21.718684 '213 17\r\n' 14:53:21.718736 < 21 bytes data, client => server 14:53:21.718749 'RETR verifiedserver\r\n' 14:53:21.718975 Received DATA (on stdin) 14:53:21.718989 > 29 bytes data, server => client 14:53:21.719001 '150 Binary junk (17 bytes).\r\n' 14:53:21.722143 Received DATA (on stdin) 14:53:21.722202 > 28 bytes data, server => client 14:53:21.722214 '226 File transfer complete\r\n' 14:53:21.760584 < 6 byteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind129 ../src/curl -q --output log/6/curl129.out --include --trace-ascii log/6/trace129 --trace-time http://127.0.0.1:38791/129 > log/6/stdout129 2> log/6/stderr129 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind148 ../src/curl -q --output log/12/curl148.out --include --trace-ascii log/12/trace148 --trace-time ftp://127.0.0.1:38141/attempt/to/get/this/148 --ftp-create-dirs > log/12/stdout148 2> log/12/stderr148 s data, client => server 14:53:21.760608 'QUIT\r\n' 14:53:21.760822 Received DATA (on stdin) 14:53:21.760835 > 18 bytes data, server => client 14:53:21.760847 '221 bye bye baby\r\n' 14:53:21.761799 ====> Client disconnect 14:53:21.761953 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.717490 Running IPv4 version 14:53:21.717585 Listening on port 42189 14:53:21.717630 Wrote pid 83034 to log/11/server/ftp_sockdata.pid 14:53:21.717799 Received PING (on stdin) 14:53:21.717893 Received PORT (on stdin) 14:53:21.718197 ====> Client connect 14:53:21.719029 Received DATA (on stdin) 14:53:21.719043 > 17 bytes data, server => client 14:53:21.719055 'WE ROOLZ: 80346\r\n' 14:53:21.719084 Received DISC (on stdin) 14:53:21.719097 ====> Client forcibly disconnected 14:53:21.719326 Received QUIT (on stdin) 14:53:21.719347 quits 14:53:21.720342 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==83096== ==83096== Process terminating with default action of signal 4 (SIGILL) ==83096== Illegal opcode at address 0x4014B6F ==83096== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83096== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83096== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83096== by 0x4004266: main (tool_main.c:199) === End of file valgrind146 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 81600 port 38791 * pid http => 81600 81600 test 0129...[HTTP/1.2 is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind129 ../src/curl -q --output log/6/curl129.out --include --trace-ascii log/6/trace129 --trace-time http://127.0.0.1:38791/129 > log/6/stdout129 2> log/6/stderr129 129: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 129 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind129 ../src/curl -q --output log/6/curl129.out --include --trace-ascii log/6/trace129 --trace-time http://127.0.0.1:38791/129 > log/6/stdout129 2> log/6/stderr129 === End of file commands.log === Start of file http_server.log 14:53:20.803751 Running HTTP IPv4 version on port 38791 14:53:20.803834 Wrote pid 81600 to log/6/server/http_server.pid 14:53:20.803866 Wrote port 38791 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file valgrind129 ==83164== ==83164== Process terminating with default action of signal 4 (SIGILL) ==83164== Illegal opcode at address 0x4014B6F ==83164== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83164== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83164== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83164== by 0x4004266: main (tool_main.c:199) === End of file valgrind129 test 0148...[FTP with --ftp-create-dirs (failing MKD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind148 ../src/curl -q --output log/12/curl148.out --include --trace-ascii log/12/trace148 --trace-time ftp://127.0.0.1:38141/attempt/to/get/this/148 --ftp-create-dirs > log/12/stdout148 2> log/12/stderr148 148: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind148 ../src/curl -q --output log/12/curl148.out --include --trace-ascii log/12/trace148 --trace-time ftp://127.0.0.1:38141/attempt/to/get/this/148 --ftp-create-dirs > log/12/stdout148 2> log/12/stderr148 === End of file commands.log === Start of file ftp_server.log 14:53:21.663234 ====> Client connect 14:53:21.663393 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.663717 < "USER anonymous" 14:53:21.663757 > "331 We are happy you popped in![CR][LF]" 14:53:21.663980 < "PASS ftp@example.com" 14:53:21.664038 > "230 Welcome you silly person[CR][LF]" 14:53:21.664304 < "PWD" 14:53:21.664345 > "257 "/" is current directory[CR][LF]" 14:53:21.664547 < "EPSV" 14:53:21.664578 ====> Passive DATA channel requested by client 14:53:21.664593 DATA sockfilt for passive data channel starting... 14:53:21.666581 DATA sockfilt for passive data channel started (pid 83060) 14:53:21.666710 DATA sockfilt for passive data channel listens on port 45949 14:53:21.666753 > "229 Entering Passive Mode (|||45949|)[LF]" 14:53:21.666773 Client has been notified that DATA conn will be accepted on port 45949 14:53:21.667097 Client connects to port 45949 14:53:21.667139 ====> Client established passive DATA connection on port 45949 14:53:21.667249 < "TYPE I" 14:53:21.667280 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.667525 < "SIZE verifiedserver" 14:53:21.667557 > "213 17[CR][LF]" 14:53:21.667704 < "RETR verifiedserver" 14:53:21.667732 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.667815 =====> Closing passive DATA connection... 14:53:21.667831 Server disconnects passive DATA connection 14:53:21.667963 Server disconnected passive DATA connection 14:53:21.667985 DATA sockfilt for passive data channel quits (pid 83060) 14:53:21.668189 DATA sockfilt for passive data channel quit (pid 83060) 14:53:21.668209 =====> Closed passive DATA connection 14:53:21.668231 > "226 File transfer complete[CR][LF]" 14:53:21.711291 < "QUIT" 14:53:21.711346 > "221 bye bye baby[CR][LF]" 14:53:21.712200 MAIN sockfilt said DISC 14:53:21.712263 ====> Client disconnected 14:53:21.712348 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:20.745940 ====> Client connect 14:53:20.746224 Received DATA (on stdin) 14:53:20.746243 > 160 bytes data, server => client 14:53:20.746256 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:20.746268 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:20.746279 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:20.746377 < 16 bytes data, client => server 14:53:20.746391 'USER anonymous\r\n' 14:53:20.746579 Received DATA (on stdin) 14:53:20.746593 > 33 bytes data, server => client 14:53:20.746605 '331 We are happy you popped in!\r\n' 14:53:20.746656 < 22 bytes data, client => server 14:53:20.746668 'PASS ftp@example.com\r\n' 14:53:20.746873 Received DATA (on stdin) 14:53:20.746896 > 30 bytes data, server => client 14:53:20.746909 '230 Welcome you silly person\r\n' 14:53:20.747006 < 5 bytes data, client => server 14:53:20.747022 'PWD\r\n' 14:53:20.747167 Received DATA (on stdin) 14:53:20.747183 > 30 bytes data, server => client 14:53:20.747195 '257 "/" is current directory\r\n' 14:53:20.747266 < 6 bytes data, client => server 14:53:20.747280 'EPSV\r\n' 14:53:20.749607 Received DATA (on stdin) 14:53:20.749627 > 38 bytes data, server => client 14:53:20.749640 '229 Entering Passive Mode (|||45949|)\n' 14:53:20.749853 < 8 bytes data, client => server 14:53:20.749867 'TYPE I\r\n' 14:53:20.750082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind150 ../src/curl -q --output log/14/curl150.out --include --trace-ascii log/14/trace150 --trace-time http://127.0.0.1:46043/150 -u testuser:testpass --ntlm --fail > log/14/stdout150 2> log/14/stderr150 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind149 ../src/curl -q --output log/16/curl149.out --include --trace-ascii log/16/trace149 --trace-time -T log/16/upload149 ftp://127.0.0.1:32915/dir1/149 -T log/16/upload149 ftp://127.0.0.1:32915/dir2/149 > log/16/stdout149 2> log/16/stderr149 Received DATA (on stdin) 14:53:20.750097 > 33 bytes data, server => client 14:53:20.750199 '200 I modify TYPE as you wanted\r\n' 14:53:20.750260 < 21 bytes data, client => server 14:53:20.750273 'SIZE verifiedserver\r\n' 14:53:20.750371 Received DATA (on stdin) 14:53:20.750381 > 8 bytes data, server => client 14:53:20.750389 '213 17\r\n' 14:53:20.750439 < 21 bytes data, client => server 14:53:20.750450 'RETR verifiedserver\r\n' 14:53:20.750649 Received DATA (on stdin) 14:53:20.750662 > 29 bytes data, server => client 14:53:20.750673 '150 Binary junk (17 bytes).\r\n' 14:53:20.751045 Received DATA (on stdin) 14:53:20.751057 > 28 bytes data, server => client 14:53:20.751066 '226 File transfer complete\r\n' 14:53:20.793913 < 6 bytes data, client => server 14:53:20.793948 'QUIT\r\n' 14:53:20.794169 Received DATA (on stdin) 14:53:20.794182 > 18 bytes data, server => client 14:53:20.794194 '221 bye bye baby\r\n' 14:53:20.794942 ====> Client disconnect 14:53:20.795175 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.749216 Running IPv4 version 14:53:21.749271 Listening on port 45949 14:53:21.749311 Wrote pid 83060 to log/12/server/ftp_sockdata.pid 14:53:21.749334 Received PING (on stdin) 14:53:21.749437 Received PORT (on stdin) 14:53:21.749823 ====> Client connect 14:53:21.750555 Received DATA (on stdin) 14:53:21.750569 > 17 bytes data, server => client 14:53:21.750581 'WE ROOLZ: 80195\r\n' 14:53:21.750647 Received DISC (on stdin) 14:53:21.750660 ====> Client forcibly disconnected 14:53:21.750807 Received QUIT (on stdin) 14:53:21.750818 quits 14:53:21.750862 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server REPLY MKD 550 We will have no such thing Testnum 148 === End of file server.cmd === Start of file valgrind148 ==83201== ==83201== Process terminating with default action of signal 4 (SIGILL) ==83201== Illegal opcode at address 0x4014B6F ==83201== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83201== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83201== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83201== by 0x4004266: main (tool_main.c:199) === End of file valgrind148 test 0150...[HTTP with NTLM authorization and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind150 ../src/curl -q --output log/14/curl150.out --include --trace-ascii log/14/trace150 --trace-time http://127.0.0.1:46043/150 -u testuser:testpass --ntlm --fail > log/14/stdout150 2> log/14/stderr150 150: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind150 ../src/curl -q --output log/14/curl150.out --include --trace-ascii log/14/trace150 --trace-time http://127.0.0.1:46043/150 -u testuser:testpass --ntlm --fail > log/14/stdout150 2> log/14/stderr150 === End of file commands.log === Start of file http_server.log 14:53:21.777226 ====> Client connect 14:53:21.777264 accept_connection 3 returned 4 14:53:21.777283 accept_connection 3 returned 0 14:53:21.777300 Read 93 bytes 14:53:21.777316 Process 93 bytes request 14:53:21.777335 Got request: GET /verifiedserver HTTP/1.1 14:53:21.777346 Are-we-friendly question received 14:53:21.777376 Wrote request (93 bytes) input to log/14/server.input 14:53:21.777395 Identifying ourselves as friends 14:53:21.777450 Response sent (56 bytes) and written to log/14/server.response 14:53:21.777464 special request received, no persistency 14:53:21.777475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 53664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind150 ==83148== ==83148== Process terminating with default action of signal 4 (SIGILL) ==83148== Illegal opcode at address 0x4014B6F ==83148== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83148== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83148== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83148== by 0x4004266: main (tool_main.c:199) === End of file valgrind150 test 0149...[FTP with multiple uploads] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind149 ../src/curl -q --output log/16/curl149.out --include --trace-ascii log/16/trace149 --trace-time -T log/16/upload149 ftp://127.0.0.1:32915/dir1/149 -T log/16/upload149 ftp://127.0.0.1:32915/dir2/149 > log/16/stdout149 2> log/16/stderr149 149: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind149 ../src/curl -q --output log/16/curl149.out --include --trace-ascii log/16/trace149 --trace-time -T log/16/upload149 ftp://127.0.0.1:32915/dir1/149 -T log/16/upload149 ftp://127.0.0.1:32915/dir2/149 > log/16/stdout149 2> log/16/stderr149 === End of file commands.log === Start of file ftp_server.log 14:53:21.686253 ====> Client connect 14:53:21.686401 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:21.686720 < "USER anonymous" 14:53:21.686765 > "331 We are happy you popped in![CR][LF]" 14:53:21.686990 < "PASS ftp@example.com" 14:53:21.687022 > "230 Welcome you silly person[CR][LF]" 14:53:21.687207 < "PWD" 14:53:21.687241 > "257 "/" is current directory[CR][LF]" 14:53:21.687410 < "EPSV" 14:53:21.687434 ====> Passive DATA channel requested by client 14:53:21.687448 DATA sockfilt for passive data channel starting... 14:53:21.689231 DATA sockfilt for passive data channel started (pid 83090) 14:53:21.689356 DATA sockfilt for passive data channel listens on port 39561 14:53:21.689397 > "229 Entering Passive Mode (|||39561|)[LF]" 14:53:21.689419 Client has been notified that DATA conn will be accepted on port 39561 14:53:21.689663 Client connects to port 39561 14:53:21.689696 ====> Client established passive DATA connection on port 39561 14:53:21.689781 < "TYPE I" 14:53:21.689814 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:21.689998 < "SIZE verifiedserver" 14:53:21.690037 > "213 17[CR][LF]" 14:53:21.690224 < "RETR verifiedserver" 14:53:21.690263 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:21.690355 =====> Closing passive DATA connection... 14:53:21.690374 Server disconnects passive DATA connection 14:53:21.690559 Server disconnected passive DATA connection 14:53:21.690586 DATA sockfilt for passive data channel quits (pid 83090) 14:53:21.690888 DATA sockfilt for passive data channel quit (pid 83090) 14:53:21.690931 =====> Closed passive DATA connectiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind151 ../src/curl -q --output log/2/curl151.out --include --trace-ascii log/2/trace151 --trace-time http://127.0.0.1:37587/151 > log/2/stdout151 2> log/2/stderr151 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind152 ../src/curl -q --output log/7/curl152.out --include --trace-ascii log/7/trace152 --trace-time http://127.0.0.1:40545/152 --fail > log/7/stdout152 2> log/7/stderr152 on 14:53:21.690967 > "226 File transfer complete[CR][LF]" 14:53:21.734572 < "QUIT" 14:53:21.734625 > "221 bye bye baby[CR][LF]" 14:53:21.735583 MAIN sockfilt said DISC 14:53:21.735614 ====> Client disconnected 14:53:21.735695 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:21.768972 ====> Client connect 14:53:21.769235 Received DATA (on stdin) 14:53:21.769252 > 160 bytes data, server => client 14:53:21.769266 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:21.769278 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:21.769290 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:21.769376 < 16 bytes data, client => server 14:53:21.769391 'USER anonymous\r\n' 14:53:21.769588 Received DATA (on stdin) 14:53:21.769602 > 33 bytes data, server => client 14:53:21.769617 '331 We are happy you popped in!\r\n' 14:53:21.769686 < 22 bytes data, client => server 14:53:21.769701 'PASS ftp@example.com\r\n' 14:53:21.769844 Received DATA (on stdin) 14:53:21.769859 > 30 bytes data, server => client 14:53:21.769872 '230 Welcome you silly person\r\n' 14:53:21.769928 < 5 bytes data, client => server 14:53:21.769942 'PWD\r\n' 14:53:21.770059 Received DATA (on stdin) 14:53:21.770072 > 30 bytes data, server => client 14:53:21.770085 '257 "/" is current directory\r\n' 14:53:21.770143 < 6 bytes data, client => server 14:53:21.770156 'EPSV\r\n' 14:53:21.772245 Received DATA (on stdin) 14:53:21.772260 > 38 bytes data, server => client 14:53:21.772273 '229 Entering Passive Mode (|||39561|)\n' 14:53:21.772424 < 8 bytes data, client => server 14:53:21.772438 'TYPE I\r\n' 14:53:21.772638 Received DATA (on stdin) 14:53:21.772653 > 33 bytes data, server => client 14:53:21.772666 '200 I modify TYPE as you wanted\r\n' 14:53:21.772720 < 21 bytes data, client => server 14:53:21.772735 'SIZE verifiedserver\r\n' 14:53:21.772858 Received DATA (on stdin) 14:53:21.772872 > 8 bytes data, server => client 14:53:21.772884 '213 17\r\n' 14:53:21.772938 < 21 bytes data, client => server 14:53:21.772952 'RETR verifiedserver\r\n' 14:53:21.773198 Received DATA (on stdin) 14:53:21.773212 > 29 bytes data, server => client 14:53:21.773225 '150 Binary junk (17 bytes).\r\n' 14:53:21.773797 Received DATA (on stdin) 14:53:21.773816 > 28 bytes data, server => client 14:53:21.773829 '226 File transfer complete\r\n' 14:53:21.817167 < 6 bytes data, client => server 14:53:21.817206 'QUIT\r\n' 14:53:21.817450 Received DATA (on stdin) 14:53:21.817463 > 18 bytes data, server => client 14:53:21.817475 '221 bye bye baby\r\n' 14:53:21.818349 ====> Client disconnect 14:53:21.818512 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:21.771866 Running IPv4 version 14:53:21.771931 Listening on port 39561 14:53:21.771967 Wrote pid 83090 to log/16/server/ftp_sockdata.pid 14:53:21.771990 Received PING (on stdin) 14:53:21.772083 Received PORT (on stdin) 14:53:21.772392 ====> Client connect 14:53:21.773254 Received DATA (on stdin) 14:53:21.773269 > 17 bytes data, server => client 14:53:21.773281 'WE ROOLZ: 80177\r\n' 14:53:21.773307 Received DISC (on stdin) 14:53:21.773325 ====> Client forcibly disconnected 14:53:21.773425 Received QUIT (on stdin) 14:53:21.773453 quits 14:53:21.773514 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 149 === End of file server.cmd === Start of file upload149 send away this contents === End of file upload149 === Start of file valgrind149 ==83283== ==83283== Process terminating with default action of signal 4 (SIGILL) ==83283== Illegal opcode at address 0x4014B6F ==83283== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83283== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83283== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83283== by 0x4004266: main (tool_main.c:199) === End of file valgrind149 test 0151...[HTTP GET with an error code that might trick authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind151 ../src/curl -q --output log/2/curl151.out --include --trace-ascii log/2/trace151 --trace-time http://127.0.0.1:37587/151 > log/2/stdout151 2> log/2/stderr151 151: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind151 ../src/curl -q --output log/2/curl151.out --include --trace-ascii log/2/trace151 --trace-time http://127.0.0.1:37587/151 > log/2/stdout151 2> log/2/stderr151 === End of file commands.log === Start of file http_server.log 14:53:21.896582 ====> Client connect 14:53:21.896619 accept_connection 3 returned 4 14:53:21.896639 accept_connection 3 returned 0 14:53:21.896790 Read 93 bytes 14:53:21.896805 Process 93 bytes request 14:53:21.896820 Got request: GET /verifiedserver HTTP/1.1 14:53:21.896831 Are-we-friendly question received 14:53:21.896858 Wrote request (93 bytes) input to log/2/server.input 14:53:21.896882 Identifying ourselves as friends 14:53:21.896935 Response sent (56 bytes) and written to log/2/server.response 14:53:21.896947 special request received, no persistency 14:53:21.896958 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind151 ==83413== ==83413== Process terminating with default action of signal 4 (SIGILL) ==83413== Illegal opcode at address 0x4014B6F ==83413== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83413== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83413== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83413== by 0x4004266: main (tool_main.c:199) === End of file valgrind151 test 0152...[HTTP GET with an error code that might trick authentication and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind152 ../src/curl -q --output log/7/curl152.out --include --trace-ascii log/7/trace152 --trace-time http://127.0.0.1:40545/152 --fail > log/7/stdout152 2> log/7/stderr152 152: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind152 ../src/curl -q --output log/7/curl152.out --include --trace-ascii log/7/trace152 --trace-time http://127.0.0.1:40545/152 --fail > log/7/stdout152 2> log/7/stderr152 === End of file commands.log === Start of file http_server.log 14:53:21.977559 ====> Client connect 14:53:21.977595 accept_connection 3 returned 4 14:53:21.977612 accept_connection 3 returned 0 14:53:21.977627 Read 93 bytes 14:53:21.977644 Process 93 bytes request 14:53:21.977662 Got request: GCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind154 ../src/curl -q --output log/5/curl154.out --include --trace-ascii log/5/trace154 --trace-time http://127.0.0.1:46041/154 -T log/5/put154 -u testuser:testpass --anyauth > log/5/stdout154 2> log/5/stderr154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind155 ../src/curl -q --output log/24/curl155.out --include --trace-ascii log/24/trace155 --trace-time http://127.0.0.1:34449/155 -T log/24/put155 -u testuser:testpass --anyauth > log/24/stdout155 2> log/24/stderr155 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind156 ../src/curl -q --output log/9/curl156.out --include --trace-ascii log/9/trace156 --trace-time http://127.0.0.1:34345/156 -T log/9/put156 -u testuser:testpass --anyauth > log/9/stdout156 2> log/9/stderr156 ET /verifiedserver HTTP/1.1 14:53:21.977673 Are-we-friendly question received 14:53:21.977697 Wrote request (93 bytes) input to log/7/server.input 14:53:21.977717 Identifying ourselves as friends 14:53:21.977775 Response sent (56 bytes) and written to log/7/server.response 14:53:21.977789 special request received, no persistency 14:53:21.977800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 51634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 152 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind152 ==83480== ==83480== Process terminating with default action of signal 4 (SIGILL) ==83480== Illegal opcode at address 0x4014B6F ==83480== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83480== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83480== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83480== by 0x4004266: main (tool_main.c:199) === End of file valgrind152 test 0154...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind154 ../src/curl -q --output log/5/curl154.out --include --trace-ascii log/5/trace154 --trace-time http://127.0.0.1:46041/154 -T log/5/put154 -u testuser:testpass --anyauth > log/5/stdout154 2> log/5/stderr154 154: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind154 ../src/curl -q --output log/5/curl154.out --include --trace-ascii log/5/trace154 --trace-time http://127.0.0.1:46041/154 -T log/5/put154 -u testuser:testpass --anyauth > log/5/stdout154 2> log/5/stderr154 === End of file commands.log === Start of file http_server.log 14:53:22.111578 ====> Client connect 14:53:22.111609 accept_connection 3 returned 4 14:53:22.111624 accept_connection 3 returned 0 14:53:22.111637 Read 93 bytes 14:53:22.111651 Process 93 bytes request 14:53:22.111664 Got request: GET /verifiedserver HTTP/1.1 14:53:22.111673 Are-we-friendly question received 14:53:22.111693 Wrote request (93 bytes) input to log/5/server.input 14:53:22.111710 Identifying ourselves as friends 14:53:22.111762 Response sent (56 bytes) and written to log/5/server.response 14:53:22.111774 special request received, no persistency 14:53:22.111782 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 52710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file put154 This is data we upload with PUT a second line line three four is the number of lines === End of file put154 === Start of file server.cmd Testnum 154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind154 ==83599== ==83599== Process terminating with default action of signal 4 (SIGILL) ==83599== Illegal opcode at address 0x4014B6F ==83599== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83599== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83599== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83599== by 0x4004266: main (tool_main.c:199) === End of file valgrind154 test 0155...[HTTP PUT with --anyauth authorization (picking NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind155 ../src/curl -q --output log/24/curl155.out --include --trace-ascii log/24/trace155 --trace-time http://127.0.0.1:34449/155 -T log/24/put155 -u testuser:testpass --anyauth > log/24/stdout155 2> log/24/stderr155 155: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 155 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind155 ../src/curl -q --output log/24/curl155.out --include --trace-ascii log/24/trace155 --trace-time http://127.0.0.1:34449/155 -T log/24/put155 -u testuser:testpass --anyauth > log/24/stdout155 2> log/24/stderr155 === End of file commands.log === Start of file http_server.log 14:53:22.123230 ====> Client connect 14:53:22.123263 accept_connection 3 returned 4 14:53:22.123281 accept_connection 3 returned 0 14:53:22.123297 Read 93 bytes 14:53:22.123308 Process 93 bytes request 14:53:22.123325 Got request: GET /verifiedserver HTTP/1.1 14:53:22.123336 Are-we-friendly question received 14:53:22.123362 Wrote request (93 bytes) input to log/24/server.input 14:53:22.123380 Identifying ourselves as friends 14:53:22.123437 Response sent (56 bytes) and written to log/24/server.response 14:53:22.123449 special request received, no persistency 14:53:22.123460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file put155 This is data we upload with PUT a second line line three four is the number of lines === End of file put155 === Start of file server.cmd Testnum 155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind155 ==83644== ==83644== Process terminating with default action of signal 4 (SIGILL) ==83644== Illegal opcode at address 0x4014B6F ==83644== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83644== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83644== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83644== by 0x4004266: main (tool_main.c:199) === End of file valgrind155 test 0156...[HTTP PUT with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind156 ../src/curl -q --output log/9/curl156.out --include --trace-ascii log/9/trace156 --trace-time http://127.0.0.1:34345/156 -T log/9/put156 -u testuser:testpass --anCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:33805/1530001 -u testuser:testpass --digest http://127.0.0.1:33805/1530002 > log/19/stdout153 2> log/19/stderr153 yauth > log/9/stdout156 2> log/9/stderr156 156: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 156 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind156 ../src/curl -q --output log/9/curl156.out --include --trace-ascii log/9/trace156 --trace-time http://127.0.0.1:34345/156 -T log/9/put156 -u testuser:testpass --anyauth > log/9/stdout156 2> log/9/stderr156 === End of file commands.log === Start of file http_server.log 14:53:22.127275 ====> Client connect 14:53:22.127308 accept_connection 3 returned 4 14:53:22.127325 accept_connection 3 returned 0 14:53:22.127340 Read 93 bytes 14:53:22.127354 Process 93 bytes request 14:53:22.127369 Got request: GET /verifiedserver HTTP/1.1 14:53:22.127380 Are-we-friendly question received 14:53:22.127407 Wrote request (93 bytes) input to log/9/server.input 14:53:22.127427 Identifying ourselves as friends 14:53:22.127488 Response sent (56 bytes) and written to log/9/server.response 14:53:22.127502 special request received, no persistency 14:53:22.127513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 52482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file put156 This is data we upload with PUT a second line line three four is the number of lines === End of file put156 === Start of file server.cmd Testnum 156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind156 ==83639== ==83639== Process terminating with default action of signal 4 (SIGILL) ==83639== Illegal opcode at address 0x4014B6F ==83639== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83639== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83639== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83639== by 0x4004266: main (tool_main.c:199) === End of file valgrind156 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind160 ../src/curl -q --include --trace-ascii log/4/trace160 --trace-time http://127.0.0.1:39793/want/160 http://127.0.0.1:39793/wantmore/1600001 > log/4/stdout160 2> log/4/stderr160 test 0153...[HTTP with Digest authorization with stale=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:33805/1530001 -u testuser:testpass --digest http://127.0.0.1:33805/1530002 > log/19/stdout153 2> log/19/stderr153 153: stdout FAILED: --- log/19/check-expected 2025-09-11 14:53:23.132197210 +0000 +++ log/19/check-generated 2025-09-11 14:53:23.132197210 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/19/ dir after test 153 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:33805/1530001 -u testuser:testpass --digest http://127.0.0.1:33805/1530002 > log/19/stdout153 2> log/19/stderr153 === End of file commands.log === Start of file http_server.log 14:53:21.102077 ====> Client connect 14:53:21.102114 accept_connection 3 returned 4 14:53:21.102153 accept_connection 3 returned 0 14:53:21.102169 Read 93 bytes 14:53:21.102181 Process 93 bytes request 14:53:21.102196 Got request: GET /verifiedserver HTTP/1.1 14:53:21.102207 Are-we-friendly question received 14:53:21.102235 Wrote request (93 bytes) input to log/19/server.input 14:53:21.102253 Identifying ourselves as friends 14:53:21.102311 Response sent (56 bytes) and written to log/19/server.response 14:53:21.102323 special request received, no persistency 14:53:21.102334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 55652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 153 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind153 ==83600== ==83600== Process terminating with default action of signal 4 (SIGILL) ==83600== Illegal opcode at address 0x4014B6F ==83600== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83600== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83600== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83600== by 0x4004266: main (tool_main.c:199) === End of file valgrind153 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind157 ../src/curl -q --output log/15/curl157.out --include --trace-ascii log/15/trace157 --trace-time http://127.0.0.1:42107/157 -u testuser:testpass --anyauth > log/15/stdout157 2> log/15/stderr157 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:42027/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 test 0160...[HTTP with delayed close, conn reuse, connection reset and retry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind160 ../src/curl -q --include --trace-ascii log/4/trace160 --trace-time http://127.0.0.1:39793/want/160 http://127.0.0.1:39793/wantmore/1600001 > log/4/stdout160 2> log/4/stderr160 160: stdout FAILED: --- log/4/check-expected 2025-09-11 14:53:23.168863877 +0000 +++ log/4/check-generated 2025-09-11 14:53:23.168863877 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/4/ dir after test 160 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] [CR][LF] surprise[LF] HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind160 ../src/curl -q --include --trace-ascii log/4/trace160 --trace-time http://127.0.0.1:39793/want/160 http://127.0.0.1:39793/wantmore/1600001 > log/4/stdout160 2> log/4/stderr160 === End of file commands.log === Start of file http_server.log 14:53:22.235955 ====> Client connect 14:53:22.235996 accept_connection 3 returned 4 14:53:22.236015 accept_connection 3 returned 0 14:53:22.236031 Read 93 bytes 14:53:22.236043 Process 93 bytes request 14:53:22.236056 Got request: GET /verifiedserver HTTP/1.1 14:53:22.236067 Are-we-friendly question received 14:53:22.236095 Wrote request (93 bytes) input to log/4/server.input 14:53:22.236114 Identifying ourselves as friends 14:53:22.236177 Response sent (56 bytes) and written to log/4/server.response 14:53:22.236189 special request received, no persistency 14:53:22.236200 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 48572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind160 ==83879== ==83879== Process terminating with default action of signal 4 (SIGILL) ==83879== Illegal opcode at address 0x4014B6F ==83879== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83879== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83879== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83879== by 0x4004266: main (tool_main.c:199) === End of file valgrind160 test 0157...[HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind157 ../src/curl -q --output log/15/curl157.out --include --trace-ascii log/15/trace157 --trace-time http://127.0.0.1:42107/157 -u testuser:testpass --anyauth > log/15/stdout157 2> log/15/stderr157 157: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind157 ../src/curl -q --output log/15/curl157.out --include --trace-ascii log/15/trace157 --trace-time http://127.0.0.1:42107/157 -u testuser:testpass --anyauth > log/15/stdout157 2> log/15/stderr157 === End of file commands.log === Start of file http_server.log 14:53:22.230661 ====> Client connect 14:53:22.230694 accept_connection 3 returned 4 14:53:22.230712 accept_connection 3 returned 0 14:53:22.230728 Read 93 bytes 14:53:22.230739 Process 93 bytes request 14:53:22.230755 Got request: GET /verifiedserver HTTP/1.1 14:53:22.230766 Are-we-friendly question received 14:53:22.230791 Wrote request (93 bytes) input to log/15/server.input 14:53:22.230808 Identifying ourselves as friends 14:53:22.230861 Response sent (56 bytes) and written to log/15/server.response 14:53:22.230872 special request received, no persistency 14:53:22.230883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind157 ==83853== ==83853== Process terminating with default action of signal 4 (SIGILL) ==83853== Illegal opcode at address 0x4014B6F ==83853== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83853== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83853== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83853== by 0x4004266: main (tool_main.c:199) === End of file valgrind157 test 0158...[HTTP multipart formpost with only a 100 reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:42027/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 158: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:42027/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 === End of file commands.log === Start of file http_server.log 14:53:22.238688 ====> Client connect 14:53:22.238715 accept_connection 3 returned 4 14:53:22.238729 accept_connection 3 returned 0 14:53:22.238741 Read 93 bytes 14:53:22.238750 Process 93 bytes request 14:53:22.238760 Got request: GET /verifiedserver HTTP/1.1 14:53:22.238769 Are-we-friendly question received 14:53:22.238790 Wrote request (93 bytes) input to log/22/server.input 14:53:22.238804 Identifying ourselves as friends 14:53:22.238848 Response sent (56 bytes) and written to log/22/server.response 14:53:22.238857 special request received, no persistency 14:53:22.238865 ====> Client disconnect 0 === End of file http_server.log === Start of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:37085/162 --proxy http://127.0.0.1:37085 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind161 ../src/curl -q --output log/21/curl161.out --include --trace-ascii log/21/trace161 --trace-time ftp://127.0.0.1:43281/161 > log/21/stdout161 2> log/21/stderr161 e http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind158 ==83924== ==83924== Process terminating with default action of signal 4 (SIGILL) ==83924== Illegal opcode at address 0x4014B6F ==83924== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83924== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83924== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83924== by 0x4004266: main (tool_main.c:199) === End of file valgrind158 test 0162...[HTTP GET asking for --proxy-ntlm when some other authentication is required] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:37085/162 --proxy http://127.0.0.1:37085 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 162: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:37085/162 --proxy http://127.0.0.1:37085 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 === End of file commands.log === Start of file http_server.log 14:53:21.266164 ====> Client connect 14:53:21.266197 accept_connection 3 returned 4 14:53:21.266213 accept_connection 3 returned 0 14:53:21.266229 Read 93 bytes 14:53:21.266239 Process 93 bytes request 14:53:21.266254 Got request: GET /verifiedserver HTTP/1.1 14:53:21.266264 Are-we-friendly question received 14:53:21.266290 Wrote request (93 bytes) input to log/8/server.input 14:53:21.266308 Identifying ourselves as friends 14:53:21.266369 Response sent (56 bytes) and written to log/8/server.response 14:53:21.266380 special request received, no persistency 14:53:21.266391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55610 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 162 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind162 ==83988== ==83988== Process terminating with default action of signal 4 (SIGILL) ==83988== Illegal opcode at address 0x4014B6F ==83988== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==83988== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==83988== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==83988== by 0x4004266: main (tool_main.c:199) === End of file valgrind162 test 0161...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind161 ../src/curl -q --output log/21/curl161.out --include --trace-ascii log/21/trace161 --trace-time ftp://127.0.0.1:43281/161 > log/21/stdout161 2> log/21/stderr161 161: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind161 ../src/curl -q --output log/21/curl161.out --include --trace-ascii log/21/trace161 --trace-time ftp://127.0.0.1:43281/161 > log/21/stdout161 2> log/21/stderr161 === End of file commands.log === Start of file ftp_server.log 14:53:22.176893 ====> Client connect 14:53:22.177045 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:22.178294 < "USER anonymous" 14:53:22.178347 > "331 We are happy you popped in![CR][LF]" 14:53:22.178518 < "PASS ftp@example.com" 14:53:22.178544 > "230 Welcome you silly person[CR][LF]" 14:53:22.178694 < "PWD" 14:53:22.178723 > "257 "/" is current directory[CR][LF]" 14:53:22.179115 < "EPSV" 14:53:22.179139 ====> Passive DATA channel requested by client 14:53:22.179153 DATA sockfilt for passive data channel starting... 14:53:22.181079 DATA sockfilt for passive data channel started (pid 83926) 14:53:22.181194 DATA sockfilt for passive data channel listens on port 41895 14:53:22.181238 > "229 Entering Passive Mode (|||41895|)[LF]" 14:53:22.181260 Client has been notified that DATA conn will be accepted on port 41895 14:53:22.181509 Client connects to port 41895 14:53:22.181537 ====> Client established passive DATA connection on port 41895 14:53:22.181608 < "TYPE I" 14:53:22.181636 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:22.181804 < "SIZE verifiedserver" 14:53:22.181839 > "213 17[CR][LF]" 14:53:22.182003 < "RETR verifiedserver" 14:53:22.182039 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:22.182119 =====> Closing passive DATA connection... 14:53:22.182138 Server disconnects passive DATA connection 14:53:22.182251 Server disconnected passive DATA connection 14:53:22.182278 DATA sockfilt for passive data channel quits (pid 83926) 14:53:22.182492 DATA sockfilt for passive data channel quit (pid 83926) 14:53:22.182515 =====> Closed passive DATA connection 14:53:22.182543 > "226 File transfer complete[CR][LF]" 14:53:22.224099 < "QUIT" 14:53:22.224161 > "221 bye bye baby[CR][LF]" 14:53:22.224442 MAIN sockfilt said DISC 14:53:22.224475 ====> Client disconnected 14:53:22.224571 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:22.259598 ====> Client connect 14:53:22.259874 Received DATA (on stdin) 14:53:22.259889 > 160 bytes data, server => client 14:53:22.259902 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:22.259913 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:22.259924 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:22.260927 < 16 bytes data, client => server 14:53:22.260954 'USER anonymous\r\n' 14:53:22.261171 Received DATA (on stdin) 14:53:22.261184 > 33 bytes data, server => client 14:53:22.261196 '331 We are happy you popped in!\r\n' 14:53:22.261248 < 22 bytes data, client => server 14:53:22.261260 'PASS ftp@example.com\r\n' 14:53:22.261361 Received DATA (on stdin) 14:53:22.261373 > 30 bytes data, server => client 14:53:22.261385 '230 Welcome you silly person\r\n' 14:53:22.261429 < 5 bytes data, client => server 14:53:22.261440 'PWD\r\n' 14:53:22.2615CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind163 ../src/curl -q --output log/10/curl163.out --include --trace-ascii log/10/trace163 --trace-time http://127.0.0.1:35893/we/want/163 -F "name= log/10/stdout163 2> log/10/stderr163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind164 ../src/curl -q --output log/3/curl164.out --include --trace-ascii log/3/trace164 --trace-time http://127.0.0.1:46791/want/164 -r 0-10,12-15 > log/3/stdout164 2> log/3/stderr164 38 Received DATA (on stdin) 14:53:22.261549 > 30 bytes data, server => client 14:53:22.261560 '257 "/" is current directory\r\n' 14:53:22.261850 < 6 bytes data, client => server 14:53:22.261870 'EPSV\r\n' 14:53:22.264087 Received DATA (on stdin) 14:53:22.264101 > 38 bytes data, server => client 14:53:22.264113 '229 Entering Passive Mode (|||41895|)\n' 14:53:22.264246 < 8 bytes data, client => server 14:53:22.264262 'TYPE I\r\n' 14:53:22.264462 Received DATA (on stdin) 14:53:22.264476 > 33 bytes data, server => client 14:53:22.264488 '200 I modify TYPE as you wanted\r\n' 14:53:22.264538 < 21 bytes data, client => server 14:53:22.264550 'SIZE verifiedserver\r\n' 14:53:22.264657 Received DATA (on stdin) 14:53:22.264669 > 8 bytes data, server => client 14:53:22.264681 '213 17\r\n' 14:53:22.264732 < 21 bytes data, client => server 14:53:22.264745 'RETR verifiedserver\r\n' 14:53:22.264919 Received DATA (on stdin) 14:53:22.264934 > 29 bytes data, server => client 14:53:22.264946 '150 Binary junk (17 bytes).\r\n' 14:53:22.265362 Received DATA (on stdin) 14:53:22.265376 > 28 bytes data, server => client 14:53:22.265388 '226 File transfer complete\r\n' 14:53:22.306681 < 6 bytes data, client => server 14:53:22.306726 'QUIT\r\n' 14:53:22.306983 Received DATA (on stdin) 14:53:22.306996 > 18 bytes data, server => client 14:53:22.307006 '221 bye bye baby\r\n' 14:53:22.307205 ====> Client disconnect 14:53:22.307388 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:22.263573 Running IPv4 version 14:53:22.263636 Listening on port 41895 14:53:22.263680 Wrote pid 83926 to log/21/server/ftp_sockdata.pid 14:53:22.263837 Received PING (on stdin) 14:53:22.263926 Received PORT (on stdin) 14:53:22.264283 ====> Client connect 14:53:22.264957 Received DATA (on stdin) 14:53:22.264970 > 17 bytes data, server => client 14:53:22.264982 'WE ROOLZ: 80269\r\n' 14:53:22.265007 Received DISC (on stdin) 14:53:22.265020 ====> Client forcibly disconnected 14:53:22.265104 Received QUIT (on stdin) 14:53:22.265116 quits 14:53:22.265169 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==84081== ==84081== Process terminating with default action of signal 4 (SIGILL) ==84081== Illegal opcode at address 0x4014B6F ==84081== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84081== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84081== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84081== by 0x4004266: main (tool_main.c:199) === End of file valgrind161 test 0163...[HTTP multipart formpost with contents from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind163 ../src/curl -q --output log/10/curl163.out --include --trace-ascii log/10/trace163 --trace-time http://127.0.0.1:35893/we/want/163 -F "name= log/10/stdout163 2> log/10/stderr163 163: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind163 ../src/curl -q --output log/10/curl163.out --include --trace-ascii log/10/trace163 --trace-time http://127.0.0.1:35893/we/want/163 -F "name= log/10/stdout163 2> log/10/stderr163 === End of file commands.log === Start of file field163 contents from a file newlinens? yes please [tab][CR] too === End of file field163 === Start of file http_server.log 14:53:22.393601 ====> Client connect 14:53:22.393638 accept_connection 3 returned 4 14:53:22.393657 accept_connection 3 returned 0 14:53:22.393674 Read 93 bytes 14:53:22.393686 Process 93 bytes request 14:53:22.393702 Got request: GET /verifiedserver HTTP/1.1 14:53:22.393713 Are-we-friendly question received 14:53:22.393742 Wrote request (93 bytes) input to log/10/server.input 14:53:22.393762 Identifying ourselves as friends 14:53:22.393825 Response sent (56 bytes) and written to log/10/server.response 14:53:22.393839 special request received, no persistency 14:53:22.393850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 33042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 163 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind163 ==84162== ==84162== Process terminating with default action of signal 4 (SIGILL) ==84162== Illegal opcode at address 0x4014B6F ==84162== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84162== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84162== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84162== by 0x4004266: main (tool_main.c:199) === End of file valgrind163 test 0164...[HTTP range with multiple ranges] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind164 ../src/curl -q --output log/3/curl164.out --include --trace-ascii log/3/trace164 --trace-time http://127.0.0.1:46791/want/164 -r 0-10,12-15 > log/3/stdout164 2> log/3/stderr164 164: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 164 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind164 ../src/curl -q --output log/3/curl164.out --include --trace-ascii log/3/trace164 --trace-time http://127.0.0.1:46791/want/164 -r 0-10,12-15 > log/3/stdout164 2> log/3/stderr164 === End of file commands.log === Start of file http_server.log 14:53:22.434344 ====> Client connect 14:53:22.434387 accept_connection 3 returned 4 14:53:22.434406 accept_connection 3 returned 0 14:53:22.434423 Read 93 bytes 14:53:22.434435 Process 93 bytes request 14:53:22.434500 Got request: GET /verifiedserver HTTP/1.1 14:53:22.434512 Are-we-friendly question received 14:53:22.434549 Wrote request (93 bytes) input to log/3/server.input 14:53:22.434568 Identifying ourselves as friends 14:53:22.434630 Response sent (56 bytes) and written to log/3/server.response 14:53:22.434642 special request received, no persistency 14:53:22.434653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind165 ../src/curl -q --output log/23/curl165.out --include --trace-ascii log/23/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:38851 http://www.große.de/page/165 > log/23/stdout165 2> log/23/stderr165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:41533/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/stderr166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind167 ../src/curl -q --output log/17/curl167.out --include --trace-ascii log/17/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:45171 --proxy-user foo:bar --digest --user digest:a-lot > log/17/stdout167 2> log/17/stderr167 nd of file server.response === Start of file valgrind164 ==84200== ==84200== Process terminating with default action of signal 4 (SIGILL) ==84200== Illegal opcode at address 0x4014B6F ==84200== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84200== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84200== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84200== by 0x4004266: main (tool_main.c:199) === End of file valgrind164 setenv LC_ALL = C.UTF-8 test 0165...[HTTP over proxy with IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind165 ../src/curl -q --output log/23/curl165.out --include --trace-ascii log/23/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:38851 http://www.große.de/page/165 > log/23/stdout165 2> log/23/stderr165 165: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 165 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind165 ../src/curl -q --output log/23/curl165.out --include --trace-ascii log/23/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:38851 http://www.große.de/page/165 > log/23/stdout165 2> log/23/stderr165 === End of file commands.log === Start of file http_server.log 14:53:22.571660 ====> Client connect 14:53:22.571702 accept_connection 3 returned 4 14:53:22.571722 accept_connection 3 returned 0 14:53:22.571741 Read 93 bytes 14:53:22.571753 Process 93 bytes request 14:53:22.571769 Got request: GET /verifiedserver HTTP/1.1 14:53:22.571779 Are-we-friendly question received 14:53:22.571806 Wrote request (93 bytes) input to log/23/server.input 14:53:22.571824 Identifying ourselves as friends 14:53:22.571898 Response sent (56 bytes) and written to log/23/server.response 14:53:22.571909 special request received, no persistency 14:53:22.571920 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 165 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind165 ==84332== ==84332== Process terminating with default action of signal 4 (SIGILL) ==84332== Illegal opcode at address 0x4014B6F ==84332== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84332== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84332== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84332== by 0x4004266: main (tool_main.c:199) === End of file valgrind165 test 0166...[HTTP formpost a file with spaces in name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:41533/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/stderr166 166: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:41533/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/stderr166 === End of file commands.log === Start of file fie ld 166 data inside the file === End of file fie ld 166 === Start of file http_server.log 14:53:22.581350 ====> Client connect 14:53:22.581388 accept_connection 3 returned 4 14:53:22.581406 accept_connection 3 returned 0 14:53:22.581422 Read 93 bytes 14:53:22.581438 Process 93 bytes request 14:53:22.581455 Got request: GET /verifiedserver HTTP/1.1 14:53:22.581467 Are-we-friendly question received 14:53:22.581495 Wrote request (93 bytes) input to log/13/server.input 14:53:22.581517 Identifying ourselves as friends 14:53:22.581582 Response sent (56 bytes) and written to log/13/server.response 14:53:22.581598 special request received, no persistency 14:53:22.581609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 36836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind166 ==84348== ==84348== Process terminating with default action of signal 4 (SIGILL) ==84348== Illegal opcode at address 0x4014B6F ==84348== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84348== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84348== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84348== by 0x4004266: main (tool_main.c:199) === End of file valgrind166 test 0167...[HTTP with proxy-requiring-Basic to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind167 ../src/curl -q --output log/17/curl167.out --include --trace-ascii log/17/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:45171 --proxy-user foo:bar --digest --user digest:a-lot > log/17/stdout167 2> log/17/stderr167 167: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 167 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind167 ../src/curl -q --output log/17/curl167.out --include --trace-ascii log/17/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:45171 --proxy-user foo:bar --digest --user digest:a-lot > log/17/stdout167 2> log/17/stderr167 === End of file commands.log === Start of file http_server.log 14:53:22.578632 ====> Client connect 14:53:22.578668 accept_connection 3 returned 4 14:53:22.578686 accept_connection 3 returned 0 14:53:22.578703 Read 93 bytes 14:53:22.578715 Process 93 bytes request 14:53:22.578729 Got request: GET /verifiedserver HTTP/1.1 14:53:22.578740 Are-we-friendly question received 14:53:22.578771 Wrote request (93 bytes) input to log/17/server.input 14:53:22.578789 Identifying ourselves as friends 14:53:22.578880 RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind169 ../src/curl -q --output log/20/curl169.out --include --trace-ascii log/20/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:39569 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/20/stdout169 2> log/20/stderr169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind168 ../src/curl -q --output log/18/curl168.out --include --trace-ascii log/18/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:43297 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/18/stdout168 2> log/18/stderr168 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind170 ../src/curl -q --output log/1/curl170.out --include --trace-ascii log/1/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44029 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/1/stdout170 2> log/1/stderr170 esponse sent (56 bytes) and written to log/17/server.response 14:53:22.578894 special request received, no persistency 14:53:22.578904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 167 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind167 ==84349== ==84349== Process terminating with default action of signal 4 (SIGILL) ==84349== Illegal opcode at address 0x4014B6F ==84349== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84349== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84349== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84349== by 0x4004266: main (tool_main.c:199) === End of file valgrind167 test 0169...[HTTP with proxy-requiring-NTLM to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind169 ../src/curl -q --output log/20/curl169.out --include --trace-ascii log/20/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:39569 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/20/stdout169 2> log/20/stderr169 169: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 169 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind169 ../src/curl -q --output log/20/curl169.out --include --trace-ascii log/20/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:39569 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/20/stdout169 2> log/20/stderr169 === End of file commands.log === Start of file http_server.log 14:53:22.682457 ====> Client connect 14:53:22.682492 accept_connection 3 returned 4 14:53:22.682510 accept_connection 3 returned 0 14:53:22.682527 Read 93 bytes 14:53:22.682539 Process 93 bytes request 14:53:22.682553 Got request: GET /verifiedserver HTTP/1.1 14:53:22.682564 Are-we-friendly question received 14:53:22.682590 Wrote request (93 bytes) input to log/20/server.input 14:53:22.682608 Identifying ourselves as friends 14:53:22.682664 Response sent (56 bytes) and written to log/20/server.response 14:53:22.682675 special request received, no persistency 14:53:22.682686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 169 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind169 ==84523== ==84523== Process terminating with default action of signal 4 (SIGILL) ==84523== Illegal opcode at address 0x4014B6F ==84523== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84523== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84523== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84523== by 0x4004266: main (tool_main.c:199) === End of file valgrind169 test 0168...[HTTP with proxy-requiring-Digest to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind168 ../src/curl -q --output log/18/curl168.out --include --trace-ascii log/18/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:43297 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/18/stdout168 2> log/18/stderr168 168: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind168 ../src/curl -q --output log/18/curl168.out --include --trace-ascii log/18/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:43297 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/18/stdout168 2> log/18/stderr168 === End of file commands.log === Start of file http_server.log 14:53:22.682461 ====> Client connect 14:53:22.682499 accept_connection 3 returned 4 14:53:22.682517 accept_connection 3 returned 0 14:53:22.682533 Read 93 bytes 14:53:22.682545 Process 93 bytes request 14:53:22.682558 Got request: GET /verifiedserver HTTP/1.1 14:53:22.682569 Are-we-friendly question received 14:53:22.682598 Wrote request (93 bytes) input to log/18/server.input 14:53:22.682617 Identifying ourselves as friends 14:53:22.682676 Response sent (56 bytes) and written to log/18/server.response 14:53:22.682688 special request received, no persistency 14:53:22.682699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 46570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind168 ==84522== ==84522== Process terminating with default action of signal 4 (SIGILL) ==84522== Illegal opcode at address 0x4014B6F ==84522== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84522== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84522== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84522== by 0x4004266: main (tool_main.c:199) === End of file valgrind168 test 0170...[HTTP POST with --proxy-ntlm and no SSL with no response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind170 ../src/curl -q --output log/1/curl170.out --include --trace-ascii log/1/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44029 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/1/stdout170 2> log/1/stderr170 170: protocol FAILED! There was no content at all in the CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind172 ../src/curl -q --output log/6/curl172.out --include --trace-ascii log/6/trace172 --trace-time http://127.0.0.1:38791/we/want/172 -b log/6/jar172.txt -b "tool=curl; name=fool" > log/6/stdout172 2> log/6/stderr172 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind171 ../src/curl -q --output log/11/curl171.out --include --trace-ascii log/11/trace171 --trace-time -c log/11/jar171 -x 127.0.0.1:33503 http://z.x.com/171 > log/11/stdout171 2> log/11/stderr171 file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind170 ../src/curl -q --output log/1/curl170.out --include --trace-ascii log/1/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44029 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/1/stdout170 2> log/1/stderr170 === End of file commands.log === Start of file http_server.log 14:53:22.797409 ====> Client connect 14:53:22.797444 accept_connection 3 returned 4 14:53:22.797462 accept_connection 3 returned 0 14:53:22.797481 Read 93 bytes 14:53:22.797492 Process 93 bytes request 14:53:22.797506 Got request: GET /verifiedserver HTTP/1.1 14:53:22.797517 Are-we-friendly question received 14:53:22.797539 Wrote request (93 bytes) input to log/1/server.input 14:53:22.797555 Identifying ourselves as friends 14:53:22.797609 Response sent (56 bytes) and written to log/1/server.response 14:53:22.797620 special request received, no persistency 14:53:22.797632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind170 ==84673== ==84673== Process terminating with default action of signal 4 (SIGILL) ==84673== Illegal opcode at address 0x4014B6F ==84673== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84673== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84673== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84673== by 0x4004266: main (tool_main.c:199) === End of file valgrind170 test 0172...[HTTP with cookies file and custom added cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind172 ../src/curl -q --output log/6/curl172.out --include --trace-ascii log/6/trace172 --trace-time http://127.0.0.1:38791/we/want/172 -b log/6/jar172.txt -b "tool=curl; name=fool" > log/6/stdout172 2> log/6/stderr172 172: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind172 ../src/curl -q --output log/6/curl172.out --include --trace-ascii log/6/trace172 --trace-time http://127.0.0.1:38791/we/want/172 -b log/6/jar172.txt -b "tool=curl; name=fool" > log/6/stdout172 2> log/6/stderr172 === End of file commands.log === Start of file http_server.log 14:53:22.818530 ====> Client connect 14:53:22.818564 accept_connection 3 returned 4 14:53:22.818581 accept_connection 3 returned 0 14:53:22.818596 Read 93 bytes 14:53:22.818610 Process 93 bytes request 14:53:22.818626 Got request: GET /verifiedserver HTTP/1.1 14:53:22.818636 Are-we-friendly question received 14:53:22.818660 Wrote request (93 bytes) input to log/6/server.input 14:53:22.818682 Identifying ourselves as friends 14:53:22.818742 Response sent (56 bytes) and written to log/6/server.response 14:53:22.818755 special request received, no persistency 14:53:22.818765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 55110 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file jar172.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .127.0.0.1 TRUE /silly/ FALSE 0 ismatch this .127.0.0.1 TRUE / FALSE 0 partmatch present 127.0.0.1 FALSE /we/want/ FALSE 22139150993 nodomain value === End of file jar172.txt === Start of file server.cmd Testnum 172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind172 ==84747== ==84747== Process terminating with default action of signal 4 (SIGILL) ==84747== Illegal opcode at address 0x4014B6F ==84747== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84747== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84747== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84747== by 0x4004266: main (tool_main.c:199) === End of file valgrind172 test 0171...[HTTP, get cookie with dot prefixed full domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind171 ../src/curl -q --output log/11/curl171.out --include --trace-ascii log/11/trace171 --trace-time -c log/11/jar171 -x 127.0.0.1:33503 http://z.x.com/171 > log/11/stdout171 2> log/11/stderr171 171: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind171 ../src/curl -q --output log/11/curl171.out --include --trace-ascii log/11/trace171 --trace-time -c log/11/jar171 -x 127.0.0.1:33503 http://z.x.com/171 > log/11/stdout171 2> log/11/stderr171 === End of file commands.log === Start of file http_server.log 14:53:22.807517 ====> Client connect 14:53:22.807553 accept_connection 3 returned 4 14:53:22.807571 accept_connection 3 returned 0 14:53:22.807588 Read 93 bytes 14:53:22.807608 Process 93 bytes request 14:53:22.807625 Got request: GET /verifiedserver HTTP/1.1 14:53:22.807636 Are-we-friendly question received 14:53:22.807663 Wrote request (93 bytes) input to log/11/server.input 14:53:22.807685 Identifying ourselves as friends 14:53:22.807753 Response sent (56 bytes) and written to log/11/server.response 14:53:22.807766 special request received, no persistency 14:53:22.807778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 34346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind173 ../src/curl -q --output log/12/curl173.out --include --trace-ascii log/12/trace173 --trace-time http://127.0.0.1:43359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/12/stdout173 2> log/12/stderr173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind174 ../src/curl -q --output log/14/curl174.out --include --trace-ascii log/14/trace174 --trace-time http://127.0.0.1:46043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/14/stdout174 2> log/14/stderr174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind175 ../src/curl -q --output log/16/curl175.out --include --trace-ascii log/16/trace175 --trace-time http://127.0.0.1:34475/175 -u auser:apasswd --digest -d "junkelijunk" > log/16/stdout175 2> log/16/stderr175 Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind171 ==84698== ==84698== Process terminating with default action of signal 4 (SIGILL) ==84698== Illegal opcode at address 0x4014B6F ==84698== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84698== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84698== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84698== by 0x4004266: main (tool_main.c:199) === End of file valgrind171 test 0173...[HTTP RFC1867-formpost a file from stdin with "faked" filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind173 ../src/curl -q --output log/12/curl173.out --include --trace-ascii log/12/trace173 --trace-time http://127.0.0.1:43359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/12/stdout173 2> log/12/stderr173 173: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 173 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind173 ../src/curl -q --output log/12/curl173.out --include --trace-ascii log/12/trace173 --trace-time http://127.0.0.1:43359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/12/stdout173 2> log/12/stderr173 === End of file commands.log === Start of file http_server.log 14:53:22.834040 ====> Client connect 14:53:22.834079 accept_connection 3 returned 4 14:53:22.834096 accept_connection 3 returned 0 14:53:22.834112 Read 93 bytes 14:53:22.834123 Process 93 bytes request 14:53:22.834137 Got request: GET /verifiedserver HTTP/1.1 14:53:22.834147 Are-we-friendly question received 14:53:22.834174 Wrote request (93 bytes) input to log/12/server.input 14:53:22.834192 Identifying ourselves as friends 14:53:22.834252 Response sent (56 bytes) and written to log/12/server.response 14:53:22.834263 special request received, no persistency 14:53:22.834272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 173 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stdin-for-173 line1 line2 line3 line4 line5 line6 line7 line8 === End of file stdin-for-173 === Start of file valgrind173 ==84798== ==84798== Process terminating with default action of signal 4 (SIGILL) ==84798== Illegal opcode at address 0x4014B6F ==84798== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84798== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84798== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84798== by 0x4004266: main (tool_main.c:199) === End of file valgrind173 test 0174...[HTTP POST --anyauth to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind174 ../src/curl -q --output log/14/curl174.out --include --trace-ascii log/14/trace174 --trace-time http://127.0.0.1:46043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/14/stdout174 2> log/14/stderr174 174: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind174 ../src/curl -q --output log/14/curl174.out --include --trace-ascii log/14/trace174 --trace-time http://127.0.0.1:46043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/14/stdout174 2> log/14/stderr174 === End of file commands.log === Start of file http_server.log 14:53:22.835452 ====> Client connect 14:53:22.835487 accept_connection 3 returned 4 14:53:22.835504 accept_connection 3 returned 0 14:53:22.835519 Read 93 bytes 14:53:22.835531 Process 93 bytes request 14:53:22.835544 Got request: GET /verifiedserver HTTP/1.1 14:53:22.835555 Are-we-friendly question received 14:53:22.835582 Wrote request (93 bytes) input to log/14/server.input 14:53:22.835600 Identifying ourselves as friends 14:53:22.835661 Response sent (56 bytes) and written to log/14/server.response 14:53:22.835672 special request received, no persistency 14:53:22.835683 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 53668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind174 ==84797== ==84797== Process terminating with default action of signal 4 (SIGILL) ==84797== Illegal opcode at address 0x4014B6F ==84797== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84797== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84797== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84797== by 0x4004266: main (tool_main.c:199) === End of file valgrind174 test 0175...[HTTP POST --digest to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind175 ../src/curl -q --output log/16/curl175.out --include --trace-ascii log/16/trace175 --trace-time http://127.0.0.1:34475/175 -u auser:apasswd --digest -d "junkelijunk" > log/16/stdout175 2> log/16/stderr175 175: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 175 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind175 ../src/curl -q --output log/16/curl175.out --include --trace-ascii log/16/trace175 --trace-time http://127.0.0.1:34475/175 -u auser:apasswd --digest -d "junkelijunk" > log/16/stdout175 2> log/16/stderr175 === End of file commands.log === Start of file http_server.log 14:53:22.913301 ====> Client connect 14:53:22.913335 accept_connection 3 returned 4 14:53:22.913354 accept_connection 3 returned 0 14:53:22.913372 Read 93 bytes 14:53:22.913384 Process 93 bytes request 14:53:22.913398 Got request: GET /verifiedserver HTTP/1.1 14:53:22.913409 Are-we-friendly question received 14:53:22.913434 WroCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind176 ../src/curl -q --output log/2/curl176.out --include --trace-ascii log/2/trace176 --trace-time http://127.0.0.1:37587/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/2/stdout176 2> log/2/stderr176 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind177 ../src/curl -q --output log/7/curl177.out --include --trace-ascii log/7/trace177 --trace-time http://127.0.0.1:40545/177 -u auser:apasswd --digest -d "junkelijunk" > log/7/stdout177 2> log/7/stderr177 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind178 ../src/curl -q --output log/5/curl178.out --include --trace-ascii log/5/trace178 --trace-time http://127.0.0.1:46041/178 > log/5/stdout178 2> log/5/stderr178 te request (93 bytes) input to log/16/server.input 14:53:22.913454 Identifying ourselves as friends 14:53:22.913508 Response sent (56 bytes) and written to log/16/server.response 14:53:22.913520 special request received, no persistency 14:53:22.913531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 175 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind175 ==84982== ==84982== Process terminating with default action of signal 4 (SIGILL) ==84982== Illegal opcode at address 0x4014B6F ==84982== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==84982== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==84982== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==84982== by 0x4004266: main (tool_main.c:199) === End of file valgrind175 test 0176...[HTTP POST --ntlm to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind176 ../src/curl -q --output log/2/curl176.out --include --trace-ascii log/2/trace176 --trace-time http://127.0.0.1:37587/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/2/stdout176 2> log/2/stderr176 176: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind176 ../src/curl -q --output log/2/curl176.out --include --trace-ascii log/2/trace176 --trace-time http://127.0.0.1:37587/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/2/stdout176 2> log/2/stderr176 === End of file commands.log === Start of file http_server.log 14:53:22.973842 ====> Client connect 14:53:22.973873 accept_connection 3 returned 4 14:53:22.973890 accept_connection 3 returned 0 14:53:22.973905 Read 93 bytes 14:53:22.973915 Process 93 bytes request 14:53:22.973929 Got request: GET /verifiedserver HTTP/1.1 14:53:22.973939 Are-we-friendly question received 14:53:22.973962 Wrote request (93 bytes) input to log/2/server.input 14:53:22.973978 Identifying ourselves as friends 14:53:22.974030 Response sent (56 bytes) and written to log/2/server.response 14:53:22.974040 special request received, no persistency 14:53:22.974050 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind176 ==85045== ==85045== Process terminating with default action of signal 4 (SIGILL) ==85045== Illegal opcode at address 0x4014B6F ==85045== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85045== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85045== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85045== by 0x4004266: main (tool_main.c:199) === End of file valgrind176 test 0177...[HTTP POST --digest to server doing a 302-location response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind177 ../src/curl -q --output log/7/curl177.out --include --trace-ascii log/7/trace177 --trace-time http://127.0.0.1:40545/177 -u auser:apasswd --digest -d "junkelijunk" > log/7/stdout177 2> log/7/stderr177 177: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind177 ../src/curl -q --output log/7/curl177.out --include --trace-ascii log/7/trace177 --trace-time http://127.0.0.1:40545/177 -u auser:apasswd --digest -d "junkelijunk" > log/7/stdout177 2> log/7/stderr177 === End of file commands.log === Start of file http_server.log 14:53:23.023992 ====> Client connect 14:53:23.024028 accept_connection 3 returned 4 14:53:23.024046 accept_connection 3 returned 0 14:53:23.024063 Read 93 bytes 14:53:23.024075 Process 93 bytes request 14:53:23.024089 Got request: GET /verifiedserver HTTP/1.1 14:53:23.024100 Are-we-friendly question received 14:53:23.024125 Wrote request (93 bytes) input to log/7/server.input 14:53:23.024144 Identifying ourselves as friends 14:53:23.024201 Response sent (56 bytes) and written to log/7/server.response 14:53:23.024214 special request received, no persistency 14:53:23.024225 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 51648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 177 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind177 ==85106== ==85106== Process terminating with default action of signal 4 (SIGILL) ==85106== Illegal opcode at address 0x4014B6F ==85106== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85106== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85106== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85106== by 0x4004266: main (tool_main.c:199) === End of file valgrind177 test 0178...[HTTP response with negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind178 ../src/curl -q --output log/5/curl178.out --include --trace-ascii log/5/trace178 --trace-time http://127.0.0.1:46041/178 > log/5/stdout178 2> log/5/stderr178 178: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind178 ../src/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:34449 > log/24/stdout179 2> log/24/stderr179 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind180 ../src/curl -q --output log/9/curl180.out --include --trace-ascii log/9/trace180 --trace-time http://127.0.0.1:34345/we/want/180 -T log/9/test180.txt --http1.0 > log/9/stdout180 2> log/9/stderr180 l -q --output log/5/curl178.out --include --trace-ascii log/5/trace178 --trace-time http://127.0.0.1:46041/178 > log/5/stdout178 2> log/5/stderr178 === End of file commands.log === Start of file http_server.log 14:53:23.204874 ====> Client connect 14:53:23.204902 accept_connection 3 returned 4 14:53:23.204916 accept_connection 3 returned 0 14:53:23.204929 Read 93 bytes 14:53:23.204938 Process 93 bytes request 14:53:23.204951 Got request: GET /verifiedserver HTTP/1.1 14:53:23.204959 Are-we-friendly question received 14:53:23.205001 Wrote request (93 bytes) input to log/5/server.input 14:53:23.205016 Identifying ourselves as friends 14:53:23.205060 Response sent (56 bytes) and written to log/5/server.response 14:53:23.205069 special request received, no persistency 14:53:23.205077 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 52712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind178 ==85213== ==85213== Process terminating with default action of signal 4 (SIGILL) ==85213== Illegal opcode at address 0x4014B6F ==85213== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85213== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85213== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85213== by 0x4004266: main (tool_main.c:199) === End of file valgrind178 test 0179...[HTTP using proxy and cookies with path checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:34449 > log/24/stdout179 2> log/24/stderr179 179: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 179 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:34449 > log/24/stdout179 2> log/24/stderr179 === End of file commands.log === Start of file http_server.log 14:53:23.206971 ====> Client connect 14:53:23.207004 accept_connection 3 returned 4 14:53:23.207021 accept_connection 3 returned 0 14:53:23.207036 Read 93 bytes 14:53:23.208529 Process 93 bytes request 14:53:23.208543 Got request: GET /verifiedserver HTTP/1.1 14:53:23.208554 Are-we-friendly question received 14:53:23.208585 Wrote request (93 bytes) input to log/24/server.input 14:53:23.208604 Identifying ourselves as friends 14:53:23.208663 Response sent (56 bytes) and written to log/24/server.response 14:53:23.208677 special request received, no persistency 14:53:23.208688 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 54346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file injar179 supertrooper.fake FALSE /a FALSE 22139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 22139150993 moo2 indeed === End of file injar179 === Start of file server.cmd Testnum 179 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind179 ==85221== ==85221== Process terminating with default action of signal 4 (SIGILL) ==85221== Illegal opcode at address 0x4014B6F ==85221== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85221== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85221== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85221== by 0x4004266: main (tool_main.c:199) === End of file valgrind179 test 0180...[HTTP 1.0 PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind180 ../src/curl -q --output log/9/curl180.out --include --trace-ascii log/9/trace180 --trace-time http://127.0.0.1:34345/we/want/180 -T log/9/test180.txt --http1.0 > log/9/stdout180 2> log/9/stderr180 180: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind180 ../src/curl -q --output log/9/curl180.out --include --trace-ascii log/9/trace180 --trace-time http://127.0.0.1:34345/we/want/180 -T log/9/test180.txt --http1.0 > log/9/stdout180 2> log/9/stderr180 === End of file commands.log === Start of file http_server.log 14:53:23.232136 ====> Client connect 14:53:23.232166 accept_connection 3 returned 4 14:53:23.232182 accept_connection 3 returned 0 14:53:23.232195 Read 93 bytes 14:53:23.232204 Process 93 bytes request 14:53:23.232215 Got request: GET /verifiedserver HTTP/1.1 14:53:23.232224 Are-we-friendly question received 14:53:23.232245 Wrote request (93 bytes) input to log/9/server.input 14:53:23.232259 Identifying ourselves as friends 14:53:23.232306 Response sent (56 bytes) and written to log/9/server.response 14:53:23.232315 special request received, no persistency 14:53:23.232323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 52490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file test180.txt Weird file to upload for testing the PUT feature === End of file test180.txt === Start of file valgrind180 ==85308== ==85308== Process terminating with default action of signal 4 (SIGILL) ==85308== Illegal opcode at address 0x4014B6F ==85308== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85308== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85308== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85308== by 0x4004266: main (tooCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind181 ../src/curl -q --output log/19/curl181.out --include --trace-ascii log/19/trace181 --trace-time http://127.0.0.1:33805/we/want/181 --data-binary @log/19/test181.txt --http1.0 > log/19/stdout181 2> log/19/stderr181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind184 ../src/curl -q --output log/22/curl184.out --include --trace-ascii log/22/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:42027 > log/22/stdout184 2> log/22/stderr184 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind183 ../src/curl -q --output log/15/curl183.out --include --trace-ascii log/15/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42107 > log/15/stdout183 2> log/15/stderr183 l_main.c:199) === End of file valgrind180 test 0181...[HTTP 1.0 POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind181 ../src/curl -q --output log/19/curl181.out --include --trace-ascii log/19/trace181 --trace-time http://127.0.0.1:33805/we/want/181 --data-binary @log/19/test181.txt --http1.0 > log/19/stdout181 2> log/19/stderr181 181: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind181 ../src/curl -q --output log/19/curl181.out --include --trace-ascii log/19/trace181 --trace-time http://127.0.0.1:33805/we/want/181 --data-binary @log/19/test181.txt --http1.0 > log/19/stdout181 2> log/19/stderr181 === End of file commands.log === Start of file http_server.log 14:53:22.245031 ====> Client connect 14:53:22.245067 accept_connection 3 returned 4 14:53:22.245086 accept_connection 3 returned 0 14:53:22.245228 Read 93 bytes 14:53:22.245245 Process 93 bytes request 14:53:22.245259 Got request: GET /verifiedserver HTTP/1.1 14:53:22.245270 Are-we-friendly question received 14:53:22.245302 Wrote request (93 bytes) input to log/19/server.input 14:53:22.245321 Identifying ourselves as friends 14:53:22.245382 Response sent (56 bytes) and written to log/19/server.response 14:53:22.245394 special request received, no persistency 14:53:22.245405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 55668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file test181.txt Weird file to upload for testing the POST feature === End of file test181.txt === Start of file valgrind181 ==85333== ==85333== Process terminating with default action of signal 4 (SIGILL) ==85333== Illegal opcode at address 0x4014B6F ==85333== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85333== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85333== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85333== by 0x4004266: main (tool_main.c:199) === End of file valgrind181 test 0184...[HTTP replace Host: when following Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind184 ../src/curl -q --output log/22/curl184.out --include --trace-ascii log/22/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:42027 > log/22/stdout184 2> log/22/stderr184 184: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 184 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind184 ../src/curl -q --output log/22/curl184.out --include --trace-ascii log/22/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:42027 > log/22/stdout184 2> log/22/stderr184 === End of file commands.log === Start of file http_server.log 14:53:23.296129 ====> Client connect 14:53:23.296160 accept_connection 3 returned 4 14:53:23.296177 accept_connection 3 returned 0 14:53:23.296191 Read 93 bytes 14:53:23.296202 Process 93 bytes request 14:53:23.296214 Got request: GET /verifiedserver HTTP/1.1 14:53:23.296224 Are-we-friendly question received 14:53:23.296250 Wrote request (93 bytes) input to log/22/server.input 14:53:23.296268 Identifying ourselves as friends 14:53:23.296324 Response sent (56 bytes) and written to log/22/server.response 14:53:23.296345 special request received, no persistency 14:53:23.296354 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 184 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind184 ==85506== ==85506== Process terminating with default action of signal 4 (SIGILL) ==85506== Illegal opcode at address 0x4014B6F ==85506== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85506== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85506== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85506== by 0x4004266: main (tool_main.c:199) === End of file valgrind184 test 0183...[HTTP GET two URLs over a single proxy with persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind183 ../src/curl -q --output log/15/curl183.out --include --trace-ascii log/15/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42107 > log/15/stdout183 2> log/15/stderr183 183: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind183 ../src/curl -q --output log/15/curl183.out --include --trace-ascii log/15/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42107 > log/15/stdout183 2> log/15/stderr183 === End of file commands.log === Start of file http_server.log 14:53:23.291247 ====> Client connect 14:53:23.291286 accept_connection 3 returned 4 14:53:23.291307 accept_connection 3 returned 0 14:53:23.291323 Read 93 bytes 14:53:23.291336 Process 93 bytes request 14:53:23.291350 Got request: GET /verifiedserver HTTP/1.1 14:53:23.291361 Are-we-friendly question received 14:53:23.291388 Wrote request (93 bytes) input to log/15/server.input 14:53:23.291409 Identifying ourselves as friends 14:53:23.291477 Response sent (56 bytes) and written to log/15/server.response 14:53:23.291492 special request received, no persistency 14:53:23.291502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37085 > log/8/stdout185 2> log/8/stderr185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind182 ../src/curl -q --output log/4/curl182.out --include --trace-ascii log/4/trace182 --trace-time ftp://127.0.0.1:44299/182 > log/4/stdout182 2> log/4/stderr182 127.0.0.1 port 51520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind183 ==85487== ==85487== Process terminating with default action of signal 4 (SIGILL) ==85487== Illegal opcode at address 0x4014B6F ==85487== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85487== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85487== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85487== by 0x4004266: main (tool_main.c:199) === End of file valgrind183 test 0185...[HTTP replace Host: when following Location: on the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37085 > log/8/stdout185 2> log/8/stderr185 185: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 185 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37085 > log/8/stdout185 2> log/8/stderr185 === End of file commands.log === Start of file http_server.log 14:53:22.300820 ====> Client connect 14:53:22.300854 accept_connection 3 returned 4 14:53:22.300872 accept_connection 3 returned 0 14:53:22.300888 Read 93 bytes 14:53:22.300900 Process 93 bytes request 14:53:22.300913 Got request: GET /verifiedserver HTTP/1.1 14:53:22.300924 Are-we-friendly question received 14:53:22.300952 Wrote request (93 bytes) input to log/8/server.input 14:53:22.300970 Identifying ourselves as friends 14:53:22.301027 Response sent (56 bytes) and written to log/8/server.response 14:53:22.301039 special request received, no persistency 14:53:22.301049 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 185 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind185 ==85527== ==85527== Process terminating with default action of signal 4 (SIGILL) ==85527== Illegal opcode at address 0x4014B6F ==85527== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85527== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85527== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85527== by 0x4004266: main (tool_main.c:199) === End of file valgrind185 test 0182...[FTP download an empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind182 ../src/curl -q --output log/4/curl182.out --include --trace-ascii log/4/trace182 --trace-time ftp://127.0.0.1:44299/182 > log/4/stdout182 2> log/4/stderr182 182: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 182 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind182 ../src/curl -q --output log/4/curl182.out --include --trace-ascii log/4/trace182 --trace-time ftp://127.0.0.1:44299/182 > log/4/stdout182 2> log/4/stderr182 === End of file commands.log === Start of file ftp_server.log 14:53:23.206390 ====> Client connect 14:53:23.206584 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:23.206954 < "USER anonymous" 14:53:23.207000 > "331 We are happy you popped in![CR][LF]" 14:53:23.207202 < "PASS ftp@example.com" 14:53:23.207232 > "230 Welcome you silly person[CR][LF]" 14:53:23.207419 < "PWD" 14:53:23.207457 > "257 "/" is current directory[CR][LF]" 14:53:23.207655 < "EPSV" 14:53:23.207690 ====> Passive DATA channel requested by client 14:53:23.207707 DATA sockfilt for passive data channel starting... 14:53:23.209756 DATA sockfilt for passive data channel started (pid 85446) 14:53:23.209897 DATA sockfilt for passive data channel listens on port 42859 14:53:23.209951 > "229 Entering Passive Mode (|||42859|)[LF]" 14:53:23.209970 Client has been notified that DATA conn will be accepted on port 42859 14:53:23.210186 Client connects to port 42859 14:53:23.210230 ====> Client established passive DATA connection on port 42859 14:53:23.210330 < "TYPE I" 14:53:23.210369 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:23.210547 < "SIZE verifiedserver" 14:53:23.210587 > "213 17[CR][LF]" 14:53:23.210740 < "RETR verifiedserver" 14:53:23.210772 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:23.210858 =====> Closing passive DATA connection... 14:53:23.210875 Server disconnects passive DATA connection 14:53:23.211108 Server disconnected passive DATA connection 14:53:23.211133 DATA sockfilt for passive data channel quits (pid 85446) 14:53:23.211389 DATA sockfilt for passive data channel quit (pid 85446) 14:53:23.211417 =====> Closed passive DATA connection 14:53:23.211450 > "226 File transfer complete[CR][LF]" 14:53:23.257406 < "QUIT" 14:53:23.257472 > "221 bye bye baby[CR][LF]" 14:53:23.258687 MAIN sockfilt said DISC 14:53:23.258724 ====> Client disconnected 14:53:23.258819 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:23.289086 ====> Client connect 14:53:23.289422 Received DATA (on stdin) 14:53:23.289440 > 160 bytes data, server => client 14:53:23.289455 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:23.289468 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:23.289480 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:23.289568 < 16 bytes data, client => server 14:53:23.289587 'USER anonymous\r\n' 14:53:23.289828 Received DATA (on stdin) 14:53:23.289844 > 33 bytes data, server => client 14:53:23.289857 '331 We are happy you popped in!\r\n' 14:53:23.289917 < 22 bytes data, client => server 14:53:23.289935 'PASS ftp@example.com\r\n' 14:53:23.290054 Received DATA (on stdin) 14:53:23.290069 > 30 bytes data, server => client 14:53:23.290082 '230 Welcome you silly person\r\n' 14:53:23.290138 < 5 bytes data, client => server 14:53:23.290156 'PWD\r\n' 14:53:23.290280 Received DATA (on stdin) 14:53:23.290295 > 30 bytes data, server => CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:34037/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind187 ../src/curl -q --output log/10/curl187.out --include --trace-ascii log/10/trace187 --trace-time http://127.0.0.1:35893?oh=what-weird=test/187 -L > log/10/stdout187 2> log/10/stderr187 client 14:53:23.290307 '257 "/" is current directory\r\n' 14:53:23.290375 < 6 bytes data, client => server 14:53:23.290393 'EPSV\r\n' 14:53:23.292801 Received DATA (on stdin) 14:53:23.292819 > 38 bytes data, server => client 14:53:23.292832 '229 Entering Passive Mode (|||42859|)\n' 14:53:23.292964 < 8 bytes data, client => server 14:53:23.292981 'TYPE I\r\n' 14:53:23.293190 Received DATA (on stdin) 14:53:23.293205 > 33 bytes data, server => client 14:53:23.293217 '200 I modify TYPE as you wanted\r\n' 14:53:23.293276 < 21 bytes data, client => server 14:53:23.293289 'SIZE verifiedserver\r\n' 14:53:23.293406 Received DATA (on stdin) 14:53:23.293418 > 8 bytes data, server => client 14:53:23.293430 '213 17\r\n' 14:53:23.293478 < 21 bytes data, client => server 14:53:23.293489 'RETR verifiedserver\r\n' 14:53:23.293694 Received DATA (on stdin) 14:53:23.293706 > 29 bytes data, server => client 14:53:23.293718 '150 Binary junk (17 bytes).\r\n' 14:53:23.294271 Received DATA (on stdin) 14:53:23.294286 > 28 bytes data, server => client 14:53:23.294298 '226 File transfer complete\r\n' 14:53:23.339930 < 6 bytes data, client => server 14:53:23.339965 'QUIT\r\n' 14:53:23.340298 Received DATA (on stdin) 14:53:23.340313 > 18 bytes data, server => client 14:53:23.340325 '221 bye bye baby\r\n' 14:53:23.341439 ====> Client disconnect 14:53:23.341639 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:23.292380 Running IPv4 version 14:53:23.292446 Listening on port 42859 14:53:23.292484 Wrote pid 85446 to log/4/server/ftp_sockdata.pid 14:53:23.292509 Received PING (on stdin) 14:53:23.292616 Received PORT (on stdin) 14:53:23.292949 ====> Client connect 14:53:23.293744 Received DATA (on stdin) 14:53:23.293758 > 17 bytes data, server => client 14:53:23.293770 'WE ROOLZ: 80848\r\n' 14:53:23.293794 Received DISC (on stdin) 14:53:23.293806 ====> Client forcibly disconnected 14:53:23.293958 Received QUIT (on stdin) 14:53:23.293970 quits 14:53:23.294028 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==85643== ==85643== Process terminating with default action of signal 4 (SIGILL) ==85643== Illegal opcode at address 0x4014B6F ==85643== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85643== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85643== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85643== by 0x4004266: main (tool_main.c:199) === End of file valgrind182 test 0186...[HTTP RFC1867-type formposting with types on text fields] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:34037/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 186: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:34037/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 === End of file commands.log === Start of file http_server.log 14:53:23.386483 ====> Client connect 14:53:23.386521 accept_connection 3 returned 4 14:53:23.386540 accept_connection 3 returned 0 14:53:23.386557 Read 93 bytes 14:53:23.386569 Process 93 bytes request 14:53:23.386584 Got request: GET /verifiedserver HTTP/1.1 14:53:23.386595 Are-we-friendly question received 14:53:23.386623 Wrote request (93 bytes) input to log/21/server.input 14:53:23.386641 Identifying ourselves as friends 14:53:23.386698 Response sent (56 bytes) and written to log/21/server.response 14:53:23.386710 special request received, no persistency 14:53:23.386720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 45894 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind186 ==85728== ==85728== Process terminating with default action of signal 4 (SIGILL) ==85728== Illegal opcode at address 0x4014B6F ==85728== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85728== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85728== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85728== by 0x4004266: main (tool_main.c:199) === End of file valgrind186 test 0187...[HTTP redirect with bad host name separation and slash in parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind187 ../src/curl -q --output log/10/curl187.out --include --trace-ascii log/10/trace187 --trace-time http://127.0.0.1:35893?oh=what-weird=test/187 -L > log/10/stdout187 2> log/10/stderr187 187: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind187 ../src/curl -q --output log/10/curl187.out --include --trace-ascii log/10/trace187 --trace-time http://127.0.0.1:35893?oh=what-weird=test/187 -L > log/10/stdout187 2> log/10/stderr187 === End of file commands.log === Start of file http_server.log 14:53:23.491418 ====> Client connect 14:53:23.491461 accept_connection 3 returned 4 14:53:23.491484 accept_connection 3 returned 0 14:53:23.491503 Read 93 bytes 14:53:23.491515 Process 93 bytes request 14:53:23.491532 Got request: GET /verifiedserver HTTP/1.1 14:53:23.491543 Are-we-friendly question received 14:53:23.491581 Wrote request (93 bytes) input to log/10/server.input 14:53:23.491600 Identifying ourselves as friends 14:53:23.491658 Response sent (56 bytes) and written to log/10/server.response 14:53:23.491670 special request received, no persistency 14:53:23.491681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 33046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 187 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind188 ../src/curl -q --output log/3/curl188.out --include --trace-ascii log/3/trace188 --trace-time http://127.0.0.1:46791/188 -C 50 -L > log/3/stdout188 2> log/3/stderr188 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind189 ../src/curl -q --output log/23/curl189.out --include --trace-ascii log/23/trace189 --trace-time http://127.0.0.1:38851/189 -C 50 -L > log/23/stdout189 2> log/23/stderr189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:44851/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind192 ../src/curl -q --include --trace-ascii log/20/trace192 --trace-time http://127.0.0.1:39569/192 -w "%{num_connects}\n" > log/20/stdout192 2> log/20/stderr192 * kill pid for ftp-ctrl => 80288 = Start of file valgrind187 ==85824== ==85824== Process terminating with default action of signal 4 (SIGILL) ==85824== Illegal opcode at address 0x4014B6F ==85824== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85824== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85824== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85824== by 0x4004266: main (tool_main.c:199) === End of file valgrind187 test 0188...[HTTP GET with resume and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind188 ../src/curl -q --output log/3/curl188.out --include --trace-ascii log/3/trace188 --trace-time http://127.0.0.1:46791/188 -C 50 -L > log/3/stdout188 2> log/3/stderr188 188: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 188 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind188 ../src/curl -q --output log/3/curl188.out --include --trace-ascii log/3/trace188 --trace-time http://127.0.0.1:46791/188 -C 50 -L > log/3/stdout188 2> log/3/stderr188 === End of file commands.log === Start of file http_server.log 14:53:23.484054 ====> Client connect 14:53:23.484091 accept_connection 3 returned 4 14:53:23.484109 accept_connection 3 returned 0 14:53:23.484124 Read 93 bytes 14:53:23.484135 Process 93 bytes request 14:53:23.484149 Got request: GET /verifiedserver HTTP/1.1 14:53:23.484160 Are-we-friendly question received 14:53:23.484186 Wrote request (93 bytes) input to log/3/server.input 14:53:23.484204 Identifying ourselves as friends 14:53:23.484259 Response sent (56 bytes) and written to log/3/server.response 14:53:23.484271 special request received, no persistency 14:53:23.484281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind188 ==85821== ==85821== Process terminating with default action of signal 4 (SIGILL) ==85821== Illegal opcode at address 0x4014B6F ==85821== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85821== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85821== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85821== by 0x4004266: main (tool_main.c:199) === End of file valgrind188 test 0189...[HTTP GET with resume and redirect (to a page that doesn't resume)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind189 ../src/curl -q --output log/23/curl189.out --include --trace-ascii log/23/trace189 --trace-time http://127.0.0.1:38851/189 -C 50 -L > log/23/stdout189 2> log/23/stderr189 189: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind189 ../src/curl -q --output log/23/curl189.out --include --trace-ascii log/23/trace189 --trace-time http://127.0.0.1:38851/189 -C 50 -L > log/23/stdout189 2> log/23/stderr189 === End of file commands.log === Start of file http_server.log 14:53:23.645244 ====> Client connect 14:53:23.645278 accept_connection 3 returned 4 14:53:23.645296 accept_connection 3 returned 0 14:53:23.645311 Read 93 bytes 14:53:23.645322 Process 93 bytes request 14:53:23.645337 Got request: GET /verifiedserver HTTP/1.1 14:53:23.645348 Are-we-friendly question received 14:53:23.645372 Wrote request (93 bytes) input to log/23/server.input 14:53:23.645389 Identifying ourselves as friends 14:53:23.645440 Response sent (56 bytes) and written to log/23/server.response 14:53:23.645452 special request received, no persistency 14:53:23.645462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind189 ==85960== ==85960== Process terminating with default action of signal 4 (SIGILL) ==85960== Illegal opcode at address 0x4014B6F ==85960== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==85960== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==85960== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==85960== by 0x4004266: main (tool_main.c:199) === End of file valgrind189 RUN: Process with pid 80286 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind191 ../src/curl -q --output log/13/curl191.out --include --trace-ascii log/13/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36645/191" > log/13/stdout191 2> log/13/stderr191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind193 ../src/curl -q --include --trace-ascii log/18/trace193 --trace-time http://127.0.0.1:43297/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 test 0192...[HTTP GET -w num_connects with one simple connect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind192 ../src/curl -q --include --trace-ascii log/20/trace192 --trace-time http://127.0.0.1:39569/192 -w "%{num_connects}\n" > log/20/stdout192 2> log/20/stderr192 192: stdout FAILED: --- log/20/check-expected 2025-09-11 14:53:24.745530566 +0000 +++ log/20/check-generated 2025-09-11 14:53:24.745530566 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -1[LF] == Contents of files in the log/20/ dir after test 192 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind192 ../src/curl -q --include --trace-ascii log/20/trace192 --trace-time http://127.0.0.1:39569/192 -w "%{num_connects}\n" > log/20/stdout192 2> log/20/stderr192 === End of file commands.log === Start of file http_server.log 14:53:23.777895 ====> Client connect 14:53:23.777931 accept_connection 3 returned 4 14:53:23.777948 accept_connection 3 returned 0 14:53:23.777964 Read 93 bytes 14:53:23.777975 Process 93 bytes request 14:53:23.777989 Got request: GET /verifiedserver HTTP/1.1 14:53:23.777999 Are-we-friendly question received 14:53:23.778027 Wrote request (93 bytes) input to log/20/server.input 14:53:23.778045 Identifying ourselves as friends 14:53:23.778101 Response sent (56 bytes) and written to log/20/server.response 14:53:23.778112 special request received, no persistency 14:53:23.778122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 192 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind192 ==86116== ==86116== Process terminating with default action of signal 4 (SIGILL) ==86116== Illegal opcode at address 0x4014B6F ==86116== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86116== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86116== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86116== by 0x4004266: main (tool_main.c:199) === End of file valgrind192 test 0191...[FTP URL with ?-letters in username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind191 ../src/curl -q --output log/13/curl191.out --include --trace-ascii log/13/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36645/191" > log/13/stdout191 2> log/13/stderr191 191: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind191 ../src/curl -q --output log/13/curl191.out --include --trace-ascii log/13/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36645/191" > log/13/stdout191 2> log/13/stderr191 === End of file commands.log === Start of file ftp_server.log 14:53:23.590661 ====> Client connect 14:53:23.590815 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:23.591150 < "USER anonymous" 14:53:23.591189 > "331 We are happy you popped in![CR][LF]" 14:53:23.591383 < "PASS ftp@example.com" 14:53:23.591411 > "230 Welcome you silly person[CR][LF]" 14:53:23.591587 < "PWD" 14:53:23.591621 > "257 "/" is current directory[CR][LF]" 14:53:23.591808 < "EPSV" 14:53:23.591834 ====> Passive DATA channel requested by client 14:53:23.591849 DATA sockfilt for passive data channel starting... 14:53:23.593398 DATA sockfilt for passive data channel started (pid 85993) 14:53:23.593507 DATA sockfilt for passive data channel listens on port 44081 14:53:23.593550 > "229 Entering Passive Mode (|||44081|)[LF]" 14:53:23.593570 Client has been notified that DATA conn will be accepted on port 44081 14:53:23.593792 Client connects to port 44081 14:53:23.593822 ====> Client established passive DATA connection on port 44081 14:53:23.593894 < "TYPE I" 14:53:23.593921 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:23.594077 < "SIZE verifiedserver" 14:53:23.594109 > "213 17[CR][LF]" 14:53:23.594258 < "RETR verifiedserver" 14:53:23.594288 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:23.594371 =====> Closing passive DATA connection... 14:53:23.594391 Server disconnects passive DATA connection 14:53:23.594696 Server disconnected passive DATA connection 14:53:23.597177 DATA sockfilt for passive data channel quits (pid 85993) 14:53:23.597428 DATA sockfilt for passive data channel quit (pid 85993) 14:53:23.597456 =====> Closed passive DATA connection 14:53:23.597487 > "226 File transfer complete[CR][LF]" 14:53:23.637413 < "QUIT" 14:53:23.637471 > "221 bye bye baby[CR][LF]" 14:53:23.639048 MAIN sockfilt said DISC 14:53:23.639088 ====> Client disconnected 14:53:23.639164 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:23.673363 ====> Client connect 14:53:23.673643 Received DATA (on stdin) 14:53:23.673658 > 160 bytes data, server => client 14:53:23.673672 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:23.673684 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:23.673695 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:23.673777 < 16 bytes data, client => server 14:53:23.673798 'USER anonymous\r\n' 14:53:23.674013 Received DATA (on stdin) 14:53:23.674028 > 33 bytes data, server => client 14:53:23.674041 '331 We are happy you popped in!\r\n' 14:53:23.674101 < 22 bytes data, client => server 14:53:23.674117 'PASS ftp@example.com\r\n' 14:53:23.674232 Received DATA (on stdin) 14:53:23.674246 > 30 bytes data, server => client 14:53:23.674259 '230 Welcome you silly person\r\n' 14:53:23.674312 < 5 bytes data, client => server 14:53:23.674326 'PWD\r\n' 14:53:23.674443 Received DATA (on stdin) 14:53:23.674457 > 30 bytes data, server => client 14:53:23.674470 '257 "/" is current directory\r\n' 14:53:23.674533 < 6 bytes data, client => server 14:53:23.674548 'EPSV\r\n' 14:53:23.676393 Received DATA (on stdin) 14:53:23.676407 > 38 bytes data, server => client 14:53:23.676419 '229 Entering Passive Mode (|||44081|)\n' 14:53:23.676557 < 8 bytes data, client => server 14:53:23.676569 'TYPE I\r\n' 14:53:23.676741 Received DATA (on stdin) 14:53:23.676753 > 33 bytes data, server => client 14:53:23.676765 '200 I modify TYPE as you wanted\r\n' 14:53:23.676813 < 21 bytes data, client => server 14:53:23.676825 'SIZE verifiedserver\r\n' 14:53:23.676926 Received DATA (on stdin) 14:53:23.676938 > 8 bytes data, server => client 14:53:23.676949 '213 17\r\n' 14:53:23.676997 < 21 bytes data, client => server 14:53:23.677009 'RETR verifiedserver\r\n' 14:53:23.677211 Received DATA (on stdin) 14:53:23.677223 > 29 bytes data, server => client 14:53:23.677235 '150 Binary junk (17 bytes).\r\n' 14:53:23.680311 Received DATA (on stdin) 14:53:23.680326 > 28 bytes data, server => client 14:53:23.680338 '226 File transfer complete\r\n' 14:53:23.720023 < 6 bytes data, client => server 14:53:23.720062 'QUIT\r\n' 14:53:23.720297 Received DATA (on stdin) 14:53:23.720311 > 18 bytes data, server => client 14:53:23.720324 '221 bye bye baby\r\n' 14:53:23.720615 ====> Client disconnect 14:53:23.721986 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:23.676045 Running IPv4 version 14:53:23.676099 Listening on port 44081 14:53:23.676134 Wrote pid 85993 to log/13/server/ftp_sockdata.pid 14:53:23.676157 Received PING (on stdin) 14:53:23.676243 Received PORT (on stdin) 14:53:23.676527 ====> Client connect 14:53:23.677262 Received DATA (on stdin) 14:53:23.677303 > 17 bytes data, server => client 14:53:23.677317 'WE ROOLZ: 80108\r\n' 14:53:23.677367 Received DISC (on stdin) 14:53:23.677383 ====> Client forcibly disconnected 14:53:23.680033 Received QUIT (on stdin) 14:53:23.680051 quits 14:53:23.680112 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==86108== ==86108== Process terminating with default action of signal 4 (SIGILL) ==86108== Illegal opcode at address 0x4014B6F ==86108== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86108== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86108== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86108== by 0x4004266: main (tool_main.c:199) === End of file valgrind191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --trace-time http://127.0.0.1:44029/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 RUN: Process with pid 80286 gracefully died test 0193...[HTTP GET -w num_connects with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind193 ../src/curl -q --include --trace-ascii log/18/trace193 --trace-time http://127.0.0.1:43297/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 193: stdout FAILED: --- log/18/check-expected 2025-09-11 14:53:24.755530566 +0000 +++ log/18/check-generated 2025-09-11 14:53:24.755530566 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -Location: ./193[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -2[LF] == Contents of files in the log/18/ dir after test 193 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] Location: ./193[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind193 ../src/curl -q --include --trace-ascii log/18/trace193 --trace-time http://127.0.0.1:43297/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 === End of file commands.log === Start of file http_server.log 14:53:23.774254 ====> Client connect 14:53:23.774291 accept_connection 3 returned 4 14:53:23.774310 accept_connection 3 returned 0 14:53:23.774327 Read 93 bytes 14:53:23.774339 Process 93 bytes request 14:53:23.774356 Got request: GET /verifiedserver HTTP/1.1 14:53:23.774371 Are-we-friendly question received 14:53:23.774397 Wrote request (93 bytes) input to log/18/server.input 14:53:23.774416 Identifying ourselves as friends 14:53:23.774478 Response sent (56 bytes) and written to log/18/server.response 14:53:23.774491 special request received, no persistency 14:53:23.774502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 46576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 193 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind193 ==86117== ==86117== Process terminating with default action of signal 4 (SIGILL) ==86117== Illegal opcode at address 0x4014B6F ==86117== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86117== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86117== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86117== by 0x4004266: main (tool_main.c:199) === End of file valgrind193 test 0194...[HTTP resume transfer with the whole file already downloaded and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --trace-time http://127.0.0.1:44029/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 194: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --trace-time http://127.0.0.1:44029/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 === End of file commands.log === Start of file http_server.log 14:53:23.816299 ====> Client connect 14:53:23.816368 accept_connection 3 returned 4 14:53:23.816387 accept_connection 3 returned 0 14:53:23.816403 Read 93 bytes 14:53:23.816413 Process 93 bytes request 14:53:23.816426 Got request: GET /verifiedserver HTTP/1.1 14:53:23.816436 Are-we-friendly question received 14:53:23.816469 Wrote request (93 bytes) input to log/1/server.input 14:53:23.816487 Identifying ourselves as friends 14:53:23.816540 Response sent (56 bytes) and written to log/1/server.response 14:53:23.816551 special request received, no persistency 14:53:23.816560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 40082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 194 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind194 ==86244== ==86244== Process terminating with default action of signal 4 (SIGILL) ==86244== Illegal opcode at address 0x4014B6F ==86244== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86244== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86244== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86244== by 0x4004266: main (tool_main.c:199) === End of file valgrind194 test 0190...[FTP download with strict timeout and slow CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:44851/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 190: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:44851/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 === End of file commands.log === Start of file ftp_server.log 14:53:23.556778 ====> Client connect 14:53:23.557156 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:23.557463 < "USER anonymous" 14:53:23.557502 > "331 We are happy you popped in![CR][LF]" 14:53:23.557691 < "PASS ftp@example.com" 14:53:23.557723 > "230 Welcome you silly person[CR][LF]" 14:53:23.557902 < "PWD" 14:53:23.557940 > "257 "/" is current directory[CR][LF]" 14:53:23.558125 < "EPSV" 14:53:23.558150 ====> Passive DATA channel requested by client 14:53:23.558165 DATA sockfilt for passiveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind195 ../src/curl -q --output log/6/curl195.out --include --trace-ascii log/6/trace195 --trace-time ftp://127.0.0.1:36077/195 > log/6/stdout195 2> log/6/stderr195 data channel starting... 14:53:23.560059 DATA sockfilt for passive data channel started (pid 85956) 14:53:23.560464 DATA sockfilt for passive data channel listens on port 44067 14:53:23.560521 > "229 Entering Passive Mode (|||44067|)[LF]" 14:53:23.560547 Client has been notified that DATA conn will be accepted on port 44067 14:53:23.560865 Client connects to port 44067 14:53:23.560902 ====> Client established passive DATA connection on port 44067 14:53:23.560993 < "TYPE I" 14:53:23.561030 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:23.561215 < "SIZE verifiedserver" 14:53:23.561263 > "213 17[CR][LF]" 14:53:23.561449 < "RETR verifiedserver" 14:53:23.561487 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:23.561588 =====> Closing passive DATA connection... 14:53:23.561609 Server disconnects passive DATA connection 14:53:23.561878 Server disconnected passive DATA connection 14:53:23.561910 DATA sockfilt for passive data channel quits (pid 85956) 14:53:23.562147 DATA sockfilt for passive data channel quit (pid 85956) 14:53:23.562175 =====> Closed passive DATA connection 14:53:23.562204 > "226 File transfer complete[CR][LF]" 14:53:23.607469 < "QUIT" 14:53:23.607520 > "221 bye bye baby[CR][LF]" 14:53:23.608320 MAIN sockfilt said DISC 14:53:23.608348 ====> Client disconnected 14:53:23.608427 Awaiting input 14:53:24.747318 Failed to read input 14:53:24.747369 Error: FTP server, read zero 14:53:24.747389 Exited from sysread_or_die() at /startdir/src/curl/tests/ftpserver.pl line 3129. FTP server, read zero === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:23.639468 ====> Client connect 14:53:23.639992 Received DATA (on stdin) 14:53:23.640010 > 160 bytes data, server => client 14:53:23.640024 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:23.640037 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:23.640049 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:23.640127 < 16 bytes data, client => server 14:53:23.640144 'USER anonymous\r\n' 14:53:23.640326 Received DATA (on stdin) 14:53:23.640341 > 33 bytes data, server => client 14:53:23.640354 '331 We are happy you popped in!\r\n' 14:53:23.640410 < 22 bytes data, client => server 14:53:23.640425 'PASS ftp@example.com\r\n' 14:53:23.640544 Received DATA (on stdin) 14:53:23.640558 > 30 bytes data, server => client 14:53:23.640571 '230 Welcome you silly person\r\n' 14:53:23.640626 < 5 bytes data, client => server 14:53:23.640641 'PWD\r\n' 14:53:23.640761 Received DATA (on stdin) 14:53:23.640775 > 30 bytes data, server => client 14:53:23.640787 '257 "/" is current directory\r\n' 14:53:23.640850 < 6 bytes data, client => server 14:53:23.640865 'EPSV\r\n' 14:53:23.643380 Received DATA (on stdin) 14:53:23.643400 > 38 bytes data, server => client 14:53:23.643413 '229 Entering Passive Mode (|||44067|)\n' 14:53:23.643627 < 8 bytes data, client => server 14:53:23.643642 'TYPE I\r\n' 14:53:23.643855 Received DATA (on stdin) 14:53:23.643869 > 33 bytes data, server => client 14:53:23.643882 '200 I modify TYPE as you wanted\r\n' 14:53:23.643937 < 21 bytes data, client => server 14:53:23.643953 'SIZE verifiedserver\r\n' 14:53:23.644087 Received DATA (on stdin) 14:53:23.644106 > 8 bytes data, server => client 14:53:23.644118 '213 17\r\n' 14:53:23.644172 < 21 bytes data, client => server 14:53:23.644188 'RETR verifiedserver\r\n' 14:53:23.644533 Received DATA (on stdin) 14:53:23.644548 > 29 bytes data, server => client 14:53:23.644560 '150 Binary junk (17 bytes).\r\n' 14:53:23.645026 Received DATA (on stdin) 14:53:23.645041 > 28 bytes data, server => client 14:53:23.645053 '226 File transfer complete\r\n' 14:53:23.690100 < 6 bytes data, client => server 14:53:23.690133 'QUIT\r\n' 14:53:23.690342 Received DATA (on stdin) 14:53:23.690355 > 18 bytes data, server => client 14:53:23.690368 '221 bye bye baby\r\n' 14:53:23.691088 ====> Client disconnect 14:53:23.691245 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:23.642670 Running IPv4 version 14:53:23.642744 Listening on port 44067 14:53:23.642783 Wrote pid 85956 to log/17/server/ftp_sockdata.pid 14:53:23.642805 Received PING (on stdin) 14:53:23.642927 Received PORT (on stdin) 14:53:23.643593 ====> Client connect 14:53:23.644434 Received DATA (on stdin) 14:53:23.644449 > 17 bytes data, server => client 14:53:23.644460 'WE ROOLZ: 80286\r\n' 14:53:23.644491 Received DISC (on stdin) 14:53:23.644505 ====> Client forcibly disconnected 14:53:23.644741 Received QUIT (on stdin) 14:53:23.644756 quits 14:53:23.644820 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY CWD 60 Testnum 190 === End of file server.cmd === Start of file valgrind190 ==86024== ==86024== Process terminating with default action of signal 4 (SIGILL) ==86024== Illegal opcode at address 0x4014B6F ==86024== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86024== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86024== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86024== by 0x4004266: main (tool_main.c:199) === End of file valgrind190 test 0195...[FTP response 530 after PASS, temporarily not allowed access] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind195 ../src/curl -q --output log/6/curl195.out --include --trace-ascii log/6/trace195 --trace-time ftp://127.0.0.1:36077/195 > log/6/stdout195 2> log/6/stderr195 195: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind195 ../src/curl -q --output log/6/curl195.out --include --trace-ascii log/6/trace195 --trace-time ftp://127.0.0.1:36077/195 > log/6/stdout195 2> log/6/stderr195 === End of file commands.log === Start of file ftp_server.log 14:53:23.746271 ====> Client connect 14:53:23.746447 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:23.746792 < "USER anonymous" 14:53:23.746836 > "331 We are happy you popped in![CR][LF]" 14:53:23.747051 < "PASS ftp@example.com" 14:53:23.747085 > "230 Welcome you silly person[CR][LF]" 14:53:23.747260 < "PWD" 14:53:23.747292 > "257 "/" is current directory[CR][LF]" 14:53:23.747472 < "EPSV" 14:53:23.747502 ====> Passive DATA channel requested by client 14:53:23.747518 DATA sockfilt for passive data channel starting... 14:53:23.751947 DATA sockfilt for passive data channel started (pid 86241) 14:53:23.752067 DATA sockfilt for passive data channel listens on port 39241 14:53:23.752114 > "229 Entering Passive Mode (|||39241|)[LF]" 14:53:23.752133 Client has been notified that DATA conn will be accepted on port 39241 14:53:23.752380 Client connects to port 39241 14:53:23.752409 ====> Client established passive DATA connection on port 39241 14:53:23.752488 < "TYPE I" 14:53:23.752519 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:23.752677 < "SIZE verifiedserver" 14:53:23.752715 > "213 17[CR][LF]" 14:53:23.752862 < "RETR verifiedserver" 14:53:23.752892 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:23.752972 =====> Closing passive DATA connection... 14:53:23.752988 Server disconnects passive DATA connection 14:53:23.753223 Server disconnected passive DATA connection 14:53:23.753248 DATA sockfilt for passive data channel quits (pid 86241) 14:53:23.753514 DATA sockfilt for passive data channel quit (pid 86241) 14:53:23.753549 =====> Closed passive DATA connection 14:53:23.753582 > "226 File transfer complete[CR][LF]" 14:53:23.797518 < "QUIT" 14:53:23.797567 > "221 bye bye baby[CR][LCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind197 ../src/curl -q --include --trace-ascii log/12/trace197 --trace-time http://127.0.0.1:43359/197 --retry 1000 > log/12/stdout197 2> log/12/stderr197 F]" 14:53:23.798034 MAIN sockfilt said DISC 14:53:23.798095 ====> Client disconnected 14:53:23.798181 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:22.828988 ====> Client connect 14:53:22.829285 Received DATA (on stdin) 14:53:22.829303 > 160 bytes data, server => client 14:53:22.829317 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:22.829329 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:22.829341 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:22.829427 < 16 bytes data, client => server 14:53:22.829444 'USER anonymous\r\n' 14:53:22.829674 Received DATA (on stdin) 14:53:22.829689 > 33 bytes data, server => client 14:53:22.829702 '331 We are happy you popped in!\r\n' 14:53:22.829758 < 22 bytes data, client => server 14:53:22.829773 'PASS ftp@example.com\r\n' 14:53:22.829907 Received DATA (on stdin) 14:53:22.829921 > 30 bytes data, server => client 14:53:22.829933 '230 Welcome you silly person\r\n' 14:53:22.829987 < 5 bytes data, client => server 14:53:22.830000 'PWD\r\n' 14:53:22.830111 Received DATA (on stdin) 14:53:22.830124 > 30 bytes data, server => client 14:53:22.830135 '257 "/" is current directory\r\n' 14:53:22.830198 < 6 bytes data, client => server 14:53:22.830212 'EPSV\r\n' 14:53:22.834961 Received DATA (on stdin) 14:53:22.834975 > 38 bytes data, server => client 14:53:22.834988 '229 Entering Passive Mode (|||39241|)\n' 14:53:22.835144 < 8 bytes data, client => server 14:53:22.835157 'TYPE I\r\n' 14:53:22.835339 Received DATA (on stdin) 14:53:22.835351 > 33 bytes data, server => client 14:53:22.835362 '200 I modify TYPE as you wanted\r\n' 14:53:22.835411 < 21 bytes data, client => server 14:53:22.835423 'SIZE verifiedserver\r\n' 14:53:22.835533 Received DATA (on stdin) 14:53:22.835545 > 8 bytes data, server => client 14:53:22.835556 '213 17\r\n' 14:53:22.835600 < 21 bytes data, client => server 14:53:22.835612 'RETR verifiedserver\r\n' 14:53:22.835807 Received DATA (on stdin) 14:53:22.835820 > 29 bytes data, server => client 14:53:22.835831 '150 Binary junk (17 bytes).\r\n' 14:53:22.836402 Received DATA (on stdin) 14:53:22.836416 > 28 bytes data, server => client 14:53:22.836428 '226 File transfer complete\r\n' 14:53:22.880173 < 6 bytes data, client => server 14:53:22.880199 'QUIT\r\n' 14:53:22.880389 Received DATA (on stdin) 14:53:22.880403 > 18 bytes data, server => client 14:53:22.880415 '221 bye bye baby\r\n' 14:53:22.880766 ====> Client disconnect 14:53:22.881014 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:23.834354 Running IPv4 version 14:53:23.834420 Listening on port 39241 14:53:23.834466 Wrote pid 86241 to log/6/server/ftp_sockdata.pid 14:53:23.834692 Received PING (on stdin) 14:53:23.834796 Received PORT (on stdin) 14:53:23.835116 ====> Client connect 14:53:23.835857 Received DATA (on stdin) 14:53:23.835871 > 17 bytes data, server => client 14:53:23.835883 'WE ROOLZ: 80241\r\n' 14:53:23.835905 Received DISC (on stdin) 14:53:23.835917 ====> Client forcibly disconnected 14:53:23.836073 Received QUIT (on stdin) 14:53:23.836085 quits 14:53:23.836148 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 530 temporarily not available Testnum 195 === End of file server.cmd === Start of file valgrind195 ==86384== ==86384== Process terminating with default action of signal 4 (SIGILL) ==86384== Illegal opcode at address 0x4014B6F ==86384== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86384== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86384== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86384== by 0x4004266: main (tool_main.c:199) === End of file valgrind195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind198 ../src/curl -q --output log/14/curl198.out --include --trace-ascii log/14/trace198 --trace-time http://127.0.0.1:46043/198 --retry 1000 > log/14/stdout198 2> log/14/stderr198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind196 ../src/curl -q --include --trace-ascii log/11/trace196 --trace-time ftp://127.0.0.1:34519/196 --retry 1 -w '%{num_retries}\n' > log/11/stdout196 2> log/11/stderr196 test 0197...[HTTP GET --retry on 503 error with output to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind197 ../src/curl -q --include --trace-ascii log/12/trace197 --trace-time http://127.0.0.1:43359/197 --retry 1000 > log/12/stdout197 2> log/12/stderr197 197: stdout FAILED: --- log/12/check-expected 2025-09-11 14:53:24.838863901 +0000 +++ log/12/check-generated 2025-09-11 14:53:24.838863901 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 503 BAD swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 21[LF] -[LF] -server not available[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Connection: close[LF] -[LF] -ok[LF] == Contents of files in the log/12/ dir after test 197 === Start of file check-expected HTTP/1.1 503 BAD swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 21[LF] [LF] server not available[LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Connection: close[LF] [LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind197 ../src/curl -q --include --trace-ascii log/12/trace197 --trace-time http://127.0.0.1:43359/197 --retry 1000 > log/12/stdout197 2> log/12/stderr197 === End of file commands.log === Start of file http_server.log 14:53:23.876723 ====> Client connect 14:53:23.876756 accept_connection 3 returned 4 14:53:23.876772 accept_connection 3 returned 0 14:53:23.876787 Read 93 bytes 14:53:23.876797 Process 93 bytes request 14:53:23.876810 Got request: GET /verifiedserver HTTP/1.1 14:53:23.876821 Are-we-friendly question received 14:53:23.876847 Wrote request (93 bytes) input to log/12/server.input 14:53:23.876864 Identifying ourselves as friends 14:53:23.876918 Response sent (56 bytes) and written to log/12/server.response 14:53:23.876928 special request received, no persistency 14:53:23.876938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind197 ==86388== ==86388== Process terminating with default action of signal 4 (SIGILL) ==86388== Illegal opcode at address 0x4014B6F ==86388== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86388== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86388== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86388== by 0x4004266: main (tool_main.c:199) === End of file valgrind197 test 0198...[HTTP GET --retry on 503 error with output to file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind198 ../src/curl -q --output log/14/curl198.out --include --trace-ascii log/14/trace198 --trace-time http://127.0.0.1:46043/198 --retry 1000 > log/14/stdout198 2> log/14/stderr198 198: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind198 ../src/curl -q --output log/14/curl198.out --include --trace-ascii log/14/trace198 --trace-time http://127.0.0.1:46043/198 --retry 1000 > log/14/stdout198 2> log/14/stderr198 === End of file commands.log === Start of file http_server.log 14:53:23.886924 ====> Client connect 14:53:23.886974 accept_connection 3 returned 4 14:53:23.886996 accept_connection 3 returned 0 14:53:23.887013 Read 93 bytes 14:53:23.887026 Process 93 bytes request 14:53:23.887041 Got request: GET /verifiedserver HTTP/1.1 14:53:23.887053 Are-we-friendly question received 14:53:23.887083 Wrote request (93 bytes) input to log/14/server.input 14:53:23.887102 Identifying ourselves as friends 14:53:23.887169 Response sent (56 bytes) and written to log/14/server.response 14:53:23.887182 special request received, no persistency 14:53:23.887192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 53684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 198 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind198 ==86409== ==86409== Process terminating with default action of signal 4 (SIGILL) ==86409== Illegal opcode at address 0x4014B6F ==86409== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86409== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86409== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86409== by 0x4004266: main (tool_main.c:199) === End of file valgrind198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind200 ../src/curl -q --output log/2/curl200.out --trace-ascii log/2/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test200.txt > log/2/stdout200 2> log/2/stderr200 test 0196...[FTP transient error, retry request once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind196 ../src/curl -q --include --trace-ascii log/11/trace196 --trace-time ftp://127.0.0.1:34519/196 --retry 1 -w '%{num_retries}\n' > log/11/stdout196 2> log/11/stderr196 196: stdout FAILED: --- log/11/check-expected 2025-09-11 14:53:24.855530568 +0000 +++ log/11/check-generated 2025-09-11 14:53:24.855530568 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/11/ dir after test 196 === Start of file check-expected 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind196 ../src/curl -q --include --trace-ascii log/11/trace196 --trace-time ftp://127.0.0.1:34519/196 --retry 1 -w '%{num_retries}\n' > log/11/stdout196 2> log/11/stderr196 === End of file commands.log === Start of file ftp_server.log 14:53:23.777552 ====> Client connect 14:53:23.777724 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:23.778018 < "USER anonymous" 14:53:23.778054 > "331 We are happy you popped in![CR][LF]" 14:53:23.778226 < "PASS ftp@example.com" 14:53:23.778253 > "230 Welcome you silly person[CR][LF]" 14:53:23.778405 < "PWD" 14:53:23.778433 > "257 "/" is current directory[CR][LF]" 14:53:23.778592 < "EPSV" 14:53:23.778615 ====> Passive DATA channel requested by client 14:53:23.778629 DATA sockfilt for passive data channel starting... 14:53:23.780937 DATA sockfilt for passive data channel started (pid 86330) 14:53:23.781054 DATA sockfilt for passive data channel listens on port 41457 14:53:23.781093 > "229 Entering Passive Mode (|||41457|)[LF]" 14:53:23.781113 Client has been notified that DATA conn will be accepted on port 41457 14:53:23.781358 Client connects to port 41457 14:53:23.781389 ====> Client established passive DATA connection on port 41457 14:53:23.781463 < "TYPE I" 14:53:23.781494 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:23.781653 < "SIZE verifiedserver" 14:53:23.781685 > "213 17[CR][LF]" 14:53:23.781840 < "RETR verifiedserver" 14:53:23.781871 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:23.781958 =====> Closing passive DATA connection... 14:53:23.781974 Server disconnects passive DATA connection 14:53:23.782251 Server disconnected passive DATA connection 14:53:23.782279 DATA sockfilt for passive data channel quits (pid 86330) 14:53:23.782521 DATA sockfilt for passive data channel quit (pid 86330) 14:53:23.782545 =====> Closed passive DATA connection 14:53:23.782570 > "226 File transfer complete[CR][LF]" 14:53:23.827566 < "QUIT" 14:53:23.827629 > "221 bye bye baby[CR][LF]" 14:53:23.828274 MAIN sockfilt said DISC 14:53:23.828304 ====> Client disconnected 14:53:23.828392 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:23.860257 ====> Client connect 14:53:23.860554 Received DATA (on stdin) 14:53:23.860570 > 160 bytes data, server => client 14:53:23.860584 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:23.860596 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:23.860607 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:23.860685 < 16 bytes data, client => server 14:53:23.860699 'USER anonymous\r\n' 14:53:23.860878 Received DATA (on stdin) 14:53:23.860892 > 33 bytes data, server => client 14:53:23.860904 '331 We are happy you popped in!\r\n' 14:53:23.860954 < 22 bytes data, client => server 14:53:23.860967 'PASS ftp@example.com\r\n' 14:53:23.861070 Received DATA (on stdin) 14:53:23.861083 > 30 bytes data, server => client 14:53:23.861095 '230 Welcome you silly person\r\n' 14:53:23.861142 < 5 bytes data, client => server 14:53:23.861153 'PWD\r\n' 14:53:23.861250 Received DATA (on stdin) 14:53:23.861262 > 30 bytes data, server => client 14:53:23.861274 '257 "/" is current directory\r\n' 14:53:23.861330 < 6 bytes data, client => server 14:53:23.861342 'EPSV\r\n' 14:53:23.863936 Received DATA (on stdin) 14:53:23.863951 > 38 bytes data, server => client 14:53:23.863964 '229 Entering Passive Mode (|||41457|)\n' 14:53:23.864092 < 8 bytes data, client => server 14:53:23.864108 'TYPE I\r\n' 14:53:23.864312 Received DATA (on stdin) 14:53:23.864325 > 33 bytes data, server => client 14:53:23.864338 '200 I modify TYPE as you wanted\r\n' 14:53:23.864388 < 21 bytes data, client => server 14:53:23.864400 'SIZE verifiedserver\r\n' 14:53:23.864505 Received DATA (on stdin) 14:53:23.864518 > 8 bytes data, server => client 14:53:23.864529 '213 17\r\n' 14:53:23.864577 < 21 bytes data, client => server 14:53:23.864589 'RETR verifiedserver\r\n' 14:53:23.864797 Received DATA (on stdin) 14:53:23.864810 > 29 bytes data, server => client 14:53:23.864822 '150 Binary junk (17 bytes).\r\n' 14:53:23.865391 Received DATA (on stdin) 14:53:23.865405 > 28 bytes data, server => client 14:53:23.865418 '226 File transfer complete\r\n' 14:53:23.910178 < 6 bytes data, client => server 14:53:23.910210 'QUIT\r\n' 14:53:23.910457 Received DATA (on stdin) 14:53:23.910472 > 18 bytes data, server => client 14:53:23.910485 '221 bye bye baby\r\n' 14:53:23.911031 ====> Client disconnect 14:53:23.911215 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:23.863583 Running IPv4 version 14:53:23.863638 Listening on port 41457 14:53:23.863676 Wrote pid 86330 to log/11/server/ftp_sockdata.pid 14:53:23.863696 Received PING (on stdin) 14:53:23.863782 Received PORT (on stdin) 14:53:23.864129 ====> Client connect 14:53:23.864891 Received DATA (on stdin) 14:53:23.864907 > 17 bytes data, server => client 14:53:23.864919 'WE ROOLZ: 80346\r\n' 14:53:23.864946 Received DISC (on stdin) 14:53:23.864960 ====> Client forcibly disconnected 14:53:23.865105 Received QUIT (on stdin) 14:53:23.865117 quits 14:53:23.865177 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 430 temporarily not available Testnum 196 === End of file server.cmd === Start of file valgrind196 ==86470== ==86470== Process terminating with default action of signal 4 (SIGILL) ==86470== Illegal opcode at address 0x4014B6F ==86470== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86470== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86470== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86470== by 0x4004266: main (tool_main.c:199) === End of file valgrind196 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind199 ../src/curl -q --output log/16/curl199.out --include --trace-ascii log/16/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:34475/{199,199}" -G > log/16/stdout199 2> log/16/stderr199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind201 ../src/curl -q --output log/7/curl201.out --include --trace-ascii log/7/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt > log/7/stdout201 2> log/7/stderr201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 test 0200...[basic file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind200 ../src/curl -q --output log/2/curl200.out --trace-ascii log/2/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test200.txt > log/2/stdout200 2> log/2/stderr200 200: data FAILED: --- log/2/check-expected 2025-09-11 14:53:24.878863901 +0000 +++ log/2/check-generated 2025-09-11 14:53:24.878863901 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/2/ dir after test 200 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind200 ../src/curl -q --output log/2/curl200.out --trace-ascii log/2/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test200.txt > log/2/stdout200 2> log/2/stderr200 === End of file commands.log === Start of file server.cmd Testnum 200 === End of file server.cmd === Start of file test200.txt foo bar bar foo moo === End of file test200.txt === Start of file valgrind200 ==86601== ==86601== Process terminating with default action of signal 4 (SIGILL) ==86601== Illegal opcode at address 0x4014B6F ==86601== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86601== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86601== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86601== by 0x4004266: main (tool_main.c:199) === End of file valgrind200 test 0199...[HTTP with -d, -G and {}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind199 ../src/curl -q --output log/16/curl199.out --include --trace-ascii log/16/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:34475/{199,199}" -G > log/16/stdout199 2> log/16/stderr199 199: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind199 ../src/curl -q --output log/16/curl199.out --include --trace-ascii log/16/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:34475/{199,199}" -G > log/16/stdout199 2> log/16/stderr199 === End of file commands.log === Start of file http_server.log 14:53:23.991434 ====> Client connect 14:53:23.991467 accept_connection 3 returned 4 14:53:23.991485 accept_connection 3 returned 0 14:53:23.991503 Read 93 bytes 14:53:23.991515 Process 93 bytes request 14:53:23.991530 Got request: GET /verifiedserver HTTP/1.1 14:53:23.991540 Are-we-friendly question received 14:53:23.991566 Wrote request (93 bytes) input to log/16/server.input 14:53:23.991585 Identifying ourselves as friends 14:53:23.991641 Response sent (56 bytes) and written to log/16/server.response 14:53:23.991653 special request received, no persistency 14:53:23.991663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind199 ==86614== ==86614== Process terminating with default action of signal 4 (SIGILL) ==86614== Illegal opcode at address 0x4014B6F ==86614== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86614== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86614== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86614== by 0x4004266: main (tool_main.c:199) === End of file valgrind199 test 0201...[missing file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind201 ../src/curl -q --output log/7/curl201.out --include --trace-ascii log/7/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt > log/7/stdout201 2> log/7/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/7/ dir after test 201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind201 ../src/curl -q --output log/7/curl201.out --include --trace-ascii log/7/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt > log/7/stdout201 2> log/7/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==86700== ==86700== Process terminating with default action of signal 4 (SIGILL) ==86700== Illegal opcode at address 0x4014B6F ==86700== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86700== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86700== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86700== by 0x4004266: main (tool_main.c:199) === End of file valgrind201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind203 ../src/curl -q --output log/24/curl203.out --trace-ascii log/24/trace203 --trace-time file:/startdir/src/build-curl/tests/log/24/test203.txt > log/24/stdout203 2> log/24/stderr203 test 0202...[two file:// URLs to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 202: stdout FAILED: --- log/5/check-expected 2025-09-11 14:53:25.155530572 +0000 +++ log/5/check-generated 2025-09-11 14:53:25.155530572 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/5/ dir after test 202 === Start of file check-expected contents in a single file[LF] contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 === End of file commands.log === Start of file server.cmd Testnum 202 === End of file server.cmd === Start of file test202.txt contents in a single file === End of file test202.txt === Start of file valgrind202 ==86763== ==86763== Process terminating with default action of signal 4 (SIGILL) ==86763== Illegal opcode at address 0x4014B6F ==86763== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86763== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86763== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86763== by 0x4004266: main (tool_main.c:199) === End of file valgrind202 test 0204...["upload" with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 204: output (log/9/result204.txt) FAILED: --- log/9/check-expected 2025-09-11 14:53:25.172197239 +0000 +++ log/9/check-generated 2025-09-11 14:53:25.172197239 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/9/ dir after test 204 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 === End of file commands.log === Start of file server.cmd Testnum 204 === End of file server.cmd === Start of file upload204.txt data in file to write === End of file upload204.txt === Start of file valgrind204 ==86806== ==86806== Process terminating with default action of signal 4 (SIGILL) ==86806== Illegal opcode at address 0x4014B6F ==86806== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86806== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86806== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86806== by 0x4004266: main (tool_main.c:199) === End of file valgrind204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind205 ../src/curl -q --output log/19/curl205.out --trace-ascii log/19/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/nonexisting/result205.txt -T log/19/upload205.txt > log/19/stdout205 2> log/19/stderr205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42027 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind208 ../src/curl -q --output log/8/curl208.out --include --trace-ascii log/8/trace208 --trace-time -x http://127.0.0.1:37085 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 setenv MSYS2_ARG_CONV_EXCL = file: test 0203...[file:/path URL with a single slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind203 ../src/curl -q --output log/24/curl203.out --trace-ascii log/24/trace203 --trace-time file:/startdir/src/build-curl/tests/log/24/test203.txt > log/24/stdout203 2> log/24/stderr203 203: data FAILED: --- log/24/check-expected 2025-09-11 14:53:25.175530572 +0000 +++ log/24/check-generated 2025-09-11 14:53:25.175530572 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/24/ dir after test 203 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind203 ../src/curl -q --output log/24/curl203.out --trace-ascii log/24/trace203 --trace-time file:/startdir/src/build-curl/tests/log/24/test203.txt > log/24/stdout203 2> log/24/stderr203 === End of file commands.log === Start of file server.cmd Testnum 203 === End of file server.cmd === Start of file test203.txt foo bar bar foo moo === End of file test203.txt === Start of file valgrind203 ==86779== ==86779== Process terminating with default action of signal 4 (SIGILL) ==86779== Illegal opcode at address 0x4014B6F ==86779== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86779== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86779== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86779== by 0x4004266: main (tool_main.c:199) === End of file valgrind203 test 0205...["upload" nonexisting with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind205 ../src/curl -q --output log/19/curl205.out --trace-ascii log/19/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/nonexisting/result205.txt -T log/19/upload205.txt > log/19/stdout205 2> log/19/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/19/ dir after test 205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind205 ../src/curl -q --output log/19/curl205.out --trace-ascii log/19/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/nonexisting/result205.txt -T log/19/upload205.txt > log/19/stdout205 2> log/19/stderr205 === End of file commands.log === Start of file server.cmd Testnum 205 === End of file server.cmd === Start of file upload205.txt data in file to write === End of file upload205.txt === Start of file valgrind205 ==86869== ==86869== Process terminating with default action of signal 4 (SIGILL) ==86869== Illegal opcode at address 0x4014B6F ==86869== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==86869== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==86869== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==86869== by 0x4004266: main (tool_main.c:199) === End of file valgrind205 test 0206...[HTTP proxy CONNECT auth Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42027 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 206: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42027 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 === End of file commands.log === Start of file http_server.log 14:53:24.331969 ====> Client connect 14:53:24.332009 accept_connection 3 returned 4 14:53:24.332029 accept_connection 3 returned 0 14:53:24.332182 Read 93 bytes 14:53:24.332196 Process 93 bytes request 14:53:24.332214 Got request: GET /verifiedserver HTTP/1.1 14:53:24.332225 Are-we-friendly question received 14:53:24.332255 Wrote request (93 bytes) input to log/22/server.input 14:53:24.332274 Identifying ourselves as friends 14:53:24.332332 Response sent (56 bytes) and written to log/22/server.response 14:53:24.332343 special request received, no persistency 14:53:24.332354 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 56956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd connection-monitor auth_required Testnum 206 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind206 ==87014== ==87014== Process terminating with default action of signal 4 (SIGILL) ==87014== Illegal opcode at address 0x4014B6F ==87014== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87014== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87014== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87014== by 0x4004266: main (tool_main.c:199) === End of file valgrind206 test 0208...[HTTP PUT to an FTP URL with username+password - over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind208 ../src/curl -q --output log/8/curl208.out --include --trace-ascii log/8/trace208 --trace-time -x http://127.0.0.1:37085 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 208: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind208 ../src/curl -q --output log/8/curl208.out --include --trace-ascii log/8/trace208 --trace-time -x http://127.0.0.1:37085 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 === End of file commands.log === Start of file http_server.log 14:53:23.340488 ====> Client connect 14:53:23.340520 accept_connection 3 returned 4 14:53:23.340535 accept_connection 3 returned 0 14:53:23.340549 Read 93 bytes 14:53:23.340559 Process 93 bytes request 14:53:23.340572 Got request: GET /verifiedserver HTTP/1.1 14:53:23.340581 Are-we-friendly question received 14:53:23.340605 Wrote request (93 bytes) input to log/8/server.input 14:53:23.3406CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind207 ../src/curl -q --output log/15/curl207.out --include --trace-ascii log/15/trace207 --trace-time http://127.0.0.1:42107/207 > log/15/stdout207 2> log/15/stderr207 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind209 ../src/curl -q --output log/4/curl209.out --include --trace-ascii log/4/trace209 --trace-time http://test.remote.example.com.209:39793/path/2090002 --proxy http://127.0.0.1:39793 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/4/stdout209 2> log/4/stderr209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind210 ../src/curl -q --output log/21/curl210.out --trace-ascii log/21/trace210 --trace-time ftp://127.0.0.1:43281/a/path/210 ftp://127.0.0.1:43281/a/path/210 > log/21/stdout210 2> log/21/stderr210 21 Identifying ourselves as friends 14:53:23.340671 Response sent (56 bytes) and written to log/8/server.response 14:53:23.340681 special request received, no persistency 14:53:23.340690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 208 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file test208.txt Weird file to upload for testing the PUT feature === End of file test208.txt === Start of file valgrind208 ==87019== ==87019== Process terminating with default action of signal 4 (SIGILL) ==87019== Illegal opcode at address 0x4014B6F ==87019== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87019== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87019== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87019== by 0x4004266: main (tool_main.c:199) === End of file valgrind208 test 0207...[HTTP GET with chunked Transfer-Encoding closed prematurely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind207 ../src/curl -q --output log/15/curl207.out --include --trace-ascii log/15/trace207 --trace-time http://127.0.0.1:42107/207 > log/15/stdout207 2> log/15/stderr207 207: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind207 ../src/curl -q --output log/15/curl207.out --include --trace-ascii log/15/trace207 --trace-time http://127.0.0.1:42107/207 > log/15/stdout207 2> log/15/stderr207 === End of file commands.log === Start of file http_server.log 14:53:24.341845 ====> Client connect 14:53:24.341885 accept_connection 3 returned 4 14:53:24.341905 accept_connection 3 returned 0 14:53:24.341921 Read 93 bytes 14:53:24.341934 Process 93 bytes request 14:53:24.341947 Got request: GET /verifiedserver HTTP/1.1 14:53:24.341959 Are-we-friendly question received 14:53:24.341987 Wrote request (93 bytes) input to log/15/server.input 14:53:24.342008 Identifying ourselves as friends 14:53:24.342078 Response sent (56 bytes) and written to log/15/server.response 14:53:24.342092 special request received, no persistency 14:53:24.342103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 207 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind207 ==87021== ==87021== Process terminating with default action of signal 4 (SIGILL) ==87021== Illegal opcode at address 0x4014B6F ==87021== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87021== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87021== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87021== by 0x4004266: main (tool_main.c:199) === End of file valgrind207 test 0209...[HTTP proxy CONNECT auth NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind209 ../src/curl -q --output log/4/curl209.out --include --trace-ascii log/4/trace209 --trace-time http://test.remote.example.com.209:39793/path/2090002 --proxy http://127.0.0.1:39793 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/4/stdout209 2> log/4/stderr209 209: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind209 ../src/curl -q --output log/4/curl209.out --include --trace-ascii log/4/trace209 --trace-time http://test.remote.example.com.209:39793/path/2090002 --proxy http://127.0.0.1:39793 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/4/stdout209 2> log/4/stderr209 === End of file commands.log === Start of file http_server.log 14:53:24.437055 ====> Client connect 14:53:24.437094 accept_connection 3 returned 4 14:53:24.437114 accept_connection 3 returned 0 14:53:24.437132 Read 93 bytes 14:53:24.437144 Process 93 bytes request 14:53:24.437158 Got request: GET /verifiedserver HTTP/1.1 14:53:24.437170 Are-we-friendly question received 14:53:24.437199 Wrote request (93 bytes) input to log/4/server.input 14:53:24.437219 Identifying ourselves as friends 14:53:24.437282 Response sent (56 bytes) and written to log/4/server.response 14:53:24.437296 special request received, no persistency 14:53:24.437307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 48578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 209 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind209 ==87203== ==87203== Process terminating with default action of signal 4 (SIGILL) ==87203== Illegal opcode at address 0x4014B6F ==87203== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87203== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87203== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87203== by 0x4004266: main (tool_main.c:199) === End of file valgrind209 test 0210...[Get two FTP files from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind210 ../src/curl -q --output log/21/curl210.out --trace-ascii log/21/trace210 --trace-time ftp://127.0.0.1:43281/a/path/210 ftp://127.0.0.1:43281/a/path/210 > log/21/stdout210 2> log/21/stderr210 210: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 210 === Start of file commands.log ../libtool --moCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind212 ../src/curl -q --output log/3/curl212.out --include --trace-ascii log/3/trace212 --trace-time ftp://127.0.0.1:37155/a/path/212 ftp://127.0.0.1:37155/a/path/212 -P - > log/3/stdout212 2> log/3/stderr212 de=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind210 ../src/curl -q --output log/21/curl210.out --trace-ascii log/21/trace210 --trace-time ftp://127.0.0.1:43281/a/path/210 ftp://127.0.0.1:43281/a/path/210 > log/21/stdout210 2> log/21/stderr210 === End of file commands.log === Start of file ftp_server.log 14:53:24.358384 ====> Client connect 14:53:24.358545 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:24.358828 < "USER anonymous" 14:53:24.358864 > "331 We are happy you popped in![CR][LF]" 14:53:24.359033 < "PASS ftp@example.com" 14:53:24.359061 > "230 Welcome you silly person[CR][LF]" 14:53:24.359218 < "PWD" 14:53:24.359248 > "257 "/" is current directory[CR][LF]" 14:53:24.359410 < "EPSV" 14:53:24.359434 ====> Passive DATA channel requested by client 14:53:24.359450 DATA sockfilt for passive data channel starting... 14:53:24.361659 DATA sockfilt for passive data channel started (pid 87197) 14:53:24.361780 DATA sockfilt for passive data channel listens on port 34229 14:53:24.361825 > "229 Entering Passive Mode (|||34229|)[LF]" 14:53:24.361846 Client has been notified that DATA conn will be accepted on port 34229 14:53:24.362073 Client connects to port 34229 14:53:24.362106 ====> Client established passive DATA connection on port 34229 14:53:24.362234 < "TYPE I" 14:53:24.362267 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:24.362446 < "SIZE verifiedserver" 14:53:24.362484 > "213 17[CR][LF]" 14:53:24.362657 < "RETR verifiedserver" 14:53:24.362693 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:24.362777 =====> Closing passive DATA connection... 14:53:24.362794 Server disconnects passive DATA connection 14:53:24.363047 Server disconnected passive DATA connection 14:53:24.363077 DATA sockfilt for passive data channel quits (pid 87197) 14:53:24.363326 DATA sockfilt for passive data channel quit (pid 87197) 14:53:24.363350 =====> Closed passive DATA connection 14:53:24.363379 > "226 File transfer complete[CR][LF]" 14:53:24.405366 < "QUIT" 14:53:24.405422 > "221 bye bye baby[CR][LF]" 14:53:24.407019 MAIN sockfilt said DISC 14:53:24.407060 ====> Client disconnected 14:53:24.407147 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:24.441090 ====> Client connect 14:53:24.441375 Received DATA (on stdin) 14:53:24.441391 > 160 bytes data, server => client 14:53:24.441405 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:24.441418 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:24.441429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:24.441500 < 16 bytes data, client => server 14:53:24.441514 'USER anonymous\r\n' 14:53:24.441686 Received DATA (on stdin) 14:53:24.441699 > 33 bytes data, server => client 14:53:24.441712 '331 We are happy you popped in!\r\n' 14:53:24.441763 < 22 bytes data, client => server 14:53:24.441776 'PASS ftp@example.com\r\n' 14:53:24.441880 Received DATA (on stdin) 14:53:24.441893 > 30 bytes data, server => client 14:53:24.441905 '230 Welcome you silly person\r\n' 14:53:24.441953 < 5 bytes data, client => server 14:53:24.441965 'PWD\r\n' 14:53:24.442066 Received DATA (on stdin) 14:53:24.442078 > 30 bytes data, server => client 14:53:24.442090 '257 "/" is current directory\r\n' 14:53:24.442147 < 6 bytes data, client => server 14:53:24.442159 'EPSV\r\n' 14:53:24.444675 Received DATA (on stdin) 14:53:24.444690 > 38 bytes data, server => client 14:53:24.444703 '229 Entering Passive Mode (|||34229|)\n' 14:53:24.444942 < 8 bytes data, client => server 14:53:24.444956 'TYPE I\r\n' 14:53:24.445091 Received DATA (on stdin) 14:53:24.445105 > 33 bytes data, server => client 14:53:24.445118 '200 I modify TYPE as you wanted\r\n' 14:53:24.445172 < 21 bytes data, client => server 14:53:24.445186 'SIZE verifiedserver\r\n' 14:53:24.445305 Received DATA (on stdin) 14:53:24.445319 > 8 bytes data, server => client 14:53:24.445331 '213 17\r\n' 14:53:24.445384 < 21 bytes data, client => server 14:53:24.445398 'RETR verifiedserver\r\n' 14:53:24.445613 Received DATA (on stdin) 14:53:24.445628 > 29 bytes data, server => client 14:53:24.445640 '150 Binary junk (17 bytes).\r\n' 14:53:24.446199 Received DATA (on stdin) 14:53:24.446214 > 28 bytes data, server => client 14:53:24.446227 '226 File transfer complete\r\n' 14:53:24.487974 < 6 bytes data, client => server 14:53:24.488017 'QUIT\r\n' 14:53:24.488245 Received DATA (on stdin) 14:53:24.488259 > 18 bytes data, server => client 14:53:24.488271 '221 bye bye baby\r\n' 14:53:24.489772 ====> Client disconnect 14:53:24.489966 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:24.444154 Running IPv4 version 14:53:24.444215 Listening on port 34229 14:53:24.444255 Wrote pid 87197 to log/21/server/ftp_sockdata.pid 14:53:24.444416 Received PING (on stdin) 14:53:24.444508 Received PORT (on stdin) 14:53:24.444839 ====> Client connect 14:53:24.445673 Received DATA (on stdin) 14:53:24.445687 > 17 bytes data, server => client 14:53:24.445700 'WE ROOLZ: 80269\r\n' 14:53:24.445725 Received DISC (on stdin) 14:53:24.445738 ====> Client forcibly disconnected 14:53:24.445904 Received QUIT (on stdin) 14:53:24.445917 quits 14:53:24.445977 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==87253== ==87253== Process terminating with default action of signal 4 (SIGILL) ==87253== Illegal opcode at address 0x4014B6F ==87253== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87253== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87253== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87253== by 0x4004266: main (tool_main.c:199) === End of file valgrind210 test 0212...[Get two FTP files with no remote EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind212 ../src/curl -q --output log/3/curl212.out --include --trace-ascii log/3/trace212 --trace-time ftp://127.0.0.1:37155/a/path/212 ftp://127.0.0.1:37155/a/path/212 -P - > log/3/stdout212 2> log/3/stderr212 212: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind212 ../src/curl -q --output log/3/curl212.out --include --trace-ascii log/3/trace212 --trace-time ftp://127.0.0.1:37155/a/path/212 ftp://127.0.0.1:37155/a/path/212 -P - > log/3/stdout212 2> log/3/stderr212 === End of file commands.log === Start of file ftp_server.log 14:53:24.456513 ====> Client connect 14:53:24.456702 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:24.457420 < "USER anonymous" 14:53:24.457453 > "331 We are happy you popped in![CR][LF]" 14:53:24.457596 < "PASS ftp@example.com" 14:53:24.457618 > "230 Welcome you silly person[CR][LF]" 14:53:24.457742 < "PWD" 14:53:24.457765 > "257 "/" is current directory[CR][LF]" 14:53:24.457892 < "EPSV" 14:53:24.457912 ====> Passive DATA channel requested by client 14:53:24.457923 DATA sockfilt for passive data channel starting... 14:53:24.459747 DATA sockfilt for passive data channel started (pid 87314) 14:53:24.459843 DATA sockfilt for passive data channel listens on port 42883 14:53:24.459881 > "229 Entering Passive Mode (|||42883|)[LF]" 14:53:24.459899 Client has been notifieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind211 ../src/curl -q --output log/10/curl211.out --include --trace-ascii log/10/trace211 --trace-time ftp://127.0.0.1:42691/a/path/211 ftp://127.0.0.1:42691/a/path/211 > log/10/stdout211 2> log/10/stderr211 d that DATA conn will be accepted on port 42883 14:53:24.460118 Client connects to port 42883 14:53:24.460150 ====> Client established passive DATA connection on port 42883 14:53:24.460235 < "TYPE I" 14:53:24.460266 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:24.460446 < "SIZE verifiedserver" 14:53:24.460484 > "213 17[CR][LF]" 14:53:24.460652 < "RETR verifiedserver" 14:53:24.460686 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:24.460780 =====> Closing passive DATA connection... 14:53:24.460800 Server disconnects passive DATA connection 14:53:24.461364 Server disconnected passive DATA connection 14:53:24.461394 DATA sockfilt for passive data channel quits (pid 87314) 14:53:24.462295 DATA sockfilt for passive data channel quit (pid 87314) 14:53:24.462324 =====> Closed passive DATA connection 14:53:24.462353 > "226 File transfer complete[CR][LF]" 14:53:24.503910 < "QUIT" 14:53:24.503977 > "221 bye bye baby[CR][LF]" 14:53:24.505057 MAIN sockfilt said DISC 14:53:24.505091 ====> Client disconnected 14:53:24.505174 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:24.539180 ====> Client connect 14:53:24.539536 Received DATA (on stdin) 14:53:24.539552 > 160 bytes data, server => client 14:53:24.539566 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:24.539579 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:24.539591 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:24.540085 < 16 bytes data, client => server 14:53:24.540104 'USER anonymous\r\n' 14:53:24.540271 Received DATA (on stdin) 14:53:24.540282 > 33 bytes data, server => client 14:53:24.540292 '331 We are happy you popped in!\r\n' 14:53:24.540338 < 22 bytes data, client => server 14:53:24.540347 'PASS ftp@example.com\r\n' 14:53:24.540432 Received DATA (on stdin) 14:53:24.540442 > 30 bytes data, server => client 14:53:24.540451 '230 Welcome you silly person\r\n' 14:53:24.540490 < 5 bytes data, client => server 14:53:24.540499 'PWD\r\n' 14:53:24.540577 Received DATA (on stdin) 14:53:24.540587 > 30 bytes data, server => client 14:53:24.540596 '257 "/" is current directory\r\n' 14:53:24.540641 < 6 bytes data, client => server 14:53:24.540650 'EPSV\r\n' 14:53:24.542721 Received DATA (on stdin) 14:53:24.542734 > 38 bytes data, server => client 14:53:24.542745 '229 Entering Passive Mode (|||42883|)\n' 14:53:24.542852 < 8 bytes data, client => server 14:53:24.542868 'TYPE I\r\n' 14:53:24.543088 Received DATA (on stdin) 14:53:24.543102 > 33 bytes data, server => client 14:53:24.543115 '200 I modify TYPE as you wanted\r\n' 14:53:24.543172 < 21 bytes data, client => server 14:53:24.543186 'SIZE verifiedserver\r\n' 14:53:24.543304 Received DATA (on stdin) 14:53:24.543318 > 8 bytes data, server => client 14:53:24.543329 '213 17\r\n' 14:53:24.543382 < 21 bytes data, client => server 14:53:24.543395 'RETR verifiedserver\r\n' 14:53:24.543621 Received DATA (on stdin) 14:53:24.543636 > 29 bytes data, server => client 14:53:24.543648 '150 Binary junk (17 bytes).\r\n' 14:53:24.545173 Received DATA (on stdin) 14:53:24.545187 > 28 bytes data, server => client 14:53:24.545199 '226 File transfer complete\r\n' 14:53:24.586487 < 6 bytes data, client => server 14:53:24.586520 'QUIT\r\n' 14:53:24.586802 Received DATA (on stdin) 14:53:24.586817 > 18 bytes data, server => client 14:53:24.586830 '221 bye bye baby\r\n' 14:53:24.587822 ====> Client disconnect 14:53:24.587994 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:24.541996 Running IPv4 version 14:53:24.542053 Listening on port 42883 14:53:24.542124 Wrote pid 87314 to log/3/server/ftp_sockdata.pid 14:53:24.542503 Received PING (on stdin) 14:53:24.542584 Received PORT (on stdin) 14:53:24.542889 ====> Client connect 14:53:24.543675 Received DATA (on stdin) 14:53:24.543689 > 17 bytes data, server => client 14:53:24.543701 'WE ROOLZ: 80281\r\n' 14:53:24.543726 Received DISC (on stdin) 14:53:24.543740 ====> Client forcibly disconnected 14:53:24.544750 Received QUIT (on stdin) 14:53:24.544769 quits 14:53:24.544829 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 no such command Testnum 212 === End of file server.cmd === Start of file valgrind212 ==87348== ==87348== Process terminating with default action of signal 4 (SIGILL) ==87348== Illegal opcode at address 0x4014B6F ==87348== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87348== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87348== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87348== by 0x4004266: main (tool_main.c:199) === End of file valgrind212 test 0211...[Get two FTP files with no remote EPSV support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind211 ../src/curl -q --output log/10/curl211.out --include --trace-ascii log/10/trace211 --trace-time ftp://127.0.0.1:42691/a/path/211 ftp://127.0.0.1:42691/a/path/211 > log/10/stdout211 2> log/10/stderr211 211: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind211 ../src/curl -q --output log/10/curl211.out --include --trace-ascii log/10/trace211 --trace-time ftp://127.0.0.1:42691/a/path/211 ftp://127.0.0.1:42691/a/path/211 > log/10/stdout211 2> log/10/stderr211 === End of file commands.log === Start of file ftp_server.log 14:53:24.468770 ====> Client connect 14:53:24.468929 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:24.469239 < "USER anonymous" 14:53:24.469274 > "331 We are happy you popped in![CR][LF]" 14:53:24.469460 < "PASS ftp@example.com" 14:53:24.469489 > "230 Welcome you silly person[CR][LF]" 14:53:24.469659 < "PWD" 14:53:24.469691 > "257 "/" is current directory[CR][LF]" 14:53:24.469869 < "EPSV" 14:53:24.469897 ====> Passive DATA channel requested by client 14:53:24.469912 DATA sockfilt for passive data channel starting... 14:53:24.471774 DATA sockfilt for passive data channel started (pid 87334) 14:53:24.471882 DATA sockfilt for passive data channel listens on port 46387 14:53:24.471917 > "229 Entering Passive Mode (|||46387|)[LF]" 14:53:24.471932 Client has been notified that DATA conn will be accepted on port 46387 14:53:24.472122 Client connects to port 46387 14:53:24.472148 ====> Client established passive DATA connection on port 46387 14:53:24.472207 < "TYPE I" 14:53:24.472228 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:24.472354 < "SIZE verifiedserver" 14:53:24.472383 > "213 17[CR][LF]" 14:53:24.472502 < "RETR verifiedserver" 14:53:24.472528 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:24.472597 =====> Closing passive DATA connection... 14:53:24.472610 Server disconnects passive DATA connection 14:53:24.472804 Server disconnected passive DATA connection 14:53:24.472827 DATA sockfilt for passive data channel quits (pid 87334) 14:53:24.472994 DATA sockfilt for passive data channel quit (pid 87334) 14:53:24.473014 =====> Closed passive DATA connection 14:53:24.473034 > "226 File transfer complete[CR][LF]" 14:53:24.517327 < "QUIT" 14:53:24.517382 > "221 bye bye baby[CR][LF]" 14:53:24.518775 MAIN sockfilt said DISC 14:53:24.518804 ====> Client disconnected 14:53:24.518866 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:24.551462 ====> Client connect 14:53:24.551762 Received DATA (on stdin) 14:53:24.551779 > 160 bytes data, server => client 14:53:24.551793 '220- _ _ ____ _ \r\n220- ___| | | | _ CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind213 ../src/curl -q --output log/23/curl213.out --include --trace-ascii log/23/trace213 --trace-time http://test.remote.example.com.213:38851/path/2130002 --proxy1.0 http://127.0.0.1:38851 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout213 2> log/23/stderr213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:39569/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 \| | ' 14:53:24.551806 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:24.551817 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:24.551899 < 16 bytes data, client => server 14:53:24.551914 'USER anonymous\r\n' 14:53:24.552099 Received DATA (on stdin) 14:53:24.552114 > 33 bytes data, server => client 14:53:24.552127 '331 We are happy you popped in!\r\n' 14:53:24.552182 < 22 bytes data, client => server 14:53:24.552196 'PASS ftp@example.com\r\n' 14:53:24.552309 Received DATA (on stdin) 14:53:24.552322 > 30 bytes data, server => client 14:53:24.552334 '230 Welcome you silly person\r\n' 14:53:24.552387 < 5 bytes data, client => server 14:53:24.552400 'PWD\r\n' 14:53:24.552512 Received DATA (on stdin) 14:53:24.552526 > 30 bytes data, server => client 14:53:24.552538 '257 "/" is current directory\r\n' 14:53:24.552599 < 6 bytes data, client => server 14:53:24.552613 'EPSV\r\n' 14:53:24.554751 Received DATA (on stdin) 14:53:24.554763 > 38 bytes data, server => client 14:53:24.554773 '229 Entering Passive Mode (|||46387|)\n' 14:53:24.554892 < 8 bytes data, client => server 14:53:24.554902 'TYPE I\r\n' 14:53:24.555043 Received DATA (on stdin) 14:53:24.555053 > 33 bytes data, server => client 14:53:24.555062 '200 I modify TYPE as you wanted\r\n' 14:53:24.555102 < 21 bytes data, client => server 14:53:24.555111 'SIZE verifiedserver\r\n' 14:53:24.555196 Received DATA (on stdin) 14:53:24.555206 > 8 bytes data, server => client 14:53:24.555215 '213 17\r\n' 14:53:24.555252 < 21 bytes data, client => server 14:53:24.555261 'RETR verifiedserver\r\n' 14:53:24.555426 Received DATA (on stdin) 14:53:24.555437 > 29 bytes data, server => client 14:53:24.555446 '150 Binary junk (17 bytes).\r\n' 14:53:24.555849 Received DATA (on stdin) 14:53:24.555861 > 28 bytes data, server => client 14:53:24.555870 '226 File transfer complete\r\n' 14:53:24.599954 < 6 bytes data, client => server 14:53:24.599987 'QUIT\r\n' 14:53:24.600204 Received DATA (on stdin) 14:53:24.600216 > 18 bytes data, server => client 14:53:24.600227 '221 bye bye baby\r\n' 14:53:24.601545 ====> Client disconnect 14:53:24.601684 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:24.554308 Running IPv4 version 14:53:24.554358 Listening on port 46387 14:53:24.554390 Wrote pid 87334 to log/10/server/ftp_sockdata.pid 14:53:24.554532 Received PING (on stdin) 14:53:24.554616 Received PORT (on stdin) 14:53:24.554869 ====> Client connect 14:53:24.555467 Received DATA (on stdin) 14:53:24.555478 > 17 bytes data, server => client 14:53:24.555487 'WE ROOLZ: 80280\r\n' 14:53:24.555506 Received DISC (on stdin) 14:53:24.555516 ====> Client forcibly disconnected 14:53:24.555649 Received QUIT (on stdin) 14:53:24.555659 quits 14:53:24.555708 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 211 === End of file server.cmd === Start of file valgrind211 ==87400== ==87400== Process terminating with default action of signal 4 (SIGILL) ==87400== Illegal opcode at address 0x4014B6F ==87400== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87400== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87400== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87400== by 0x4004266: main (tool_main.c:199) === End of file valgrind211 test 0213...[HTTP 1.0 proxy CONNECT auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind213 ../src/curl -q --output log/23/curl213.out --include --trace-ascii log/23/trace213 --trace-time http://test.remote.example.com.213:38851/path/2130002 --proxy1.0 http://127.0.0.1:38851 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout213 2> log/23/stderr213 213: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind213 ../src/curl -q --output log/23/curl213.out --include --trace-ascii log/23/trace213 --trace-time http://test.remote.example.com.213:38851/path/2130002 --proxy1.0 http://127.0.0.1:38851 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout213 2> log/23/stderr213 === End of file commands.log === Start of file http_server.log 14:53:24.700474 ====> Client connect 14:53:24.700511 accept_connection 3 returned 4 14:53:24.700530 accept_connection 3 returned 0 14:53:24.700547 Read 93 bytes 14:53:24.700559 Process 93 bytes request 14:53:24.700573 Got request: GET /verifiedserver HTTP/1.1 14:53:24.700584 Are-we-friendly question received 14:53:24.700612 Wrote request (93 bytes) input to log/23/server.input 14:53:24.700632 Identifying ourselves as friends 14:53:24.700690 Response sent (56 bytes) and written to log/23/server.response 14:53:24.700703 special request received, no persistency 14:53:24.700714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 47490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind213 ==87466== ==87466== Process terminating with default action of signal 4 (SIGILL) ==87466== Illegal opcode at address 0x4014B6F ==87466== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87466== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87466== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87466== by 0x4004266: main (tool_main.c:199) === End of file valgrind213 setenv MSYS2_ARG_CONV_EXCL = http:// test 0214...[HTTP URL with escaped { and }] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:39569/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 214: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:39569/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 === End of file commands.log === Start of file http_server.log 14:53:24.856960 ====> Client connect 14:53:24.856992 accept_connection 3 returned 4 14:53:24.857009 accept_connection 3 returned 0 14:53:24.857025 Read 93 bytes 14:53:24.857035 Process 93 bytes request 14:53:24.857049 Got request: GET /verifiedserver HTTP/1.1 14:53:24.857059 Are-we-friendly question received 14:53:24.857085 Wrote request (93 bytes) input to log/20/server.input 14:53:24.857102 Identifying ourselves as friends 14:53:24.857156 Response sent (56 bytes) and written to log/20/server.response 14:53:24.857CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:41533/path/2170002 --proxy http://127.0.0.1:41533 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 167 special request received, no persistency 14:53:24.857177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 57752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind214 ==87584== ==87584== Process terminating with default action of signal 4 (SIGILL) ==87584== Illegal opcode at address 0x4014B6F ==87584== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87584== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87584== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87584== by 0x4004266: main (tool_main.c:199) === End of file valgrind214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind218 ../src/curl -q --output log/17/curl218.out --include --trace-ascii log/17/trace218 --trace-time -T log/17/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45171/218 > log/17/stdout218 2> log/17/stderr218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:46043/221 --compressed > log/14/stdout221 2> log/14/stderr221 test 0217...[HTTP proxy CONNECT to proxy returning 405] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:41533/path/2170002 --proxy http://127.0.0.1:41533 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 217: stdout FAILED: --- log/13/check-expected 2025-09-11 14:53:25.822197248 +0000 +++ log/13/check-generated 2025-09-11 14:53:25.822197248 +0000 @@ -1,3 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] -000 405[LF] == Contents of files in the log/13/ dir after test 217 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] 000 405[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:41533/path/2170002 --proxy http://127.0.0.1:41533 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 === End of file commands.log === Start of file http_server.log 14:53:24.888017 ====> Client connect 14:53:24.888061 accept_connection 3 returned 4 14:53:24.888083 accept_connection 3 returned 0 14:53:24.888103 Read 93 bytes 14:53:24.888118 Process 93 bytes request 14:53:24.888135 Got request: GET /verifiedserver HTTP/1.1 14:53:24.888146 Are-we-friendly question received 14:53:24.888176 Wrote request (93 bytes) input to log/13/server.input 14:53:24.888196 Identifying ourselves as friends 14:53:24.888264 Response sent (56 bytes) and written to log/13/server.response 14:53:24.888278 special request received, no persistency 14:53:24.888290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 36850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 217 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind217 ==87653== ==87653== Process terminating with default action of signal 4 (SIGILL) ==87653== Illegal opcode at address 0x4014B6F ==87653== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87653== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87653== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87653== by 0x4004266: main (tool_main.c:199) === End of file valgrind217 test 0218...[HTTP PUT from a file but enforce chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind218 ../src/curl -q --output log/17/curl218.out --include --trace-ascii log/17/trace218 --trace-time -T log/17/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45171/218 > log/17/stdout218 2> log/17/stderr218 218: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind218 ../src/curl -q --output log/17/curl218.out --include --trace-ascii log/17/trace218 --trace-time -T log/17/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45171/218 > log/17/stdout218 2> log/17/stderr218 === End of file commands.log === Start of file file218 just some tiny teeny contents === End of file file218 === Start of file http_server.log 14:53:24.907786 ====> Client connect 14:53:24.907819 accept_connection 3 returned 4 14:53:24.907835 accept_connection 3 returned 0 14:53:24.907850 Read 93 bytes 14:53:24.907861 Process 93 bytes request 14:53:24.907876 Got request: GET /verifiedserver HTTP/1.1 14:53:24.907887 Are-we-friendly question received 14:53:24.907912 Wrote request (93 bytes) input to log/17/server.input 14:53:24.907929 Identifying ourselves as friends 14:53:24.907980 Response sent (56 bytes) and written to log/17/server.response 14:53:24.907990 special request received, no persistency 14:53:24.908003 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 49176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind218 ==87684== ==87684== Process terminating with default action of signal 4 (SIGILL) ==87684== Illegal opcode at address 0x4014B6F ==87684== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87684== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87684== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87684== by 0x4004266: main (tool_main.c:199) === End of file valgrind218 test 0221...[HTTP GET gzip compressed content with broken gzip header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:46043/221 --compressed > log/14/stdout221 2> log/14/stderr221 221: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 221 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:46043/221 --compressed > log/14/stdout221 2> log/14/stderr221 === End of file commands.log === Start of file http_server.log 14:53:24.964034 ====> Client connect 14:53:24.964068 accept_connection 3 returned 4 14:53:24.964087 accept_connection 3 returned 0 14:53:24.964103 Read 93 bytes 14:53:24.964113 Process 93 bytes request 14:53:24.964127 Got request: GET /verifiedserver HTTP/1.1 14:53:24.964137 Are-we-friendly question received 14:53:24.964163 Wrote request (93 bytes) input to log/14/server.input 14:53:24.964182 Identifying ourselves as friends 14:53:24.964237 Response sent (56 bytes) and written to log/14/server.response 14:53:24.964250 special request received, no persistency 14:53:24.964261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind215 ../src/curl -q --output log/18/curl215.out --include --trace-ascii log/18/trace215 --trace-time ftp://127.0.0.1:41069/a/path/215/ ftp://127.0.0.1:41069/a/path/215/ > log/18/stdout215 2> log/18/stderr215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind219 ../src/curl -q --output log/6/curl219.out --include --trace-ascii log/6/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/6/stdout219 2> log/6/stderr219 t 53696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind221 ==87948== ==87948== Process terminating with default action of signal 4 (SIGILL) ==87948== Illegal opcode at address 0x4014B6F ==87948== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87948== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87948== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87948== by 0x4004266: main (tool_main.c:199) === End of file valgrind221 test 0215...[Get two FTP dir listings from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind215 ../src/curl -q --output log/18/curl215.out --include --trace-ascii log/18/trace215 --trace-time ftp://127.0.0.1:41069/a/path/215/ ftp://127.0.0.1:41069/a/path/215/ > log/18/stdout215 2> log/18/stderr215 215: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind215 ../src/curl -q --output log/18/curl215.out --include --trace-ascii log/18/trace215 --trace-time ftp://127.0.0.1:41069/a/path/215/ ftp://127.0.0.1:41069/a/path/215/ > log/18/stdout215 2> log/18/stderr215 === End of file commands.log === Start of file ftp_server.log 14:53:24.778929 ====> Client connect 14:53:24.779087 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:24.779530 < "USER anonymous" 14:53:24.779590 > "331 We are happy you popped in![CR][LF]" 14:53:24.779836 < "PASS ftp@example.com" 14:53:24.779865 > "230 Welcome you silly person[CR][LF]" 14:53:24.780025 < "PWD" 14:53:24.780054 > "257 "/" is current directory[CR][LF]" 14:53:24.780295 < "EPSV" 14:53:24.780337 ====> Passive DATA channel requested by client 14:53:24.780353 DATA sockfilt for passive data channel starting... 14:53:24.782813 DATA sockfilt for passive data channel started (pid 87578) 14:53:24.782942 DATA sockfilt for passive data channel listens on port 44761 14:53:24.782986 > "229 Entering Passive Mode (|||44761|)[LF]" 14:53:24.783005 Client has been notified that DATA conn will be accepted on port 44761 14:53:24.783239 Client connects to port 44761 14:53:24.783275 ====> Client established passive DATA connection on port 44761 14:53:24.783406 < "TYPE I" 14:53:24.783438 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:24.783628 < "SIZE verifiedserver" 14:53:24.783669 > "213 17[CR][LF]" 14:53:24.783832 < "RETR verifiedserver" 14:53:24.783865 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:24.783958 =====> Closing passive DATA connection... 14:53:24.784299 Server disconnects passive DATA connection 14:53:24.784334 Fancy that; client wants to DISC, too 14:53:24.784421 Server disconnected passive DATA connection 14:53:24.784443 DATA sockfilt for passive data channel quits (pid 87578) 14:53:24.784753 DATA sockfilt for passive data channel quit (pid 87578) 14:53:24.784779 =====> Closed passive DATA connection 14:53:24.784807 > "226 File transfer complete[CR][LF]" 14:53:24.828233 < "QUIT" 14:53:24.828291 > "221 bye bye baby[CR][LF]" 14:53:24.829097 MAIN sockfilt said DISC 14:53:24.829140 ====> Client disconnected 14:53:24.829211 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:24.861650 ====> Client connect 14:53:24.861920 Received DATA (on stdin) 14:53:24.861937 > 160 bytes data, server => client 14:53:24.861950 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:24.861960 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:24.861971 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:24.862126 < 16 bytes data, client => server 14:53:24.862148 'USER anonymous\r\n' 14:53:24.862420 Received DATA (on stdin) 14:53:24.862444 > 33 bytes data, server => client 14:53:24.862457 '331 We are happy you popped in!\r\n' 14:53:24.862550 < 22 bytes data, client => server 14:53:24.862563 'PASS ftp@example.com\r\n' 14:53:24.862683 Received DATA (on stdin) 14:53:24.862695 > 30 bytes data, server => client 14:53:24.862707 '230 Welcome you silly person\r\n' 14:53:24.862757 < 5 bytes data, client => server 14:53:24.862769 'PWD\r\n' 14:53:24.862871 Received DATA (on stdin) 14:53:24.862883 > 30 bytes data, server => client 14:53:24.862895 '257 "/" is current directory\r\n' 14:53:24.862951 < 6 bytes data, client => server 14:53:24.862962 'EPSV\r\n' 14:53:24.865833 Received DATA (on stdin) 14:53:24.865851 > 38 bytes data, server => client 14:53:24.865864 '229 Entering Passive Mode (|||44761|)\n' 14:53:24.866110 < 8 bytes data, client => server 14:53:24.866124 'TYPE I\r\n' 14:53:24.866258 Received DATA (on stdin) 14:53:24.866271 > 33 bytes data, server => client 14:53:24.866284 '200 I modify TYPE as you wanted\r\n' 14:53:24.866346 < 21 bytes data, client => server 14:53:24.866361 'SIZE verifiedserver\r\n' 14:53:24.866488 Received DATA (on stdin) 14:53:24.866501 > 8 bytes data, server => client 14:53:24.866512 '213 17\r\n' 14:53:24.866563 < 21 bytes data, client => server 14:53:24.866577 'RETR verifiedserver\r\n' 14:53:24.866792 Received DATA (on stdin) 14:53:24.866813 > 29 bytes data, server => client 14:53:24.866825 '150 Binary junk (17 bytes).\r\n' 14:53:24.867628 Received DATA (on stdin) 14:53:24.867643 > 28 bytes data, server => client 14:53:24.867656 '226 File transfer complete\r\n' 14:53:24.910837 < 6 bytes data, client => server 14:53:24.910866 'QUIT\r\n' 14:53:24.911117 Received DATA (on stdin) 14:53:24.911131 > 18 bytes data, server => client 14:53:24.911143 '221 bye bye baby\r\n' 14:53:24.911854 ====> Client disconnect 14:53:24.912089 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:24.865255 Running IPv4 version 14:53:24.865326 Listening on port 44761 14:53:24.865373 Wrote pid 87578 to log/18/server/ftp_sockdata.pid 14:53:24.865568 Received PING (on stdin) 14:53:24.865666 Received PORT (on stdin) 14:53:24.866004 ====> Client connect 14:53:24.866853 Received DATA (on stdin) 14:53:24.866868 > 17 bytes data, server => client 14:53:24.866880 'WE ROOLZ: 80342\r\n' 14:53:24.866983 ====> Client disconnect 14:53:24.867154 Received DISC (on stdin) 14:53:24.867165 Crikey! Client also wants to disconnect 14:53:24.867179 Received ACKD (on stdin) 14:53:24.867271 Received QUIT (on stdin) 14:53:24.867299 quits 14:53:24.867380 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==87692== ==87692== Process terminating with default action of signal 4 (SIGILL) ==87692== Illegal opcode at address 0x4014B6F ==87692== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87692== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87692== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87692== by 0x4004266: main (tool_main.c:199) === End of file valgrind215 test 0219...[try using proxy with unsupported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/testsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind220 ../src/curl -q --output log/12/curl220.out --include --trace-ascii log/12/trace220 --trace-time http://127.0.0.1:43359/220 --compressed > log/12/stdout220 2> log/12/stderr220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind216 ../src/curl -q --output log/1/curl216.out --include --trace-ascii log/1/trace216 --trace-time -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/ -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/%2e%2eanotherup.216 > log/1/stdout216 2> log/1/stderr216 /valgrind.supp --num-callers=16 --log-file=log/6/valgrind219 ../src/curl -q --output log/6/curl219.out --include --trace-ascii log/6/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/6/stdout219 2> log/6/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/6/ dir after test 219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind219 ../src/curl -q --output log/6/curl219.out --include --trace-ascii log/6/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/6/stdout219 2> log/6/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==87681== ==87681== Process terminating with default action of signal 4 (SIGILL) ==87681== Illegal opcode at address 0x4014B6F ==87681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87681== by 0x4004266: main (tool_main.c:199) === End of file valgrind219 test 0220...[HTTP GET gzip compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind220 ../src/curl -q --output log/12/curl220.out --include --trace-ascii log/12/trace220 --trace-time http://127.0.0.1:43359/220 --compressed > log/12/stdout220 2> log/12/stderr220 220: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 220 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind220 ../src/curl -q --output log/12/curl220.out --include --trace-ascii log/12/trace220 --trace-time http://127.0.0.1:43359/220 --compressed > log/12/stdout220 2> log/12/stderr220 === End of file commands.log === Start of file http_server.log 14:53:24.957393 ====> Client connect 14:53:24.957432 accept_connection 3 returned 4 14:53:24.957451 accept_connection 3 returned 0 14:53:24.957468 Read 93 bytes 14:53:24.957480 Process 93 bytes request 14:53:24.957495 Got request: GET /verifiedserver HTTP/1.1 14:53:24.957505 Are-we-friendly question received 14:53:24.957535 Wrote request (93 bytes) input to log/12/server.input 14:53:24.957555 Identifying ourselves as friends 14:53:24.957622 Response sent (56 bytes) and written to log/12/server.response 14:53:24.957635 special request received, no persistency 14:53:24.957646 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 40068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 220 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind220 ==87916== ==87916== Process terminating with default action of signal 4 (SIGILL) ==87916== Illegal opcode at address 0x4014B6F ==87916== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87916== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87916== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87916== by 0x4004266: main (tool_main.c:199) === End of file valgrind220 test 0216...[FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind216 ../src/curl -q --output log/1/curl216.out --include --trace-ascii log/1/trace216 --trace-time -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/ -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/%2e%2eanotherup.216 > log/1/stdout216 2> log/1/stderr216 216: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind216 ../src/curl -q --output log/1/curl216.out --include --trace-ascii log/1/trace216 --trace-time -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/ -T log/1/upload.216 ftp://127.0.0.1:43113/a/path/216/%2e%2eanotherup.216 > log/1/stdout216 2> log/1/stderr216 === End of file commands.log === Start of file ftp_server.log 14:53:24.781033 ====> Client connect 14:53:24.781167 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:24.781426 < "USER anonymous" 14:53:24.781461 > "331 We are happy you popped in![CR][LF]" 14:53:24.781613 < "PASS ftp@example.com" 14:53:24.781642 > "230 Welcome you silly person[CR][LF]" 14:53:24.781783 < "PWD" 14:53:24.781811 > "257 "/" is current directory[CR][LF]" 14:53:24.781961 < "EPSV" 14:53:24.781985 ====> Passive DATA channel requested by client 14:53:24.781998 DATA sockfilt for passive data channel starting... 14:53:24.783868 DATA sockfilt for passive data channel started (pid 87579) 14:53:24.783974 DATA sockfilt for passive data channel listens on port 42639 14:53:24.784013 > "229 Entering Passive Mode (|||42639|)[LF]" 14:53:24.784033 Client has been notified that DATA conn will be accepted on port 42639 14:53:24.784252 Client connects to port 42639 14:53:24.784278 ====> Client established passive DATA connection on port 42639 14:53:24.784346 < "TYPE I" 14:53:24.784375 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:24.784528 < "SIZE verifiedserver" 14:53:24.784561 > "213 17[CR][LF]" 14:53:24.784710 < "RETR verifiedserver" 14:53:24.784740 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:24.784816 =====> Closing passive DATA connection... 14:53:24.784832 Server disconnects passive DATA connection 14:53:24.784993 Server disconnected passive DATA connection 14:53:24.785015 DATA sockfilt for passive data channel quits (pid 87579) 14:53:24.785246 DATA sockfilt for passive data channel quit (pid 87579) 14:53:24.785287 =====> Closed passive DATA connection 14:53:24.785327 > "226 File transfer complete[CR][LF]" 14:53:24.832569 < "QUIT" 14:53:24.832636 > "221 bye bye baby[CR][LF]" 14:53:24.833491 MAIN sockfilt said DISC 14:53:24.833519 ====> Client disconnected 14:53:24.833603 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:23.863759 ====> Client connect 14:53:23.863996 Received DATA (on stdin) 14:53:23.864010 > 160 bytes data, server => client 14:53:23.864022 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:23.864033 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:23.864043 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:23.864104 < 16 bytes data, client => server 14:53:23.864116 'USER anonymous\r\n' 14:53:23.864279 Received DATA (on stdin) 14:53:23.864291 > 33 bytes data, server => client 14:53:23.864302 '331 We are happy you popped in!\r\n' 14:53:23.864350 < 22 bytes data, client => server 14:53:23.864361 'PASS ftp@example.com\r\n' 14:53:23.864458 Received DATA (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:37587/223 --compressed > log/2/stdout223 2> log/2/stderr223 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind222 ../src/curl -q --output log/11/curl222.out --include --trace-ascii log/11/trace222 --trace-time http://127.0.0.1:33503/222 --compressed > log/11/stdout222 2> log/11/stderr222 on stdin) 14:53:23.864470 > 30 bytes data, server => client 14:53:23.864480 '230 Welcome you silly person\r\n' 14:53:23.864523 < 5 bytes data, client => server 14:53:23.864534 'PWD\r\n' 14:53:23.864629 Received DATA (on stdin) 14:53:23.864640 > 30 bytes data, server => client 14:53:23.864650 '257 "/" is current directory\r\n' 14:53:23.864703 < 6 bytes data, client => server 14:53:23.864715 'EPSV\r\n' 14:53:23.866858 Received DATA (on stdin) 14:53:23.866873 > 38 bytes data, server => client 14:53:23.866885 '229 Entering Passive Mode (|||42639|)\n' 14:53:23.866990 < 8 bytes data, client => server 14:53:23.867005 'TYPE I\r\n' 14:53:23.867192 Received DATA (on stdin) 14:53:23.867205 > 33 bytes data, server => client 14:53:23.867217 '200 I modify TYPE as you wanted\r\n' 14:53:23.867264 < 21 bytes data, client => server 14:53:23.867276 'SIZE verifiedserver\r\n' 14:53:23.867379 Received DATA (on stdin) 14:53:23.867391 > 8 bytes data, server => client 14:53:23.867402 '213 17\r\n' 14:53:23.867445 < 21 bytes data, client => server 14:53:23.867461 'RETR verifiedserver\r\n' 14:53:23.867651 Received DATA (on stdin) 14:53:23.867664 > 29 bytes data, server => client 14:53:23.867675 '150 Binary junk (17 bytes).\r\n' 14:53:23.868157 Received DATA (on stdin) 14:53:23.868177 > 28 bytes data, server => client 14:53:23.868190 '226 File transfer complete\r\n' 14:53:23.912051 < 6 bytes data, client => server 14:53:23.912071 'QUIT\r\n' 14:53:23.915466 Received DATA (on stdin) 14:53:23.915491 > 18 bytes data, server => client 14:53:23.915503 '221 bye bye baby\r\n' 14:53:23.916256 ====> Client disconnect 14:53:23.916424 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:24.866524 Running IPv4 version 14:53:24.866578 Listening on port 42639 14:53:24.866610 Wrote pid 87579 to log/1/server/ftp_sockdata.pid 14:53:24.866629 Received PING (on stdin) 14:53:24.866710 Received PORT (on stdin) 14:53:24.867025 ====> Client connect 14:53:24.867704 Received DATA (on stdin) 14:53:24.867717 > 17 bytes data, server => client 14:53:24.867728 'WE ROOLZ: 80194\r\n' 14:53:24.867749 Received DISC (on stdin) 14:53:24.867764 ====> Client forcibly disconnected 14:53:24.867836 Received QUIT (on stdin) 14:53:24.867846 quits 14:53:24.867894 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 216 === End of file server.cmd === Start of file upload.216 upload this file twice === End of file upload.216 === Start of file valgrind216 ==87749== ==87749== Process terminating with default action of signal 4 (SIGILL) ==87749== Illegal opcode at address 0x4014B6F ==87749== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==87749== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==87749== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==87749== by 0x4004266: main (tool_main.c:199) === End of file valgrind216 test 0223...[HTTP GET deflate compressed content with broken deflate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:37587/223 --compressed > log/2/stdout223 2> log/2/stderr223 223: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 223 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:37587/223 --compressed > log/2/stdout223 2> log/2/stderr223 === End of file commands.log === Start of file http_server.log 14:53:24.990826 ====> Client connect 14:53:24.990864 accept_connection 3 returned 4 14:53:24.990883 accept_connection 3 returned 0 14:53:24.990902 Read 93 bytes 14:53:24.990915 Process 93 bytes request 14:53:24.990935 Got request: GET /verifiedserver HTTP/1.1 14:53:24.990947 Are-we-friendly question received 14:53:24.990976 Wrote request (93 bytes) input to log/2/server.input 14:53:24.990995 Identifying ourselves as friends 14:53:24.991055 Response sent (56 bytes) and written to log/2/server.response 14:53:24.991068 special request received, no persistency 14:53:24.991079 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 41414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind223 ==88047== ==88047== Process terminating with default action of signal 4 (SIGILL) ==88047== Illegal opcode at address 0x4014B6F ==88047== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88047== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88047== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88047== by 0x4004266: main (tool_main.c:199) === End of file valgrind223 test 0222...[HTTP GET deflate compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind222 ../src/curl -q --output log/11/curl222.out --include --trace-ascii log/11/trace222 --trace-time http://127.0.0.1:33503/222 --compressed > log/11/stdout222 2> log/11/stderr222 222: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 222 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind222 ../src/curl -q --output log/11/curl222.out --include --trace-ascii log/11/trace222 --trace-time http://127.0.0.1:33503/222 --compressed > log/11/stdout222 2> log/11/stderr222 === End of file commands.log === Start of file http_server.log 14:53:24.969883 ====> Client connect 14:53:24.969920 accept_connection 3 returned 4 14:53:24.969940 accept_connection 3 returned 0 14:53:24.969955 Read 93 bytes 14:53:24.969966 Process 93 bytes request 14:53:24.969981 Got request: GET /verifiedserver HTTP/1.1 14:53:24.969991 Are-we-friendly question received 14:53:24.970016 Wrote request (93 bytes) input to log/11/server.input 14:53:24.970034 Identifying ourselves as friends 14:53:24.970091 Response sent (56 bytes) and written to log/11/server.response 14:53:24.970102 special request received, no persistency 14:53:24.970112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 34360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 222 === End of file server.cmd =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:34475/224 --compressed > log/16/stdout224 2> log/16/stderr224 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-time ftp://127.0.0.1:32907/226%0d > log/5/stdout226 2> log/5/stderr226 == Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind222 ==88032== ==88032== Process terminating with default action of signal 4 (SIGILL) ==88032== Illegal opcode at address 0x4014B6F ==88032== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88032== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88032== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88032== by 0x4004266: main (tool_main.c:199) === End of file valgrind222 test 0224...[HTTP GET gzip compressed content with huge comment and extra field] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:34475/224 --compressed > log/16/stdout224 2> log/16/stderr224 224: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:34475/224 --compressed > log/16/stdout224 2> log/16/stderr224 === End of file commands.log === Start of file http_server.log 14:53:25.118746 ====> Client connect 14:53:25.118782 accept_connection 3 returned 4 14:53:25.118801 accept_connection 3 returned 0 14:53:25.118948 Read 93 bytes 14:53:25.118963 Process 93 bytes request 14:53:25.118979 Got request: GET /verifiedserver HTTP/1.1 14:53:25.118990 Are-we-friendly question received 14:53:25.119018 Wrote request (93 bytes) input to log/16/server.input 14:53:25.119038 Identifying ourselves as friends 14:53:25.119092 Response sent (56 bytes) and written to log/16/server.response 14:53:25.119104 special request received, no persistency 14:53:25.119114 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 224 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind224 ==88204== ==88204== Process terminating with default action of signal 4 (SIGILL) ==88204== Illegal opcode at address 0x4014B6F ==88204== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88204== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88204== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88204== by 0x4004266: main (tool_main.c:199) === End of file valgrind224 test 0226...[FTP %0d-code in URL's CWD part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-time ftp://127.0.0.1:32907/226%0d > log/5/stdout226 2> log/5/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/5/ dir after test 226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-time ftp://127.0.0.1:32907/226%0d > log/5/stdout226 2> log/5/stderr226 === End of file commands.log === Start of file ftp_server.log 14:53:25.185838 ====> Client connect 14:53:25.185982 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.186262 < "USER anonymous" 14:53:25.186298 > "331 We are happy you popped in![CR][LF]" 14:53:25.186485 < "PASS ftp@example.com" 14:53:25.186516 > "230 Welcome you silly person[CR][LF]" 14:53:25.186674 < "PWD" 14:53:25.186704 > "257 "/" is current directory[CR][LF]" 14:53:25.186876 < "EPSV" 14:53:25.186901 ====> Passive DATA channel requested by client 14:53:25.186915 DATA sockfilt for passive data channel starting... 14:53:25.189262 DATA sockfilt for passive data channel started (pid 88307) 14:53:25.189431 DATA sockfilt for passive data channel listens on port 39887 14:53:25.189497 > "229 Entering Passive Mode (|||39887|)[LF]" 14:53:25.189521 Client has been notified that DATA conn will be accepted on port 39887 14:53:25.189785 Client connects to port 39887 14:53:25.189824 ====> Client established passive DATA connection on port 39887 14:53:25.189916 < "TYPE I" 14:53:25.189949 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.190126 < "SIZE verifiedserver" 14:53:25.190165 > "213 17[CR][LF]" 14:53:25.190342 < "RETR verifiedserver" 14:53:25.190374 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.190462 =====> Closing passive DATA connection... 14:53:25.190479 Server disconnects passive DATA connection 14:53:25.190681 Server disconnected passive DATA connection 14:53:25.190723 DATA sockfilt for passive data channel quits (pid 88307) 14:53:25.191012 DATA sockfilt for passive data channel quit (pid 88307) 14:53:25.191036 =====> Closed passive DATA connection 14:53:25.191069 > "226 File transfer complete[CR][LF]" 14:53:25.237275 < "QUIT" 14:53:25.237331 > "221 bye bye baby[CR][LF]" 14:53:25.238349 MAIN sockfilt said DISC 14:53:25.238383 ====> Client disconnected 14:53:25.238461 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.268556 ====> Client connect 14:53:25.268815 Received DATA (on stdin) 14:53:25.268832 > 160 bytes data, server => client 14:53:25.268845 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.268857 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.268869 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.268941 < 16 bytes data, client => server 14:53:25.268955 'USER anonymous\r\n' 14:53:25.269119 Received DATA (on stdin) 14:53:25.269134 > 33 bytes data, server => client 14:53:25.269147 '331 We are happy you popped in!\r\n' 14:53:25.269200 < 22 bytes data, client => server 14:53:25.269212 'PASS ftp@example.com\r\n' 14:53:25.269334 Received DATA (on stdin) 14:53:25.269347 > 30 bytes data, server => client 14:53:25.269359 '230 Welcome you silly person\r\n' 14:53:25.269407 < 5 bytes data, client => server 14:53:25.269418 'PWD\r\n' 14:53:25.269522 Received DATA (on stdin) 14:53:25.269534 > 30 bytes data, server => client 14:53:25.269546 '257 "/" is current directory\r\n' 14:53:25.269603 < 6 bytes data, client => server 14:53:25.269615 'EPSV\r\n' 14:53:25.272354 Received DATA (on stdin) 14:53:25.272376 > 38 bytes data, server => client 14:53:25.272390 '229 Entering Passive Mode (|||39887|)\n' 14:53:25.272604 < 8 bytes data, client => server 14:53:25.272623 'TYPE I\r\n' 14:53:25.272770 Received DATA (on stdin) 14:53:25.272787 > 33 bytes data, server => client 14:53:25.272800 '200 I modify TYPE as you wanted\r\n' 14:53:25.272856 < 21 bytes data, client => server 14:53:25.272869 'SIZE verifiedserver\r\n' 14:53:25.272984 Received DATA (on stdin) 14:53:25.273008 > 8 bytes data, server => clientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind225 ../src/curl -q --output log/7/curl225.out --include --trace-ascii log/7/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:37495/225%0a > log/7/stdout225 2> log/7/stderr225 14:53:25.273019 '213 17\r\n' 14:53:25.273071 < 21 bytes data, client => server 14:53:25.273084 'RETR verifiedserver\r\n' 14:53:25.273300 Received DATA (on stdin) 14:53:25.273313 > 29 bytes data, server => client 14:53:25.273325 '150 Binary junk (17 bytes).\r\n' 14:53:25.273892 Received DATA (on stdin) 14:53:25.273912 > 28 bytes data, server => client 14:53:25.273926 '226 File transfer complete\r\n' 14:53:25.319889 < 6 bytes data, client => server 14:53:25.319923 'QUIT\r\n' 14:53:25.320154 Received DATA (on stdin) 14:53:25.320167 > 18 bytes data, server => client 14:53:25.320180 '221 bye bye baby\r\n' 14:53:25.321113 ====> Client disconnect 14:53:25.321278 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.271887 Running IPv4 version 14:53:25.271951 Listening on port 39887 14:53:25.271987 Wrote pid 88307 to log/5/server/ftp_sockdata.pid 14:53:25.272011 Received PING (on stdin) 14:53:25.272124 Received PORT (on stdin) 14:53:25.272523 ====> Client connect 14:53:25.273353 Received DATA (on stdin) 14:53:25.273370 > 17 bytes data, server => client 14:53:25.273382 'WE ROOLZ: 80255\r\n' 14:53:25.273407 Received DISC (on stdin) 14:53:25.273420 ====> Client forcibly disconnected 14:53:25.273562 Received QUIT (on stdin) 14:53:25.273579 quits 14:53:25.273644 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==88395== ==88395== Process terminating with default action of signal 4 (SIGILL) ==88395== Illegal opcode at address 0x4014B6F ==88395== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88395== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88395== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88395== by 0x4004266: main (tool_main.c:199) === End of file valgrind226 test 0225...[FTP %0a-code in URL's name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind225 ../src/curl -q --output log/7/curl225.out --include --trace-ascii log/7/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:37495/225%0a > log/7/stdout225 2> log/7/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/7/ dir after test 225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind225 ../src/curl -q --output log/7/curl225.out --include --trace-ascii log/7/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:37495/225%0a > log/7/stdout225 2> log/7/stderr225 === End of file commands.log === Start of file ftp_server.log 14:53:25.127023 ====> Client connect 14:53:25.127220 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.128039 < "USER anonymous" 14:53:25.128075 > "331 We are happy you popped in![CR][LF]" 14:53:25.128279 < "PASS ftp@example.com" 14:53:25.128306 > "230 Welcome you silly person[CR][LF]" 14:53:25.128466 < "PWD" 14:53:25.128498 > "257 "/" is current directory[CR][LF]" 14:53:25.128659 < "EPSV" 14:53:25.128683 ====> Passive DATA channel requested by client 14:53:25.128694 DATA sockfilt for passive data channel starting... 14:53:25.130220 DATA sockfilt for passive data channel started (pid 88272) 14:53:25.132769 DATA sockfilt for passive data channel listens on port 38951 14:53:25.132812 > "229 Entering Passive Mode (|||38951|)[LF]" 14:53:25.132832 Client has been notified that DATA conn will be accepted on port 38951 14:53:25.133867 Client connects to port 38951 14:53:25.133897 ====> Client established passive DATA connection on port 38951 14:53:25.133969 < "TYPE I" 14:53:25.133993 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.134358 < "SIZE verifiedserver" 14:53:25.134394 > "213 17[CR][LF]" 14:53:25.136652 < "RETR verifiedserver" 14:53:25.136715 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.136817 =====> Closing passive DATA connection... 14:53:25.136838 Server disconnects passive DATA connection 14:53:25.137561 Server disconnected passive DATA connection 14:53:25.137609 DATA sockfilt for passive data channel quits (pid 88272) 14:53:25.142009 DATA sockfilt for passive data channel quit (pid 88272) 14:53:25.142333 =====> Closed passive DATA connection 14:53:25.142684 > "226 File transfer complete[CR][LF]" 14:53:25.184601 < "QUIT" 14:53:25.184655 > "221 bye bye baby[CR][LF]" 14:53:25.185433 MAIN sockfilt said DISC 14:53:25.185463 ====> Client disconnected 14:53:25.185546 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:24.209693 ====> Client connect 14:53:24.210053 Received DATA (on stdin) 14:53:24.210071 > 160 bytes data, server => client 14:53:24.210085 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:24.210097 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:24.210109 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:24.210706 < 16 bytes data, client => server 14:53:24.210722 'USER anonymous\r\n' 14:53:24.210898 Received DATA (on stdin) 14:53:24.210912 > 33 bytes data, server => client 14:53:24.210924 '331 We are happy you popped in!\r\n' 14:53:24.211003 < 22 bytes data, client => server 14:53:24.211017 'PASS ftp@example.com\r\n' 14:53:24.211124 Received DATA (on stdin) 14:53:24.211137 > 30 bytes data, server => client 14:53:24.211150 '230 Welcome you silly person\r\n' 14:53:24.211199 < 5 bytes data, client => server 14:53:24.211211 'PWD\r\n' 14:53:24.211316 Received DATA (on stdin) 14:53:24.211330 > 30 bytes data, server => client 14:53:24.211342 '257 "/" is current directory\r\n' 14:53:24.211400 < 6 bytes data, client => server 14:53:24.211411 'EPSV\r\n' 14:53:24.215607 Received DATA (on stdin) 14:53:24.215625 > 38 bytes data, server => client 14:53:24.215638 '229 Entering Passive Mode (|||38951|)\n' 14:53:24.216350 < 8 bytes data, client => server 14:53:24.216372 'TYPE I\r\n' 14:53:24.216908 Received DATA (on stdin) 14:53:24.216946 > 33 bytes data, server => client 14:53:24.216961 '200 I modify TYPE as you wanted\r\n' 14:53:24.217111 < 21 bytes data, client => server 14:53:24.217671 'SIZE verifiedserver\r\n' 14:53:24.217695 Received DATA (on stdin) 14:53:24.217708 > 8 bytes data, server => client 14:53:24.217721 '213 17\r\n' 14:53:24.219303 < 21 bytes data, client => server 14:53:24.219327 'RETR verifiedserver\r\n' 14:53:24.219932 Received DATA (on stdin) 14:53:24.219955 > 29 bytes data, server => client 14:53:24.219967 '150 Binary junk (17 bytes).\r\n' 14:53:24.225457 Received DATA (on stdin) 14:53:24.225770 > 28 bytes data, server => client 14:53:24.225786 '226 File transfer complete\r\n' 14:53:24.267236 < 6 bytes data, client => server 14:53:24.267269 'QUIT\r\n' 14:53:24.267479 Received DATA (on stdin) 14:53:24.267493 > 18 bytes data, server => client 14:53:24.267505 '221 bye bye baby\r\n' 14:53:24.268197 ====> Client disconnect 14:53:24.268366 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.212885 Running IPv4 version 14:53:25.212929 Listening on port 38951 14:53:25.212960 Wrote pid 88272 to log/7/server/ftp_sockdata.pid 14:53:25.212976 Received PING (on stdin) 14:53:25.213072 Received PORT (on stdin) 14:53:25.216630 ====> Client connect 14:53:25.220266 Received DATA (on stdin) 14:53:25.220287 > 17 bytes data, server => client 14:53:25.220302 'WE ROOLZ: 80245\r\n' 14:53:25.220335 Received DISC (on stdin) 14:53:25.220346 ====> Client forcibly disconnected 14:53:25.220729 Received QUIT (on stdin) 14:53:25.220749 quits 14:53:25.221974 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 88325== ==88325== Process terminating with default action of signal 4 (SIGILL) ==88325== Illegal opcode at address 0x4014B6F ==88325== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88325== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88325== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88325== by 0x4004266: main (tool_main.c:199) === End of file valgrind225 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-time ftp://127.0.0.1:37027/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 test 0231...[file:// with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 231: data FAILED: --- log/8/check-expected 2025-09-11 14:53:26.242197255 +0000 +++ log/8/check-generated 2025-09-11 14:53:26.242197255 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/8/ dir after test 231 === Start of file check-expected B01234567[LF] C01234567[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 === End of file commands.log === Start of file server.cmd Testnum 231 === End of file server.cmd === Start of file test231.txt A01234567 B01234567 C01234567 === End of file test231.txt === Start of file valgrind231 ==88476== ==88476== Process terminating with default action of signal 4 (SIGILL) ==88476== Illegal opcode at address 0x4014B6F ==88476== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88476== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88476== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88476== by 0x4004266: main (tool_main.c:199) === End of file valgrind231 test 0227...[FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-time ftp://127.0.0.1:37027/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 227: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-time ftp://127.0.0.1:37027/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 === End of file commands.log === Start of file ftp_server.log 14:53:25.198331 ====> Client connect 14:53:25.198473 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.198762 < "USER anonymous" 14:53:25.198805 > "331 We are happy you popped in![CR][LF]" 14:53:25.198994 < "PASS ftp@example.com" 14:53:25.199022 > "230 Welcome you silly person[CR][LF]" 14:53:25.199185 < "PWD" 14:53:25.199211 > "257 "/" is current directory[CR][LF]" 14:53:25.199343 < "EPSV" 14:53:25.199367 ====> Passive DATA channel requested by client 14:53:25.199381 DATA sockfilt for passive data channel starting... 14:53:25.201135 DATA sockfilt for passive data channel started (pid 88340) 14:53:25.201274 DATA sockfilt for passive data channel listens on port 38387 14:53:25.201320 > "229 Entering Passive Mode (|||38387|)[LF]" 14:53:25.201339 Client has been notified that DATA conn will be accepted on port 38387 14:53:25.201589 Client connects to port 38387 14:53:25.201623 ====> Client established passive DATA connection on port 38387 14:53:25.201725 < "TYPE I" 14:53:25.201762 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.201942 < "SIZE verifiedserver" 14:53:25.201985 > "213 17[CR][LF]" 14:53:25.202143 < "RETR verifiedserver" 14:53:25.202180 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.202268 =====> Closing passive DATA connection... 14:53:25.202285 Server disconnects passive DATA connection 14:53:25.202520 Server disconnected passive DATA connection 14:53:25.202547 DATA sockfilt for passive data channel quits (pid 88340) 14:53:25.202768 DATA sockfilt for passive data channel quit (pid 88340) 14:53:25.202794 =====> Closed passive DATA connection 14:53:25.202818 > "226 File transfer complete[CR][LF]" 14:53:25.247176 < "QUIT" 14:53:25.247230 > "221 bye bye baby[CR][LF]" 14:53:25.248165 MAIN sockfilt said DISC 14:53:25.248216 ====> Client disconnected 14:53:25.248282 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.281053 ====> Client connect 14:53:25.281303 Received DATA (on stdin) 14:53:25.281320 > 160 bytes data, server => client 14:53:25.281332 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.281343 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.281353 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.281429 < 16 bytes data, client => server 14:53:25.281444 'USER anonymous\r\n' 14:53:25.281627 Received DATA (on stdin) 14:53:25.281641 > 33 bytes data, server => client 14:53:25.281653 '331 We are happy you popped in!\r\n' 14:53:25.281709 < 22 bytes data, client => server 14:53:25.281722 'PASS ftp@example.com\r\n' 14:53:25.281841 Received DATA (on stdin) 14:53:25.281855 > 30 bytes data, server => client 14:53:25.281866 '230 Welcome you silly person\r\n' 14:53:25.281915 < 5 bytes data, client => server 14:53:25.281928 'PWD\r\n' 14:53:25.282024 Received DATA (on stdin) 14:53:25.282034 > 30 bytes data, server => client 14:53:25.282043 '257 "/" is current directory\r\n' 14:53:25.282090 < 6 bytes data, client => server 14:53:25.282099 'EPSV\r\n' 14:53:25.284166 Received DATA (on stdin) 14:53:25.284186 > 38 bytes data, server => client 14:53:25.284199 '229 Entering Passive Mode (|||38387|)\n' 14:53:25.284350 < 8 bytes data, client => server 14:53:25.284365 'TYPE I\r\n' 14:53:25.284582 Received DATA (on stdin) 14:53:25.284595 > 33 bytes data, server => client 14:53:25.284608 '200 I modify TYPE as you wanted\r\n' 14:53:25.284660 < 21 bytes data, client => server 14:53:25.284675 'SIZE verifiedserver\r\n' 14:53:25.284805 Received DATA (on stdin) 14:53:25.284819 > 8 bytes data, server => client 14:53:25.284831 '213 17\r\n' 14:53:25.284877 < 21 bytes data, client => server 14:53:25.284889 'RETR verifiedserver\r\n' 14:53:25.285199 Received DATA (on stdin) 14:53:25.285211 > 29 bytes data, server => client 14:53:25.285222 '150 Binary junk (17 bytes).\r\n' 14:53:25.285634 Received DATA (on stdin) 14:53:25.285645 > 28 bytes data, server => client 14:53:25.285655 '226 File transfer complete\r\n' 14:53:25.329778 < 6 bytes data, client => server 14:53:25.329811 'QUIT\r\n' 14:53:25.330050 Received DATA (on stdin) 14:53:25.330061 > 18 bytes data, server => client 14:53:25.330071 '221 bye bye baby\r\n' 14:53:25.330905 ====> Client disconnect 14:53:25.331102 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.283755 Running IPv4 version 14:53:25.283829 Listening on port 38387 14:53:25.283864 Wrote pid 88340 to log/9/server/ftp_sockdata.pid 14:53:25.283886 Received PING (on stdin) 14:53:25.283993 Received PORT (on stdin) 14:53:25.284323 ====> Client connect 14:53:25.285105 Received DATA (on stdin) 14:53:25.285120 > 17 bytes data, server => client 14:53:25.285132 'WE ROOLZ: 80262\r\n' 14:53:25.285161 Received DISC (on stdin) 14:53:25.285175 ====> Client forcibly disconnected 14:53:25.285374 Received QUIT (on stdin) 14:53:25.285387 quits 14:53:25.285441 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind230 ../src/curl -q --output log/22/curl230.out --include --trace-ascii log/22/trace230 --trace-time http://127.0.0.1:42027/230 --compressed > log/22/stdout230 2> log/22/stderr230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind228 ../src/curl -q --output log/24/curl228.out --include --trace-ascii log/24/trace228 --trace-time ftp://127.0.0.1:42919/228 --ftp-account "one count" > log/24/stdout228 2> log/24/stderr228 this might not be a failure Testnum 227 === End of file server.cmd === Start of file valgrind227 ==88413== ==88413== Process terminating with default action of signal 4 (SIGILL) ==88413== Illegal opcode at address 0x4014B6F ==88413== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88413== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88413== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88413== by 0x4004266: main (tool_main.c:199) === End of file valgrind227 test 0230...[HTTP GET multiply compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind230 ../src/curl -q --output log/22/curl230.out --include --trace-ascii log/22/trace230 --trace-time http://127.0.0.1:42027/230 --compressed > log/22/stdout230 2> log/22/stderr230 230: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind230 ../src/curl -q --output log/22/curl230.out --include --trace-ascii log/22/trace230 --trace-time http://127.0.0.1:42027/230 --compressed > log/22/stdout230 2> log/22/stderr230 === End of file commands.log === Start of file http_server.log 14:53:25.364717 ====> Client connect 14:53:25.364752 accept_connection 3 returned 4 14:53:25.364770 accept_connection 3 returned 0 14:53:25.364786 Read 93 bytes 14:53:25.364797 Process 93 bytes request 14:53:25.364812 Got request: GET /verifiedserver HTTP/1.1 14:53:25.364823 Are-we-friendly question received 14:53:25.364851 Wrote request (93 bytes) input to log/22/server.input 14:53:25.364871 Identifying ourselves as friends 14:53:25.364933 Response sent (56 bytes) and written to log/22/server.response 14:53:25.364946 special request received, no persistency 14:53:25.364957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind230 ==88580== ==88580== Process terminating with default action of signal 4 (SIGILL) ==88580== Illegal opcode at address 0x4014B6F ==88580== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88580== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88580== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88580== by 0x4004266: main (tool_main.c:199) === End of file valgrind230 test 0228...[FTP RETR with ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind228 ../src/curl -q --output log/24/curl228.out --include --trace-ascii log/24/trace228 --trace-time ftp://127.0.0.1:42919/228 --ftp-account "one count" > log/24/stdout228 2> log/24/stderr228 228: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind228 ../src/curl -q --output log/24/curl228.out --include --trace-ascii log/24/trace228 --trace-time ftp://127.0.0.1:42919/228 --ftp-account "one count" > log/24/stdout228 2> log/24/stderr228 === End of file commands.log === Start of file ftp_server.log 14:53:25.201100 ====> Client connect 14:53:25.201238 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.201517 < "USER anonymous" 14:53:25.201557 > "331 We are happy you popped in![CR][LF]" 14:53:25.201736 < "PASS ftp@example.com" 14:53:25.201763 > "230 Welcome you silly person[CR][LF]" 14:53:25.201935 < "PWD" 14:53:25.201966 > "257 "/" is current directory[CR][LF]" 14:53:25.202142 < "EPSV" 14:53:25.202169 ====> Passive DATA channel requested by client 14:53:25.202184 DATA sockfilt for passive data channel starting... 14:53:25.203810 DATA sockfilt for passive data channel started (pid 88342) 14:53:25.203899 DATA sockfilt for passive data channel listens on port 38063 14:53:25.203930 > "229 Entering Passive Mode (|||38063|)[LF]" 14:53:25.203946 Client has been notified that DATA conn will be accepted on port 38063 14:53:25.204129 Client connects to port 38063 14:53:25.204152 ====> Client established passive DATA connection on port 38063 14:53:25.204212 < "TYPE I" 14:53:25.204235 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.204359 < "SIZE verifiedserver" 14:53:25.204386 > "213 17[CR][LF]" 14:53:25.204504 < "RETR verifiedserver" 14:53:25.204528 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.204589 =====> Closing passive DATA connection... 14:53:25.204601 Server disconnects passive DATA connection 14:53:25.204725 Server disconnected passive DATA connection 14:53:25.204774 DATA sockfilt for passive data channel quits (pid 88342) 14:53:25.205045 DATA sockfilt for passive data channel quit (pid 88342) 14:53:25.205070 =====> Closed passive DATA connection 14:53:25.205107 > "226 File transfer complete[CR][LF]" 14:53:25.253425 < "QUIT" 14:53:25.253477 > "221 bye bye baby[CR][LF]" 14:53:25.254534 MAIN sockfilt said DISC 14:53:25.254568 ====> Client disconnected 14:53:25.254635 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.283832 ====> Client connect 14:53:25.284068 Received DATA (on stdin) 14:53:25.284085 > 160 bytes data, server => client 14:53:25.284098 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.284110 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.284121 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.284197 < 16 bytes data, client => server 14:53:25.284209 'USER anonymous\r\n' 14:53:25.284379 Received DATA (on stdin) 14:53:25.284393 > 33 bytes data, server => client 14:53:25.284405 '331 We are happy you popped in!\r\n' 14:53:25.284457 < 22 bytes data, client => server 14:53:25.284470 'PASS ftp@example.com\r\n' 14:53:25.284582 Received DATA (on stdin) 14:53:25.284595 > 30 bytes data, server => client 14:53:25.284608 '230 Welcome you silly person\r\n' 14:53:25.284660 < 5 bytes data, client => server 14:53:25.284674 'PWD\r\n' 14:53:25.284785 Received DATA (on stdin) 14:53:25.284798 > 30 bytes data, server => client 14:53:25.284811 '257 "/" is current directory\r\n' 14:53:25.284871 < 6 bytes data, client => server 14:53:25.284884 'EPSV\r\n' 14:53:25.286764 Received DATA (on stdin) 14:53:25.286776 > 38 bytes data, server => client 14:53:25.286785 '229 Entering Passive Mode (|||38063|)\n' 14:53:25.286899 < 8 bytes data, client => server 14:53:25.286909 'TYPE I\r\n' 14:53:25.287049 Received DATA (on stdin) 14:53:25.287059 > 33 bytes data, server => client 14:53:25.287068 '200 I modify TYPE as you wanted\r\n' 14:53:25.287107 < 21 bytes data, client => server 14:53:25.287116 'SIZE verifiedserver\r\n' 14:53:25.287199 Received DATA (on stdin) 14:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind229 ../src/curl -q --output log/19/curl229.out --include --trace-ascii log/19/trace229 --trace-time ftp://127.0.0.1:46729/229 --ftp-account "one count" > log/19/stdout229 2> log/19/stderr229 53:25.287209 > 8 bytes data, server => client 14:53:25.287217 '213 17\r\n' 14:53:25.287253 < 21 bytes data, client => server 14:53:25.287263 'RETR verifiedserver\r\n' 14:53:25.287415 Received DATA (on stdin) 14:53:25.287425 > 29 bytes data, server => client 14:53:25.287434 '150 Binary junk (17 bytes).\r\n' 14:53:25.287936 Received DATA (on stdin) 14:53:25.287955 > 28 bytes data, server => client 14:53:25.287968 '226 File transfer complete\r\n' 14:53:25.336061 < 6 bytes data, client => server 14:53:25.336088 'QUIT\r\n' 14:53:25.336299 Received DATA (on stdin) 14:53:25.336312 > 18 bytes data, server => client 14:53:25.336324 '221 bye bye baby\r\n' 14:53:25.337297 ====> Client disconnect 14:53:25.337452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.286485 Running IPv4 version 14:53:25.286527 Listening on port 38063 14:53:25.286556 Wrote pid 88342 to log/24/server/ftp_sockdata.pid 14:53:25.286573 Received PING (on stdin) 14:53:25.286647 Received PORT (on stdin) 14:53:25.286876 ====> Client connect 14:53:25.287455 Received DATA (on stdin) 14:53:25.287466 > 17 bytes data, server => client 14:53:25.287475 'WE ROOLZ: 80263\r\n' 14:53:25.287493 Received DISC (on stdin) 14:53:25.287503 ====> Client forcibly disconnected 14:53:25.287614 Received QUIT (on stdin) 14:53:25.287633 quits 14:53:25.287694 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 228 === End of file server.cmd === Start of file valgrind228 ==88457== ==88457== Process terminating with default action of signal 4 (SIGILL) ==88457== Illegal opcode at address 0x4014B6F ==88457== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88457== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88457== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88457== by 0x4004266: main (tool_main.c:199) === End of file valgrind228 test 0229...[FTP RETR with bad ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind229 ../src/curl -q --output log/19/curl229.out --include --trace-ascii log/19/trace229 --trace-time ftp://127.0.0.1:46729/229 --ftp-account "one count" > log/19/stdout229 2> log/19/stderr229 229: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind229 ../src/curl -q --output log/19/curl229.out --include --trace-ascii log/19/trace229 --trace-time ftp://127.0.0.1:46729/229 --ftp-account "one count" > log/19/stdout229 2> log/19/stderr229 === End of file commands.log === Start of file ftp_server.log 14:53:25.219270 ====> Client connect 14:53:25.219441 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.219729 < "USER anonymous" 14:53:25.219764 > "331 We are happy you popped in![CR][LF]" 14:53:25.219940 < "PASS ftp@example.com" 14:53:25.219969 > "230 Welcome you silly person[CR][LF]" 14:53:25.220129 < "PWD" 14:53:25.220160 > "257 "/" is current directory[CR][LF]" 14:53:25.220463 < "EPSV" 14:53:25.220504 ====> Passive DATA channel requested by client 14:53:25.220520 DATA sockfilt for passive data channel starting... 14:53:25.222463 DATA sockfilt for passive data channel started (pid 88375) 14:53:25.222589 DATA sockfilt for passive data channel listens on port 33193 14:53:25.222631 > "229 Entering Passive Mode (|||33193|)[LF]" 14:53:25.222651 Client has been notified that DATA conn will be accepted on port 33193 14:53:25.222873 Client connects to port 33193 14:53:25.222905 ====> Client established passive DATA connection on port 33193 14:53:25.222987 < "TYPE I" 14:53:25.223021 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.223199 < "SIZE verifiedserver" 14:53:25.223236 > "213 17[CR][LF]" 14:53:25.223395 < "RETR verifiedserver" 14:53:25.223427 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.223516 =====> Closing passive DATA connection... 14:53:25.223535 Server disconnects passive DATA connection 14:53:25.223780 Server disconnected passive DATA connection 14:53:25.223819 DATA sockfilt for passive data channel quits (pid 88375) 14:53:25.224444 DATA sockfilt for passive data channel quit (pid 88375) 14:53:25.224477 =====> Closed passive DATA connection 14:53:25.224516 > "226 File transfer complete[CR][LF]" 14:53:25.267833 < "QUIT" 14:53:25.267893 > "221 bye bye baby[CR][LF]" 14:53:25.268852 MAIN sockfilt said DISC 14:53:25.268886 ====> Client disconnected 14:53:25.268966 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.301969 ====> Client connect 14:53:25.302272 Received DATA (on stdin) 14:53:25.302289 > 160 bytes data, server => client 14:53:25.302302 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.302314 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.302325 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.302398 < 16 bytes data, client => server 14:53:25.302411 'USER anonymous\r\n' 14:53:25.302588 Received DATA (on stdin) 14:53:25.302602 > 33 bytes data, server => client 14:53:25.302614 '331 We are happy you popped in!\r\n' 14:53:25.302665 < 22 bytes data, client => server 14:53:25.302678 'PASS ftp@example.com\r\n' 14:53:25.302788 Received DATA (on stdin) 14:53:25.302801 > 30 bytes data, server => client 14:53:25.302812 '230 Welcome you silly person\r\n' 14:53:25.302861 < 5 bytes data, client => server 14:53:25.302873 'PWD\r\n' 14:53:25.302989 Received DATA (on stdin) 14:53:25.303024 > 30 bytes data, server => client 14:53:25.303037 '257 "/" is current directory\r\n' 14:53:25.303133 < 6 bytes data, client => server 14:53:25.303147 'EPSV\r\n' 14:53:25.305477 Received DATA (on stdin) 14:53:25.305493 > 38 bytes data, server => client 14:53:25.305507 '229 Entering Passive Mode (|||33193|)\n' 14:53:25.305660 < 8 bytes data, client => server 14:53:25.305684 'TYPE I\r\n' 14:53:25.305843 Received DATA (on stdin) 14:53:25.305860 > 33 bytes data, server => client 14:53:25.305874 '200 I modify TYPE as you wanted\r\n' 14:53:25.305929 < 21 bytes data, client => server 14:53:25.305943 'SIZE verifiedserver\r\n' 14:53:25.306055 Received DATA (on stdin) 14:53:25.306068 > 8 bytes data, server => client 14:53:25.306080 '213 17\r\n' 14:53:25.306128 < 21 bytes data, client => server 14:53:25.306141 'RETR verifiedserver\r\n' 14:53:25.306366 Received DATA (on stdin) 14:53:25.306379 > 29 bytes data, server => client 14:53:25.306391 '150 Binary junk (17 bytes).\r\n' 14:53:25.307344 Received DATA (on stdin) 14:53:25.307361 > 28 bytes data, server => client 14:53:25.307374 '226 File transfer complete\r\n' 14:53:25.350454 < 6 bytes data, client => server 14:53:25.350486 'QUIT\r\n' 14:53:25.350721 Received DATA (on stdin) 14:53:25.350737 > 18 bytes data, server => client 14:53:25.350749 '221 bye bye baby\r\n' 14:53:25.351614 ====> Client disconnect 14:53:25.351791 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.305093 Running IPv4 version 14:53:25.305151 Listening on port 33193 14:53:25.305191 Wrote pid 88375 to log/19/server/ftp_sockdata.pid 14:53:25.305216 Received PING (on stdin) 14:53:25.305321 Received PORT (on stdin) 14:53:25.305635 ====> Client connect 14:53:25.306408 Received DATA (on stdin) 14:53:25.306452 > 17 bytes data, server => client 14:53:25.306465 'WE ROOLZ: 80256\r\n' 14:53:25.306498 Received DISC (on stdin) 14:53:25.306527 ====> Client forcibly disconnected 14:53:25.306752 Received QUIT (on sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind232 ../src/curl -q --output log/15/curl232.out --include --trace-ascii log/15/trace232 --trace-time http://127.0.0.1:42107/232 --compressed > log/15/stdout232 2> log/15/stderr232 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind233 ../src/curl -q --output log/4/curl233.out --include --trace-ascii log/4/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39793 --user iam:myself --proxy-user testing:this --location > log/4/stdout233 2> log/4/stderr233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:34037 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 tdin) 14:53:25.306770 quits 14:53:25.306838 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 532 bluah Testnum 229 === End of file server.cmd === Start of file valgrind229 ==88477== ==88477== Process terminating with default action of signal 4 (SIGILL) ==88477== Illegal opcode at address 0x4014B6F ==88477== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88477== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88477== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88477== by 0x4004266: main (tool_main.c:199) === End of file valgrind229 test 0232...[HTTP GET deflate raw-compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind232 ../src/curl -q --output log/15/curl232.out --include --trace-ascii log/15/trace232 --trace-time http://127.0.0.1:42107/232 --compressed > log/15/stdout232 2> log/15/stderr232 232: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind232 ../src/curl -q --output log/15/curl232.out --include --trace-ascii log/15/trace232 --trace-time http://127.0.0.1:42107/232 --compressed > log/15/stdout232 2> log/15/stderr232 === End of file commands.log === Start of file http_server.log 14:53:25.377645 ====> Client connect 14:53:25.377906 accept_connection 3 returned 4 14:53:25.377934 accept_connection 3 returned 0 14:53:25.377952 Read 93 bytes 14:53:25.377964 Process 93 bytes request 14:53:25.377980 Got request: GET /verifiedserver HTTP/1.1 14:53:25.377991 Are-we-friendly question received 14:53:25.378024 Wrote request (93 bytes) input to log/15/server.input 14:53:25.378043 Identifying ourselves as friends 14:53:25.378111 Response sent (56 bytes) and written to log/15/server.response 14:53:25.378125 special request received, no persistency 14:53:25.378136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind232 ==88663== ==88663== Process terminating with default action of signal 4 (SIGILL) ==88663== Illegal opcode at address 0x4014B6F ==88663== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88663== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88663== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88663== by 0x4004266: main (tool_main.c:199) === End of file valgrind232 test 0233...[HTTP, proxy, site+proxy auth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind233 ../src/curl -q --output log/4/curl233.out --include --trace-ascii log/4/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39793 --user iam:myself --proxy-user testing:this --location > log/4/stdout233 2> log/4/stderr233 233: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind233 ../src/curl -q --output log/4/curl233.out --include --trace-ascii log/4/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39793 --user iam:myself --proxy-user testing:this --location > log/4/stdout233 2> log/4/stderr233 === End of file commands.log === Start of file http_server.log 14:53:25.524742 ====> Client connect 14:53:25.524779 accept_connection 3 returned 4 14:53:25.524798 accept_connection 3 returned 0 14:53:25.524814 Read 93 bytes 14:53:25.524827 Process 93 bytes request 14:53:25.524840 Got request: GET /verifiedserver HTTP/1.1 14:53:25.524851 Are-we-friendly question received 14:53:25.524880 Wrote request (93 bytes) input to log/4/server.input 14:53:25.524899 Identifying ourselves as friends 14:53:25.524959 Response sent (56 bytes) and written to log/4/server.response 14:53:25.524972 special request received, no persistency 14:53:25.524983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 233 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind233 ==88818== ==88818== Process terminating with default action of signal 4 (SIGILL) ==88818== Illegal opcode at address 0x4014B6F ==88818== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88818== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88818== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88818== by 0x4004266: main (tool_main.c:199) === End of file valgrind233 test 0234...[HTTP, proxy, site+proxy auth and Location: to new host location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:34037 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 234: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:34037 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 === End of file commands.log === Start of file http_server.log 14:53:25.521683 ====> Client connect 14:53:25.521720 accept_connection 3 returned 4 14:53:25.521739 accept_connection 3 returned 0 14:53:25.521757 Read 93 bytes 14:53:25.521768 Process 93 bytes request 14:53:25.521782 Got request: GET /verifiedserver HTTP/1.1 14:53:25.521793 Are-we-friendly questioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind235 ../src/curl -q --output log/3/curl235.out --include --trace-ascii log/3/trace235 --trace-time ftp://127.0.0.1:37155/235 -T log/3/upload235 -C - > log/3/stdout235 2> log/3/stderr235 n received 14:53:25.521822 Wrote request (93 bytes) input to log/21/server.input 14:53:25.521842 Identifying ourselves as friends 14:53:25.521904 Response sent (56 bytes) and written to log/21/server.response 14:53:25.521917 special request received, no persistency 14:53:25.521928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 234 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind234 ==88829== ==88829== Process terminating with default action of signal 4 (SIGILL) ==88829== Illegal opcode at address 0x4014B6F ==88829== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88829== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88829== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88829== by 0x4004266: main (tool_main.c:199) === End of file valgrind234 test 0235...[FTP resumed upload but no file present remotely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind235 ../src/curl -q --output log/3/curl235.out --include --trace-ascii log/3/trace235 --trace-time ftp://127.0.0.1:37155/235 -T log/3/upload235 -C - > log/3/stdout235 2> log/3/stderr235 235: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 235 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind235 ../src/curl -q --output log/3/curl235.out --include --trace-ascii log/3/trace235 --trace-time ftp://127.0.0.1:37155/235 -T log/3/upload235 -C - > log/3/stdout235 2> log/3/stderr235 === End of file commands.log === Start of file ftp_server.log 14:53:25.556531 ====> Client connect 14:53:25.556691 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.557033 < "USER anonymous" 14:53:25.557072 > "331 We are happy you popped in![CR][LF]" 14:53:25.560409 < "PASS ftp@example.com" 14:53:25.560445 > "230 Welcome you silly person[CR][LF]" 14:53:25.560609 < "PWD" 14:53:25.560640 > "257 "/" is current directory[CR][LF]" 14:53:25.560810 < "EPSV" 14:53:25.560836 ====> Passive DATA channel requested by client 14:53:25.560850 DATA sockfilt for passive data channel starting... 14:53:25.564096 DATA sockfilt for passive data channel started (pid 88946) 14:53:25.564238 DATA sockfilt for passive data channel listens on port 43145 14:53:25.564288 > "229 Entering Passive Mode (|||43145|)[LF]" 14:53:25.564307 Client has been notified that DATA conn will be accepted on port 43145 14:53:25.564627 Client connects to port 43145 14:53:25.564657 ====> Client established passive DATA connection on port 43145 14:53:25.564751 < "TYPE I" 14:53:25.564786 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.564953 < "SIZE verifiedserver" 14:53:25.564994 > "213 17[CR][LF]" 14:53:25.565154 < "RETR verifiedserver" 14:53:25.565188 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.565283 =====> Closing passive DATA connection... 14:53:25.565302 Server disconnects passive DATA connection 14:53:25.566884 Server disconnected passive DATA connection 14:53:25.566915 DATA sockfilt for passive data channel quits (pid 88946) 14:53:25.567191 DATA sockfilt for passive data channel quit (pid 88946) 14:53:25.567218 =====> Closed passive DATA connection 14:53:25.567248 > "226 File transfer complete[CR][LF]" 14:53:25.607271 < "QUIT" 14:53:25.607328 > "221 bye bye baby[CR][LF]" 14:53:25.608081 MAIN sockfilt said DISC 14:53:25.608109 ====> Client disconnected 14:53:25.608190 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.639227 ====> Client connect 14:53:25.639521 Received DATA (on stdin) 14:53:25.639537 > 160 bytes data, server => client 14:53:25.639551 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.639564 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.639575 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.639655 < 16 bytes data, client => server 14:53:25.639705 'USER anonymous\r\n' 14:53:25.643012 Received DATA (on stdin) 14:53:25.643033 > 33 bytes data, server => client 14:53:25.643047 '331 We are happy you popped in!\r\n' 14:53:25.643107 < 22 bytes data, client => server 14:53:25.643120 'PASS ftp@example.com\r\n' 14:53:25.643265 Received DATA (on stdin) 14:53:25.643278 > 30 bytes data, server => client 14:53:25.643290 '230 Welcome you silly person\r\n' 14:53:25.643341 < 5 bytes data, client => server 14:53:25.643354 'PWD\r\n' 14:53:25.643458 Received DATA (on stdin) 14:53:25.643471 > 30 bytes data, server => client 14:53:25.643483 '257 "/" is current directory\r\n' 14:53:25.643543 < 6 bytes data, client => server 14:53:25.643555 'EPSV\r\n' 14:53:25.647134 Received DATA (on stdin) 14:53:25.647153 > 38 bytes data, server => client 14:53:25.647165 '229 Entering Passive Mode (|||43145|)\n' 14:53:25.647356 < 8 bytes data, client => server 14:53:25.647373 'TYPE I\r\n' 14:53:25.647605 Received DATA (on stdin) 14:53:25.647618 > 33 bytes data, server => client 14:53:25.647630 '200 I modify TYPE as you wanted\r\n' 14:53:25.647684 < 21 bytes data, client => server 14:53:25.647698 'SIZE verifiedserver\r\n' 14:53:25.647813 Received DATA (on stdin) 14:53:25.647826 > 8 bytes data, server => client 14:53:25.647837 '213 17\r\n' 14:53:25.647887 < 21 bytes data, client => server 14:53:25.647899 'RETR verifiedserver\r\n' 14:53:25.648122 Received DATA (on stdin) 14:53:25.648136 > 29 bytes data, server => client 14:53:25.648148 '150 Binary junk (17 bytes).\r\n' 14:53:25.650069 Received DATA (on stdin) 14:53:25.650084 > 28 bytes data, server => client 14:53:25.650097 '226 File transfer complete\r\n' 14:53:25.689862 < 6 bytes data, client => server 14:53:25.689900 'QUIT\r\n' 14:53:25.690151 Received DATA (on stdin) 14:53:25.690165 > 18 bytes data, server => client 14:53:25.690178 '221 bye bye baby\r\n' 14:53:25.690849 ====> Client disconnect 14:53:25.691007 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.645554 Running IPv4 version 14:53:25.645648 Listening on port 43145 14:53:25.645688 Wrote pid 88946 to log/3/server/ftp_sockdata.pid 14:53:25.646840 Received PING (on stdin) 14:53:25.646956 Received PORT (on stdin) 14:53:25.647396 ====> Client connect 14:53:25.648175 Received DATA (on stdin) 14:53:25.648190 > 17 bytes data, server => client 14:53:25.648202 'WE ROOLZ: 80281\r\n' 14:53:25.648227 Received DISC (on stdin) 14:53:25.648239 ====> Client forcibly disconnected 14:53:25.649748 Received QUIT (on stdin) 14:53:25.649762 quits 14:53:25.649825 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 500 command not understood Testnum 235 === End of file server.cmd === Start of file upload235 this is the *****crap******** that we're gonna upload worx? === End of file upload235 === Start of file valgrind235 ==88967== ==88967== Process terminating with default action of signal 4 (SIGILL) ==88967== Illegal opcode at address 0x4014B6F ==88967== at 0x401CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind236 ../src/curl -q --output log/10/curl236.out --include --trace-ascii log/10/trace236 --trace-time ftp://127.0.0.1:42691/236 -T log/10/file236.txt -C - > log/10/stdout236 2> log/10/stderr236 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind237 ../src/curl -q --output log/23/curl237.out --include --trace-ascii log/23/trace237 --trace-time ftp://127.0.0.1:39001/237 --disable-epsv > log/23/stdout237 2> log/23/stderr237 4B6F: getparameter (tool_getparam.c:2830) ==88967== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88967== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88967== by 0x4004266: main (tool_main.c:199) === End of file valgrind235 test 0236...[FTP resume upload but denied access to remote file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind236 ../src/curl -q --output log/10/curl236.out --include --trace-ascii log/10/trace236 --trace-time ftp://127.0.0.1:42691/236 -T log/10/file236.txt -C - > log/10/stdout236 2> log/10/stderr236 236: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind236 ../src/curl -q --output log/10/curl236.out --include --trace-ascii log/10/trace236 --trace-time ftp://127.0.0.1:42691/236 -T log/10/file236.txt -C - > log/10/stdout236 2> log/10/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 14:53:25.581210 ====> Client connect 14:53:25.581373 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.581670 < "USER anonymous" 14:53:25.581706 > "331 We are happy you popped in![CR][LF]" 14:53:25.581891 < "PASS ftp@example.com" 14:53:25.581918 > "230 Welcome you silly person[CR][LF]" 14:53:25.582156 < "PWD" 14:53:25.582198 > "257 "/" is current directory[CR][LF]" 14:53:25.582385 < "EPSV" 14:53:25.582411 ====> Passive DATA channel requested by client 14:53:25.582426 DATA sockfilt for passive data channel starting... 14:53:25.584256 DATA sockfilt for passive data channel started (pid 88961) 14:53:25.584368 DATA sockfilt for passive data channel listens on port 37407 14:53:25.584409 > "229 Entering Passive Mode (|||37407|)[LF]" 14:53:25.584428 Client has been notified that DATA conn will be accepted on port 37407 14:53:25.584626 Client connects to port 37407 14:53:25.584656 ====> Client established passive DATA connection on port 37407 14:53:25.584773 < "TYPE I" 14:53:25.584801 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.584963 < "SIZE verifiedserver" 14:53:25.584998 > "213 17[CR][LF]" 14:53:25.585153 < "RETR verifiedserver" 14:53:25.585185 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.585268 =====> Closing passive DATA connection... 14:53:25.585285 Server disconnects passive DATA connection 14:53:25.585529 Server disconnected passive DATA connection 14:53:25.585557 DATA sockfilt for passive data channel quits (pid 88961) 14:53:25.585758 DATA sockfilt for passive data channel quit (pid 88961) 14:53:25.585783 =====> Closed passive DATA connection 14:53:25.585810 > "226 File transfer complete[CR][LF]" 14:53:25.630457 < "QUIT" 14:53:25.630509 > "221 bye bye baby[CR][LF]" 14:53:25.631481 MAIN sockfilt said DISC 14:53:25.631510 ====> Client disconnected 14:53:25.631573 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.663897 ====> Client connect 14:53:25.664206 Received DATA (on stdin) 14:53:25.664222 > 160 bytes data, server => client 14:53:25.664236 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.664249 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.664261 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.664338 < 16 bytes data, client => server 14:53:25.664352 'USER anonymous\r\n' 14:53:25.664528 Received DATA (on stdin) 14:53:25.664542 > 33 bytes data, server => client 14:53:25.664554 '331 We are happy you popped in!\r\n' 14:53:25.664611 < 22 bytes data, client => server 14:53:25.664627 'PASS ftp@example.com\r\n' 14:53:25.664736 Received DATA (on stdin) 14:53:25.664749 > 30 bytes data, server => client 14:53:25.664761 '230 Welcome you silly person\r\n' 14:53:25.664809 < 5 bytes data, client => server 14:53:25.664821 'PWD\r\n' 14:53:25.665018 Received DATA (on stdin) 14:53:25.665033 > 30 bytes data, server => client 14:53:25.665046 '257 "/" is current directory\r\n' 14:53:25.665113 < 6 bytes data, client => server 14:53:25.665127 'EPSV\r\n' 14:53:25.667253 Received DATA (on stdin) 14:53:25.667267 > 38 bytes data, server => client 14:53:25.667280 '229 Entering Passive Mode (|||37407|)\n' 14:53:25.667490 < 8 bytes data, client => server 14:53:25.667504 'TYPE I\r\n' 14:53:25.667620 Received DATA (on stdin) 14:53:25.667633 > 33 bytes data, server => client 14:53:25.667645 '200 I modify TYPE as you wanted\r\n' 14:53:25.667696 < 21 bytes data, client => server 14:53:25.667709 'SIZE verifiedserver\r\n' 14:53:25.667815 Received DATA (on stdin) 14:53:25.667828 > 8 bytes data, server => client 14:53:25.667839 '213 17\r\n' 14:53:25.667888 < 21 bytes data, client => server 14:53:25.667901 'RETR verifiedserver\r\n' 14:53:25.668106 Received DATA (on stdin) 14:53:25.668120 > 29 bytes data, server => client 14:53:25.668132 '150 Binary junk (17 bytes).\r\n' 14:53:25.668630 Received DATA (on stdin) 14:53:25.668645 > 28 bytes data, server => client 14:53:25.668657 '226 File transfer complete\r\n' 14:53:25.713111 < 6 bytes data, client => server 14:53:25.713136 'QUIT\r\n' 14:53:25.713332 Received DATA (on stdin) 14:53:25.713346 > 18 bytes data, server => client 14:53:25.713359 '221 bye bye baby\r\n' 14:53:25.714249 ====> Client disconnect 14:53:25.714393 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.666772 Running IPv4 version 14:53:25.666825 Listening on port 37407 14:53:25.666860 Wrote pid 88961 to log/10/server/ftp_sockdata.pid 14:53:25.667015 Received PING (on stdin) 14:53:25.667101 Received PORT (on stdin) 14:53:25.667393 ====> Client connect 14:53:25.668157 Received DATA (on stdin) 14:53:25.668173 > 17 bytes data, server => client 14:53:25.668185 'WE ROOLZ: 80280\r\n' 14:53:25.668209 Received DISC (on stdin) 14:53:25.668222 ====> Client forcibly disconnected 14:53:25.668383 Received QUIT (on stdin) 14:53:25.668395 quits 14:53:25.668453 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 access to this file is very much denied REPLY APPE 550 I said: access to this file is very much denied REPLY STOR 550 I said: access to this file is very much denied REPLY SIZE 500 command not understood Testnum 236 === End of file server.cmd === Start of file valgrind236 ==88983== ==88983== Process terminating with default action of signal 4 (SIGILL) ==88983== Illegal opcode at address 0x4014B6F ==88983== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==88983== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==88983== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==88983== by 0x4004266: main (tool_main.c:199) === End of file valgrind236 test 0237...[FTP getting bad host in 227-response to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind237 ../src/curl -q --output log/23/curl237.out --include --trace-ascii log/23/trace237 --trace-time ftp://127.0.0.1:39001/237 --disable-epsv > log/23/stdout237 2> log/23/stderr237 237: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind237 ../src/cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:36903/238 > log/20/stdout238 2> log/20/stderr238 url -q --output log/23/curl237.out --include --trace-ascii log/23/trace237 --trace-time ftp://127.0.0.1:39001/237 --disable-epsv > log/23/stdout237 2> log/23/stderr237 === End of file commands.log === Start of file ftp_server.log 14:53:25.685252 ====> Client connect 14:53:25.685471 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.685839 < "USER anonymous" 14:53:25.685876 > "331 We are happy you popped in![CR][LF]" 14:53:25.686440 < "PASS ftp@example.com" 14:53:25.686474 > "230 Welcome you silly person[CR][LF]" 14:53:25.687345 < "PWD" 14:53:25.687379 > "257 "/" is current directory[CR][LF]" 14:53:25.687772 < "EPSV" 14:53:25.687798 ====> Passive DATA channel requested by client 14:53:25.687812 DATA sockfilt for passive data channel starting... 14:53:25.690695 DATA sockfilt for passive data channel started (pid 89046) 14:53:25.690831 DATA sockfilt for passive data channel listens on port 41699 14:53:25.690877 > "229 Entering Passive Mode (|||41699|)[LF]" 14:53:25.690897 Client has been notified that DATA conn will be accepted on port 41699 14:53:25.691580 Client connects to port 41699 14:53:25.691614 ====> Client established passive DATA connection on port 41699 14:53:25.691704 < "TYPE I" 14:53:25.691739 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.691908 < "SIZE verifiedserver" 14:53:25.691943 > "213 17[CR][LF]" 14:53:25.692101 < "RETR verifiedserver" 14:53:25.692133 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.692214 =====> Closing passive DATA connection... 14:53:25.692230 Server disconnects passive DATA connection 14:53:25.693602 Server disconnected passive DATA connection 14:53:25.693630 DATA sockfilt for passive data channel quits (pid 89046) 14:53:25.693899 DATA sockfilt for passive data channel quit (pid 89046) 14:53:25.693925 =====> Closed passive DATA connection 14:53:25.693952 > "226 File transfer complete[CR][LF]" 14:53:25.737260 < "QUIT" 14:53:25.737316 > "221 bye bye baby[CR][LF]" 14:53:25.738269 MAIN sockfilt said DISC 14:53:25.738298 ====> Client disconnected 14:53:25.738372 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.767932 ====> Client connect 14:53:25.768303 Received DATA (on stdin) 14:53:25.768319 > 160 bytes data, server => client 14:53:25.768333 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.768346 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.768357 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.768503 < 16 bytes data, client => server 14:53:25.768518 'USER anonymous\r\n' 14:53:25.768698 Received DATA (on stdin) 14:53:25.768711 > 33 bytes data, server => client 14:53:25.768727 '331 We are happy you popped in!\r\n' 14:53:25.768778 < 22 bytes data, client => server 14:53:25.768791 'PASS ftp@example.com\r\n' 14:53:25.769297 Received DATA (on stdin) 14:53:25.769313 > 30 bytes data, server => client 14:53:25.769325 '230 Welcome you silly person\r\n' 14:53:25.770062 < 5 bytes data, client => server 14:53:25.770081 'PWD\r\n' 14:53:25.770401 Received DATA (on stdin) 14:53:25.770420 > 30 bytes data, server => client 14:53:25.770433 '257 "/" is current directory\r\n' 14:53:25.770499 < 6 bytes data, client => server 14:53:25.770512 'EPSV\r\n' 14:53:25.773725 Received DATA (on stdin) 14:53:25.773746 > 38 bytes data, server => client 14:53:25.773759 '229 Entering Passive Mode (|||41699|)\n' 14:53:25.774341 < 8 bytes data, client => server 14:53:25.774355 'TYPE I\r\n' 14:53:25.774560 Received DATA (on stdin) 14:53:25.774573 > 33 bytes data, server => client 14:53:25.774586 '200 I modify TYPE as you wanted\r\n' 14:53:25.774641 < 21 bytes data, client => server 14:53:25.774654 'SIZE verifiedserver\r\n' 14:53:25.774761 Received DATA (on stdin) 14:53:25.774774 > 8 bytes data, server => client 14:53:25.774786 '213 17\r\n' 14:53:25.774834 < 21 bytes data, client => server 14:53:25.774847 'RETR verifiedserver\r\n' 14:53:25.776315 Received DATA (on stdin) 14:53:25.776358 > 29 bytes data, server => client 14:53:25.776370 '150 Binary junk (17 bytes).\r\n' 14:53:25.776773 Received DATA (on stdin) 14:53:25.776787 > 28 bytes data, server => client 14:53:25.776800 '226 File transfer complete\r\n' 14:53:25.819887 < 6 bytes data, client => server 14:53:25.819916 'QUIT\r\n' 14:53:25.820139 Received DATA (on stdin) 14:53:25.820153 > 18 bytes data, server => client 14:53:25.820165 '221 bye bye baby\r\n' 14:53:25.821037 ====> Client disconnect 14:53:25.821191 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.772859 Running IPv4 version 14:53:25.772949 Listening on port 41699 14:53:25.773121 Wrote pid 89046 to log/23/server/ftp_sockdata.pid 14:53:25.773441 Received PING (on stdin) 14:53:25.773552 Received PORT (on stdin) 14:53:25.774307 ====> Client connect 14:53:25.776209 Received DATA (on stdin) 14:53:25.776230 > 17 bytes data, server => client 14:53:25.776243 'WE ROOLZ: 80287\r\n' 14:53:25.776274 Received DISC (on stdin) 14:53:25.776287 ====> Client forcibly disconnected 14:53:25.776459 Received QUIT (on stdin) 14:53:25.776472 quits 14:53:25.776540 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASV 227 Entering Passive Mode (1216,256,2,127,127,127) Testnum 237 === End of file server.cmd === Start of file valgrind237 ==89088== ==89088== Process terminating with default action of signal 4 (SIGILL) ==89088== Illegal opcode at address 0x4014B6F ==89088== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89088== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89088== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89088== by 0x4004266: main (tool_main.c:199) === End of file valgrind237 test 0238...[FTP getting bad port in response to EPSV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:36903/238 > log/20/stdout238 2> log/20/stderr238 238: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:36903/238 > log/20/stdout238 2> log/20/stderr238 === End of file commands.log === Start of file ftp_server.log 14:53:25.815949 ====> Client connect 14:53:25.816150 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.816489 < "USER anonymous" 14:53:25.816531 > "331 We are happy you popped in![CR][LF]" 14:53:25.816717 < "PASS ftp@example.com" 14:53:25.816746 > "230 Welcome you silly person[CR][LF]" 14:53:25.816955 < "PWD" 14:53:25.816984 > "257 "/" is current directory[CR][LF]" 14:53:25.817166 < "EPSV" 14:53:25.817191 ====> Passive DATA channel requested by client 14:53:25.817205 DATA sockfilt for passive data channel starting... 14:53:25.820616 DATA sockfilt for passive data channel started (pid 89157) 14:53:25.820760 DATA sockfilt for passive data channel listens on port 34081 14:53:25.820809 > "229 Entering Passive Mode (|||34081|)[LF]" 14:53:25.820828 Client has been notified that DATA conn will be accepted on port 34081 14:53:25.821153 Client connects to port 34081 14:53:25.821187 ====> Client established passive DATA connection on port 34081 14:53:25.821301 < "TYPE I" 14:53:25.8CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind239 ../src/curl -q --output log/13/curl239.out --include --trace-ascii log/13/trace239 --trace-time http://127.0.0.1:41533/239 --proxy http://127.0.0.1:41533 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/13/stdout239 2> log/13/stderr239 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind243 ../src/curl -q --output log/6/curl243.out --include --trace-ascii log/6/trace243 --trace-time http://127.0.0.1:38791/243 --proxy http://127.0.0.1:38791 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/6/stdout243 2> log/6/stderr243 21342 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.821505 < "SIZE verifiedserver" 14:53:25.821541 > "213 17[CR][LF]" 14:53:25.821696 < "RETR verifiedserver" 14:53:25.821728 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.821810 =====> Closing passive DATA connection... 14:53:25.821827 Server disconnects passive DATA connection 14:53:25.822076 Server disconnected passive DATA connection 14:53:25.822105 DATA sockfilt for passive data channel quits (pid 89157) 14:53:25.822347 DATA sockfilt for passive data channel quit (pid 89157) 14:53:25.822370 =====> Closed passive DATA connection 14:53:25.822399 > "226 File transfer complete[CR][LF]" 14:53:25.864197 < "QUIT" 14:53:25.864242 > "221 bye bye baby[CR][LF]" 14:53:25.864696 MAIN sockfilt said DISC 14:53:25.864775 ====> Client disconnected 14:53:25.864867 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.898613 ====> Client connect 14:53:25.898991 Received DATA (on stdin) 14:53:25.899012 > 160 bytes data, server => client 14:53:25.899029 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.899043 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.899055 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.899148 < 16 bytes data, client => server 14:53:25.899163 'USER anonymous\r\n' 14:53:25.899338 Received DATA (on stdin) 14:53:25.899361 > 33 bytes data, server => client 14:53:25.899374 '331 We are happy you popped in!\r\n' 14:53:25.899437 < 22 bytes data, client => server 14:53:25.899450 'PASS ftp@example.com\r\n' 14:53:25.899565 Received DATA (on stdin) 14:53:25.899577 > 30 bytes data, server => client 14:53:25.899589 '230 Welcome you silly person\r\n' 14:53:25.899638 < 5 bytes data, client => server 14:53:25.899649 'PWD\r\n' 14:53:25.899806 Received DATA (on stdin) 14:53:25.899819 > 30 bytes data, server => client 14:53:25.899831 '257 "/" is current directory\r\n' 14:53:25.899892 < 6 bytes data, client => server 14:53:25.899906 'EPSV\r\n' 14:53:25.903656 Received DATA (on stdin) 14:53:25.903675 > 38 bytes data, server => client 14:53:25.903690 '229 Entering Passive Mode (|||34081|)\n' 14:53:25.903916 < 8 bytes data, client => server 14:53:25.903930 'TYPE I\r\n' 14:53:25.904163 Received DATA (on stdin) 14:53:25.904176 > 33 bytes data, server => client 14:53:25.904187 '200 I modify TYPE as you wanted\r\n' 14:53:25.904239 < 21 bytes data, client => server 14:53:25.904251 'SIZE verifiedserver\r\n' 14:53:25.904359 Received DATA (on stdin) 14:53:25.904371 > 8 bytes data, server => client 14:53:25.904383 '213 17\r\n' 14:53:25.904429 < 21 bytes data, client => server 14:53:25.904445 'RETR verifiedserver\r\n' 14:53:25.904647 Received DATA (on stdin) 14:53:25.904660 > 29 bytes data, server => client 14:53:25.904672 '150 Binary junk (17 bytes).\r\n' 14:53:25.905219 Received DATA (on stdin) 14:53:25.905233 > 28 bytes data, server => client 14:53:25.905244 '226 File transfer complete\r\n' 14:53:25.946858 < 6 bytes data, client => server 14:53:25.946884 'QUIT\r\n' 14:53:25.947243 Received DATA (on stdin) 14:53:25.947259 > 18 bytes data, server => client 14:53:25.947271 '221 bye bye baby\r\n' 14:53:25.947444 ====> Client disconnect 14:53:25.947696 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.903221 Running IPv4 version 14:53:25.903308 Listening on port 34081 14:53:25.903346 Wrote pid 89157 to log/20/server/ftp_sockdata.pid 14:53:25.903370 Received PING (on stdin) 14:53:25.903471 Received PORT (on stdin) 14:53:25.903884 ====> Client connect 14:53:25.904698 Received DATA (on stdin) 14:53:25.904712 > 17 bytes data, server => client 14:53:25.904723 'WE ROOLZ: 80341\r\n' 14:53:25.904748 Received DISC (on stdin) 14:53:25.904760 ====> Client forcibly disconnected 14:53:25.904933 Received QUIT (on stdin) 14:53:25.904946 quits 14:53:25.905014 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 229 Entering Passive Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==89195== ==89195== Process terminating with default action of signal 4 (SIGILL) ==89195== Illegal opcode at address 0x4014B6F ==89195== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89195== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89195== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89195== by 0x4004266: main (tool_main.c:199) === End of file valgrind238 test 0239...[HTTP proxy-auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind239 ../src/curl -q --output log/13/curl239.out --include --trace-ascii log/13/trace239 --trace-time http://127.0.0.1:41533/239 --proxy http://127.0.0.1:41533 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/13/stdout239 2> log/13/stderr239 239: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 239 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind239 ../src/curl -q --output log/13/curl239.out --include --trace-ascii log/13/trace239 --trace-time http://127.0.0.1:41533/239 --proxy http://127.0.0.1:41533 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/13/stdout239 2> log/13/stderr239 === End of file commands.log === Start of file http_server.log 14:53:25.937584 ====> Client connect 14:53:25.937619 accept_connection 3 returned 4 14:53:25.937636 accept_connection 3 returned 0 14:53:25.937652 Read 93 bytes 14:53:25.937663 Process 93 bytes request 14:53:25.937677 Got request: GET /verifiedserver HTTP/1.1 14:53:25.937687 Are-we-friendly question received 14:53:25.937715 Wrote request (93 bytes) input to log/13/server.input 14:53:25.937732 Identifying ourselves as friends 14:53:25.937787 Response sent (56 bytes) and written to log/13/server.response 14:53:25.937798 special request received, no persistency 14:53:25.937808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind239 ==89184== ==89184== Process terminating with default action of signal 4 (SIGILL) ==89184== Illegal opcode at address 0x4014B6F ==89184== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89184== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89184== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89184== by 0x4004266: main (tool_main.c:199) === End of file valgrind239 test 0243...[HTTP POST with --proxy-anyauth, picking NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind243 ../src/curl -q --output log/6/curl243.out --include --trace-ascii log/6/trace243 --trace-time http://127.0.0.1:38791/243 --proxy http://127.0.0.1:38791 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/6/stdout243 2> log/6/stderr243 243: protocol FAILED! There was no content at all in the file log/6/serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind245 ../src/curl -q --output log/1/curl245.out --include --trace-ascii log/1/trace245 --trace-time http://127.0.0.1:44029/245 -u auser:apasswd --digest -d "junkelijunk" > log/1/stdout245 2> log/1/stderr245 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind246 ../src/curl -q --output log/11/curl246.out --include --trace-ascii log/11/trace246 --trace-time http://127.0.0.1:33503/246 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout246 2> log/11/stderr246 r.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind243 ../src/curl -q --output log/6/curl243.out --include --trace-ascii log/6/trace243 --trace-time http://127.0.0.1:38791/243 --proxy http://127.0.0.1:38791 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/6/stdout243 2> log/6/stderr243 === End of file commands.log === Start of file http_server.log 14:53:26.033618 ====> Client connect 14:53:26.033654 accept_connection 3 returned 4 14:53:26.033673 accept_connection 3 returned 0 14:53:26.033689 Read 93 bytes 14:53:26.033702 Process 93 bytes request 14:53:26.033718 Got request: GET /verifiedserver HTTP/1.1 14:53:26.033729 Are-we-friendly question received 14:53:26.033754 Wrote request (93 bytes) input to log/6/server.input 14:53:26.033772 Identifying ourselves as friends 14:53:26.033827 Response sent (56 bytes) and written to log/6/server.response 14:53:26.033838 special request received, no persistency 14:53:26.034904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 243 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind243 ==89350== ==89350== Process terminating with default action of signal 4 (SIGILL) ==89350== Illegal opcode at address 0x4014B6F ==89350== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89350== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89350== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89350== by 0x4004266: main (tool_main.c:199) === End of file valgrind243 test 0245...[HTTP POST --digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind245 ../src/curl -q --output log/1/curl245.out --include --trace-ascii log/1/trace245 --trace-time http://127.0.0.1:44029/245 -u auser:apasswd --digest -d "junkelijunk" > log/1/stdout245 2> log/1/stderr245 245: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind245 ../src/curl -q --output log/1/curl245.out --include --trace-ascii log/1/trace245 --trace-time http://127.0.0.1:44029/245 -u auser:apasswd --digest -d "junkelijunk" > log/1/stdout245 2> log/1/stderr245 === End of file commands.log === Start of file http_server.log 14:53:26.046979 ====> Client connect 14:53:26.047015 accept_connection 3 returned 4 14:53:26.047034 accept_connection 3 returned 0 14:53:26.047051 Read 93 bytes 14:53:26.047063 Process 93 bytes request 14:53:26.047079 Got request: GET /verifiedserver HTTP/1.1 14:53:26.047091 Are-we-friendly question received 14:53:26.047122 Wrote request (93 bytes) input to log/1/server.input 14:53:26.047141 Identifying ourselves as friends 14:53:26.047202 Response sent (56 bytes) and written to log/1/server.response 14:53:26.047215 special request received, no persistency 14:53:26.047226 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind245 ==89385== ==89385== Process terminating with default action of signal 4 (SIGILL) ==89385== Illegal opcode at address 0x4014B6F ==89385== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89385== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89385== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89385== by 0x4004266: main (tool_main.c:199) === End of file valgrind245 test 0246...[HTTP POST --digest with server doing a 100 before 401 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind246 ../src/curl -q --output log/11/curl246.out --include --trace-ascii log/11/trace246 --trace-time http://127.0.0.1:33503/246 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout246 2> log/11/stderr246 246: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind246 ../src/curl -q --output log/11/curl246.out --include --trace-ascii log/11/trace246 --trace-time http://127.0.0.1:33503/246 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout246 2> log/11/stderr246 === End of file commands.log === Start of file http_server.log 14:53:26.057855 ====> Client connect 14:53:26.057899 accept_connection 3 returned 4 14:53:26.057916 accept_connection 3 returned 0 14:53:26.057932 Read 93 bytes 14:53:26.057943 Process 93 bytes request 14:53:26.057958 Got request: GET /verifiedserver HTTP/1.1 14:53:26.057968 Are-we-friendly question received 14:53:26.057995 Wrote request (93 bytes) input to log/11/server.input 14:53:26.058014 Identifying ourselves as friends 14:53:26.058082 Response sent (56 bytes) and written to log/11/server.response 14:53:26.058096 special request received, no persistency 14:53:26.058106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind246 ==89414== ==89414== Process terminating with default action of signal 4 (SIGILL) ==89414== Illegal opcode at address 0x4014B6F ==89414== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89414== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind244 ../src/curl -q --output log/12/curl244.out --include --trace-ascii log/12/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38141/fir%23t/th%69rd/244/ > log/12/stdout244 2> log/12/stderr244 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind247 ../src/curl -q --output log/2/curl247.out --include --trace-ascii log/2/trace247 --trace-time ftp://127.0.0.1:45597/247 -T log/2/test247.txt -z "apr 1 2005 08:00:00" > log/2/stdout247 2> log/2/stderr247 89414== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89414== by 0x4004266: main (tool_main.c:199) === End of file valgrind246 test 0244...[FTP dir listing with nocwd and URL encoded path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind244 ../src/curl -q --output log/12/curl244.out --include --trace-ascii log/12/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38141/fir%23t/th%69rd/244/ > log/12/stdout244 2> log/12/stderr244 244: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 244 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind244 ../src/curl -q --output log/12/curl244.out --include --trace-ascii log/12/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38141/fir%23t/th%69rd/244/ > log/12/stdout244 2> log/12/stderr244 === End of file commands.log === Start of file ftp_server.log 14:53:25.957045 ====> Client connect 14:53:25.957221 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.957558 < "USER anonymous" 14:53:25.957596 > "331 We are happy you popped in![CR][LF]" 14:53:25.957770 < "PASS ftp@example.com" 14:53:25.957798 > "230 Welcome you silly person[CR][LF]" 14:53:25.957955 < "PWD" 14:53:25.957984 > "257 "/" is current directory[CR][LF]" 14:53:25.958151 < "EPSV" 14:53:25.958175 ====> Passive DATA channel requested by client 14:53:25.958189 DATA sockfilt for passive data channel starting... 14:53:25.959976 DATA sockfilt for passive data channel started (pid 89334) 14:53:25.960090 DATA sockfilt for passive data channel listens on port 36163 14:53:25.960126 > "229 Entering Passive Mode (|||36163|)[LF]" 14:53:25.960146 Client has been notified that DATA conn will be accepted on port 36163 14:53:25.960409 Client connects to port 36163 14:53:25.960438 ====> Client established passive DATA connection on port 36163 14:53:25.960508 < "TYPE I" 14:53:25.960535 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.960699 < "SIZE verifiedserver" 14:53:25.960735 > "213 17[CR][LF]" 14:53:25.960913 < "RETR verifiedserver" 14:53:25.960949 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.961045 =====> Closing passive DATA connection... 14:53:25.961064 Server disconnects passive DATA connection 14:53:25.961257 Server disconnected passive DATA connection 14:53:25.961289 DATA sockfilt for passive data channel quits (pid 89334) 14:53:25.961534 DATA sockfilt for passive data channel quit (pid 89334) 14:53:25.961560 =====> Closed passive DATA connection 14:53:25.961590 > "226 File transfer complete[CR][LF]" 14:53:26.004042 < "QUIT" 14:53:26.004100 > "221 bye bye baby[CR][LF]" 14:53:26.004932 MAIN sockfilt said DISC 14:53:26.004961 ====> Client disconnected 14:53:26.005039 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.039722 ====> Client connect 14:53:25.040050 Received DATA (on stdin) 14:53:25.040068 > 160 bytes data, server => client 14:53:25.040082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.040095 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.040107 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.040224 < 16 bytes data, client => server 14:53:25.040240 'USER anonymous\r\n' 14:53:25.040418 Received DATA (on stdin) 14:53:25.040431 > 33 bytes data, server => client 14:53:25.040444 '331 We are happy you popped in!\r\n' 14:53:25.040498 < 22 bytes data, client => server 14:53:25.040510 'PASS ftp@example.com\r\n' 14:53:25.040616 Received DATA (on stdin) 14:53:25.040629 > 30 bytes data, server => client 14:53:25.040641 '230 Welcome you silly person\r\n' 14:53:25.040689 < 5 bytes data, client => server 14:53:25.040701 'PWD\r\n' 14:53:25.040801 Received DATA (on stdin) 14:53:25.040814 > 30 bytes data, server => client 14:53:25.040826 '257 "/" is current directory\r\n' 14:53:25.040885 < 6 bytes data, client => server 14:53:25.040897 'EPSV\r\n' 14:53:25.042972 Received DATA (on stdin) 14:53:25.042987 > 38 bytes data, server => client 14:53:25.043006 '229 Entering Passive Mode (|||36163|)\n' 14:53:25.043143 < 8 bytes data, client => server 14:53:25.043158 'TYPE I\r\n' 14:53:25.043353 Received DATA (on stdin) 14:53:25.043366 > 33 bytes data, server => client 14:53:25.043378 '200 I modify TYPE as you wanted\r\n' 14:53:25.043427 < 21 bytes data, client => server 14:53:25.043440 'SIZE verifiedserver\r\n' 14:53:25.043557 Received DATA (on stdin) 14:53:25.043571 > 8 bytes data, server => client 14:53:25.043582 '213 17\r\n' 14:53:25.043635 < 21 bytes data, client => server 14:53:25.043650 'RETR verifiedserver\r\n' 14:53:25.043887 Received DATA (on stdin) 14:53:25.043902 > 29 bytes data, server => client 14:53:25.043914 '150 Binary junk (17 bytes).\r\n' 14:53:25.044411 Received DATA (on stdin) 14:53:25.044426 > 28 bytes data, server => client 14:53:25.044438 '226 File transfer complete\r\n' 14:53:25.086661 < 6 bytes data, client => server 14:53:25.086694 'QUIT\r\n' 14:53:25.086924 Received DATA (on stdin) 14:53:25.086937 > 18 bytes data, server => client 14:53:25.086949 '221 bye bye baby\r\n' 14:53:25.087700 ====> Client disconnect 14:53:25.087857 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.042624 Running IPv4 version 14:53:25.042677 Listening on port 36163 14:53:25.042714 Wrote pid 89334 to log/12/server/ftp_sockdata.pid 14:53:25.042733 Received PING (on stdin) 14:53:25.042824 Received PORT (on stdin) 14:53:25.043179 ====> Client connect 14:53:25.043943 Received DATA (on stdin) 14:53:25.043958 > 17 bytes data, server => client 14:53:25.043970 'WE ROOLZ: 80195\r\n' 14:53:25.043995 Received DISC (on stdin) 14:53:25.044009 ====> Client forcibly disconnected 14:53:25.044120 Received QUIT (on stdin) 14:53:25.044134 quits 14:53:25.044188 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==89486== ==89486== Process terminating with default action of signal 4 (SIGILL) ==89486== Illegal opcode at address 0x4014B6F ==89486== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89486== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89486== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89486== by 0x4004266: main (tool_main.c:199) === End of file valgrind244 test 0247...[FTP upload time condition evaluates TRUE => skip upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind247 ../src/curl -q --output log/2/curl247.out --include --trace-ascii log/2/trace247 --trace-time ftp://127.0.0.1:45597/247 -T log/2/test247.txt -z "apr 1 2005 08:00:00" > log/2/stdout247 2> log/2/stderr247 247: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind247 ../src/curl -q --output log/2/curl247.out --include --trace-ascii log/2/trace247 --trace-time ftp://127.0.0.1:45597/247 -T log/2/test247.txt -z "apr 1 2005 08:00:00" > log/2/stdout247 2> log/2/stderr247 === End of file commands.log === Start of file ftp_server.log 14:53:25.984241 ====> Client connect 14:53:25.984403 > "220- _ _ ____ _ [CR][LF]220CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind248 ../src/curl -q --output log/16/curl248.out --include --trace-ascii log/16/trace248 --trace-time ftp://127.0.0.1:32915/248 -T log/16/test248.txt -z "apr 1 2005 08:00:00" > log/16/stdout248 2> log/16/stderr248 - ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:25.984684 < "USER anonymous" 14:53:25.984719 > "331 We are happy you popped in![CR][LF]" 14:53:25.984881 < "PASS ftp@example.com" 14:53:25.984904 > "230 Welcome you silly person[CR][LF]" 14:53:25.985056 < "PWD" 14:53:25.985084 > "257 "/" is current directory[CR][LF]" 14:53:25.985242 < "EPSV" 14:53:25.985266 ====> Passive DATA channel requested by client 14:53:25.985279 DATA sockfilt for passive data channel starting... 14:53:25.986959 DATA sockfilt for passive data channel started (pid 89400) 14:53:25.987065 DATA sockfilt for passive data channel listens on port 41801 14:53:25.987100 > "229 Entering Passive Mode (|||41801|)[LF]" 14:53:25.987119 Client has been notified that DATA conn will be accepted on port 41801 14:53:25.987356 Client connects to port 41801 14:53:25.987383 ====> Client established passive DATA connection on port 41801 14:53:25.987452 < "TYPE I" 14:53:25.987478 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:25.987629 < "SIZE verifiedserver" 14:53:25.987664 > "213 17[CR][LF]" 14:53:25.987807 < "RETR verifiedserver" 14:53:25.987835 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:25.987911 =====> Closing passive DATA connection... 14:53:25.987928 Server disconnects passive DATA connection 14:53:25.988155 Server disconnected passive DATA connection 14:53:25.988181 DATA sockfilt for passive data channel quits (pid 89400) 14:53:25.988427 DATA sockfilt for passive data channel quit (pid 89400) 14:53:25.988449 =====> Closed passive DATA connection 14:53:25.988474 > "226 File transfer complete[CR][LF]" 14:53:26.031194 < "QUIT" 14:53:26.031261 > "221 bye bye baby[CR][LF]" 14:53:26.032249 MAIN sockfilt said DISC 14:53:26.032287 ====> Client disconnected 14:53:26.032370 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.066945 ====> Client connect 14:53:25.067233 Received DATA (on stdin) 14:53:25.067249 > 160 bytes data, server => client 14:53:25.067263 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.067275 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.067286 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.067362 < 16 bytes data, client => server 14:53:25.067375 'USER anonymous\r\n' 14:53:25.067541 Received DATA (on stdin) 14:53:25.067554 > 33 bytes data, server => client 14:53:25.067566 '331 We are happy you popped in!\r\n' 14:53:25.067615 < 22 bytes data, client => server 14:53:25.067627 'PASS ftp@example.com\r\n' 14:53:25.067722 Received DATA (on stdin) 14:53:25.067738 > 30 bytes data, server => client 14:53:25.067750 '230 Welcome you silly person\r\n' 14:53:25.067795 < 5 bytes data, client => server 14:53:25.067807 'PWD\r\n' 14:53:25.067900 Received DATA (on stdin) 14:53:25.067912 > 30 bytes data, server => client 14:53:25.067925 '257 "/" is current directory\r\n' 14:53:25.067981 < 6 bytes data, client => server 14:53:25.067993 'EPSV\r\n' 14:53:25.069941 Received DATA (on stdin) 14:53:25.069956 > 38 bytes data, server => client 14:53:25.069967 '229 Entering Passive Mode (|||41801|)\n' 14:53:25.070120 < 8 bytes data, client => server 14:53:25.070131 'TYPE I\r\n' 14:53:25.070296 Received DATA (on stdin) 14:53:25.070308 > 33 bytes data, server => client 14:53:25.070320 '200 I modify TYPE as you wanted\r\n' 14:53:25.070367 < 21 bytes data, client => server 14:53:25.070378 'SIZE verifiedserver\r\n' 14:53:25.070479 Received DATA (on stdin) 14:53:25.070491 > 8 bytes data, server => client 14:53:25.070501 '213 17\r\n' 14:53:25.070546 < 21 bytes data, client => server 14:53:25.070559 'RETR verifiedserver\r\n' 14:53:25.070745 Received DATA (on stdin) 14:53:25.070757 > 29 bytes data, server => client 14:53:25.070768 '150 Binary junk (17 bytes).\r\n' 14:53:25.071292 Received DATA (on stdin) 14:53:25.071306 > 28 bytes data, server => client 14:53:25.071318 '226 File transfer complete\r\n' 14:53:25.113799 < 6 bytes data, client => server 14:53:25.113834 'QUIT\r\n' 14:53:25.114095 Received DATA (on stdin) 14:53:25.114112 > 18 bytes data, server => client 14:53:25.114125 '221 bye bye baby\r\n' 14:53:25.115012 ====> Client disconnect 14:53:25.115100 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:25.069590 Running IPv4 version 14:53:25.069647 Listening on port 41801 14:53:25.069699 Wrote pid 89400 to log/2/server/ftp_sockdata.pid 14:53:25.069720 Received PING (on stdin) 14:53:25.069802 Received PORT (on stdin) 14:53:25.070091 ====> Client connect 14:53:25.070792 Received DATA (on stdin) 14:53:25.070806 > 17 bytes data, server => client 14:53:25.070817 'WE ROOLZ: 80219\r\n' 14:53:25.070840 Received DISC (on stdin) 14:53:25.070851 ====> Client forcibly disconnected 14:53:25.071006 Received QUIT (on stdin) 14:53:25.071018 quits 14:53:25.071081 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 247 === End of file server.cmd === Start of file test247.txt data to see that FTP works so does it? === End of file test247.txt === Start of file valgrind247 ==89548== ==89548== Process terminating with default action of signal 4 (SIGILL) ==89548== Illegal opcode at address 0x4014B6F ==89548== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89548== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89548== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89548== by 0x4004266: main (tool_main.c:199) === End of file valgrind247 test 0248...[FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind248 ../src/curl -q --output log/16/curl248.out --include --trace-ascii log/16/trace248 --trace-time ftp://127.0.0.1:32915/248 -T log/16/test248.txt -z "apr 1 2005 08:00:00" > log/16/stdout248 2> log/16/stderr248 248: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind248 ../src/curl -q --output log/16/curl248.out --include --trace-ascii log/16/trace248 --trace-time ftp://127.0.0.1:32915/248 -T log/16/test248.txt -z "apr 1 2005 08:00:00" > log/16/stdout248 2> log/16/stderr248 === End of file commands.log === Start of file ftp_server.log 14:53:26.093219 ====> Client connect 14:53:26.093387 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:26.093699 < "USER anonymous" 14:53:26.093739 > "331 We are happy you popped in![CR][LF]" 14:53:26.093931 < "PASS ftp@example.com" 14:53:26.093958 > "230 Welcome you silly person[CR][LF]" 14:53:26.094137 < "PWD" 14:53:26.094172 > "257 "/" is current directory[CR][LF]" 14:53:26.094362 < "EPSV" 14:53:26.094388 ====> Passive DATA channel requested by client 14:53:26.094404 DATA sockfilt for passive data channel starting... 14:53:26.095948 DATA sockfilt for passive data channel started (pid 89638) 14:53:26.096066 DATA sockfilt for passive data channel listens on port 44745 14:53:26.096106 > "229 Entering Passive Mode (|||44745|)[LF]" 14:53:26.096129 Client has been notified that DATA conn will be accepted on port 44745 14:53:26.096375 Client connects to port 44745 14:53:26.096405 ====> Client established passive DATA connection on port 44745 14:53:26.096488 < "TYPE I" 14:53:26.096518 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:26.096697 < "SIZE verifiedserver" 14:53:26.096735 > "213 17[CR][LF]" 14:53:26.096924 < "RETR verifiedserver"CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind249 ../src/curl -q --output log/5/curl249.out --include --trace-ascii log/5/trace249 --trace-time http://127.0.0.1:46041/249 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout249 2> log/5/stderr249 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind250 ../src/curl -q --output log/7/curl250.out --include --trace log/7/trace250 --trace-time ftp://127.0.0.1:37495/ > log/7/stdout250 2> log/7/stderr250 14:53:26.096959 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:26.097050 =====> Closing passive DATA connection... 14:53:26.097071 Server disconnects passive DATA connection 14:53:26.097328 Server disconnected passive DATA connection 14:53:26.097357 DATA sockfilt for passive data channel quits (pid 89638) 14:53:26.097565 DATA sockfilt for passive data channel quit (pid 89638) 14:53:26.097591 =====> Closed passive DATA connection 14:53:26.097617 > "226 File transfer complete[CR][LF]" 14:53:26.143759 < "QUIT" 14:53:26.143820 > "221 bye bye baby[CR][LF]" 14:53:26.144782 MAIN sockfilt said DISC 14:53:26.144814 ====> Client disconnected 14:53:26.144895 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:26.175918 ====> Client connect 14:53:26.176221 Received DATA (on stdin) 14:53:26.176238 > 160 bytes data, server => client 14:53:26.176252 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:26.176265 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:26.176276 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:26.176364 < 16 bytes data, client => server 14:53:26.176381 'USER anonymous\r\n' 14:53:26.176564 Received DATA (on stdin) 14:53:26.176579 > 33 bytes data, server => client 14:53:26.176592 '331 We are happy you popped in!\r\n' 14:53:26.176649 < 22 bytes data, client => server 14:53:26.176665 'PASS ftp@example.com\r\n' 14:53:26.176780 Received DATA (on stdin) 14:53:26.176794 > 30 bytes data, server => client 14:53:26.176807 '230 Welcome you silly person\r\n' 14:53:26.176860 < 5 bytes data, client => server 14:53:26.176875 'PWD\r\n' 14:53:26.176993 Received DATA (on stdin) 14:53:26.177008 > 30 bytes data, server => client 14:53:26.177020 '257 "/" is current directory\r\n' 14:53:26.177083 < 6 bytes data, client => server 14:53:26.177099 'EPSV\r\n' 14:53:26.178959 Received DATA (on stdin) 14:53:26.178974 > 38 bytes data, server => client 14:53:26.178987 '229 Entering Passive Mode (|||44745|)\n' 14:53:26.179135 < 8 bytes data, client => server 14:53:26.179149 'TYPE I\r\n' 14:53:26.179341 Received DATA (on stdin) 14:53:26.179355 > 33 bytes data, server => client 14:53:26.179368 '200 I modify TYPE as you wanted\r\n' 14:53:26.179421 < 21 bytes data, client => server 14:53:26.179435 'SIZE verifiedserver\r\n' 14:53:26.179556 Received DATA (on stdin) 14:53:26.179569 > 8 bytes data, server => client 14:53:26.179581 '213 17\r\n' 14:53:26.179634 < 21 bytes data, client => server 14:53:26.179649 'RETR verifiedserver\r\n' 14:53:26.179893 Received DATA (on stdin) 14:53:26.179907 > 29 bytes data, server => client 14:53:26.179920 '150 Binary junk (17 bytes).\r\n' 14:53:26.180438 Received DATA (on stdin) 14:53:26.180452 > 28 bytes data, server => client 14:53:26.180465 '226 File transfer complete\r\n' 14:53:26.226362 < 6 bytes data, client => server 14:53:26.226402 'QUIT\r\n' 14:53:26.226651 Received DATA (on stdin) 14:53:26.226667 > 18 bytes data, server => client 14:53:26.226680 '221 bye bye baby\r\n' 14:53:26.227543 ====> Client disconnect 14:53:26.227725 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:26.178591 Running IPv4 version 14:53:26.178648 Listening on port 44745 14:53:26.178685 Wrote pid 89638 to log/16/server/ftp_sockdata.pid 14:53:26.178706 Received PING (on stdin) 14:53:26.178798 Received PORT (on stdin) 14:53:26.179104 ====> Client connect 14:53:26.179949 Received DATA (on stdin) 14:53:26.179964 > 17 bytes data, server => client 14:53:26.179976 'WE ROOLZ: 80177\r\n' 14:53:26.180002 Received DISC (on stdin) 14:53:26.180015 ====> Client forcibly disconnected 14:53:26.180186 Received QUIT (on stdin) 14:53:26.180200 quits 14:53:26.180256 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 248 === End of file server.cmd === Start of file test248.txt data to see that FTP works so does it? === End of file test248.txt === Start of file valgrind248 ==89648== ==89648== Process terminating with default action of signal 4 (SIGILL) ==89648== Illegal opcode at address 0x4014B6F ==89648== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89648== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89648== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89648== by 0x4004266: main (tool_main.c:199) === End of file valgrind248 test 0249...[HTTP 304 response with "illegal" Content-Length: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind249 ../src/curl -q --output log/5/curl249.out --include --trace-ascii log/5/trace249 --trace-time http://127.0.0.1:46041/249 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout249 2> log/5/stderr249 249: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind249 ../src/curl -q --output log/5/curl249.out --include --trace-ascii log/5/trace249 --trace-time http://127.0.0.1:46041/249 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout249 2> log/5/stderr249 === End of file commands.log === Start of file http_server.log 14:53:26.315008 ====> Client connect 14:53:26.315035 accept_connection 3 returned 4 14:53:26.315049 accept_connection 3 returned 0 14:53:26.315062 Read 93 bytes 14:53:26.315070 Process 93 bytes request 14:53:26.315082 Got request: GET /verifiedserver HTTP/1.1 14:53:26.315090 Are-we-friendly question received 14:53:26.315109 Wrote request (93 bytes) input to log/5/server.input 14:53:26.315124 Identifying ourselves as friends 14:53:26.315164 Response sent (56 bytes) and written to log/5/server.response 14:53:26.315173 special request received, no persistency 14:53:26.315180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 43674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind249 ==89735== ==89735== Process terminating with default action of signal 4 (SIGILL) ==89735== Illegal opcode at address 0x4014B6F ==89735== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89735== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89735== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89735== by 0x4004266: main (tool_main.c:199) === End of file valgrind249 test 0250...[FTP dir list PASV with slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind250 ../src/curl -q --output log/7/curl250.out --include --trace log/7/trace250 --trace-time ftp://127.0.0.1:37495/ > log/7/stdout250 2> log/7/stderr250 250: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-time ftp://127.0.0.1:37557/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind256 ../src/curl -q --include --trace-ascii log/15/trace256 --trace-time -x http://127.0.0.1:42107 http://127.0.0.1:42107/want/256 -C - --no-include -o log/15/fewl256.txt -U daniel:stenberg > log/15/stdout256 2> log/15/stderr256 algrind250 ../src/curl -q --output log/7/curl250.out --include --trace log/7/trace250 --trace-time ftp://127.0.0.1:37495/ > log/7/stdout250 2> log/7/stderr250 === End of file commands.log === Start of file ftp_server.log 14:53:26.245764 ====> Client connect 14:53:26.245918 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:26.246217 < "USER anonymous" 14:53:26.246258 > "331 We are happy you popped in![CR][LF]" 14:53:26.246445 < "PASS ftp@example.com" 14:53:26.246474 > "230 Welcome you silly person[CR][LF]" 14:53:26.246643 < "PWD" 14:53:26.246676 > "257 "/" is current directory[CR][LF]" 14:53:26.246855 < "EPSV" 14:53:26.247021 ====> Passive DATA channel requested by client 14:53:26.247046 DATA sockfilt for passive data channel starting... 14:53:26.248676 DATA sockfilt for passive data channel started (pid 89744) 14:53:26.248770 DATA sockfilt for passive data channel listens on port 37769 14:53:26.248802 > "229 Entering Passive Mode (|||37769|)[LF]" 14:53:26.248819 Client has been notified that DATA conn will be accepted on port 37769 14:53:26.248998 Client connects to port 37769 14:53:26.249023 ====> Client established passive DATA connection on port 37769 14:53:26.249129 < "TYPE I" 14:53:26.249154 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:26.249310 < "SIZE verifiedserver" 14:53:26.249342 > "213 17[CR][LF]" 14:53:26.249510 < "RETR verifiedserver" 14:53:26.249546 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:26.249625 =====> Closing passive DATA connection... 14:53:26.249643 Server disconnects passive DATA connection 14:53:26.249838 Server disconnected passive DATA connection 14:53:26.249866 DATA sockfilt for passive data channel quits (pid 89744) 14:53:26.250060 DATA sockfilt for passive data channel quit (pid 89744) 14:53:26.250086 =====> Closed passive DATA connection 14:53:26.250113 > "226 File transfer complete[CR][LF]" 14:53:26.297161 < "QUIT" 14:53:26.297209 > "221 bye bye baby[CR][LF]" 14:53:26.297429 MAIN sockfilt said DISC 14:53:26.297481 ====> Client disconnected 14:53:26.297562 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:25.328473 ====> Client connect 14:53:25.328752 Received DATA (on stdin) 14:53:25.328769 > 160 bytes data, server => client 14:53:25.328783 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:25.328795 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:25.328807 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:25.328883 < 16 bytes data, client => server 14:53:25.328899 'USER anonymous\r\n' 14:53:25.329084 Received DATA (on stdin) 14:53:25.329099 > 33 bytes data, server => client 14:53:25.329111 '331 We are happy you popped in!\r\n' 14:53:25.329166 < 22 bytes data, client => server 14:53:25.329181 'PASS ftp@example.com\r\n' 14:53:25.329294 Received DATA (on stdin) 14:53:25.329308 > 30 bytes data, server => client 14:53:25.329321 '230 Welcome you silly person\r\n' 14:53:25.329372 < 5 bytes data, client => server 14:53:25.329385 'PWD\r\n' 14:53:25.329495 Received DATA (on stdin) 14:53:25.329509 > 30 bytes data, server => client 14:53:25.329521 '257 "/" is current directory\r\n' 14:53:25.329582 < 6 bytes data, client => server 14:53:25.329597 'EPSV\r\n' 14:53:25.331640 Received DATA (on stdin) 14:53:25.331652 > 38 bytes data, server => client 14:53:25.331663 '229 Entering Passive Mode (|||37769|)\n' 14:53:25.331854 < 8 bytes data, client => server 14:53:25.331865 'TYPE I\r\n' 14:53:25.331972 Received DATA (on stdin) 14:53:25.331984 > 33 bytes data, server => client 14:53:25.331994 '200 I modify TYPE as you wanted\r\n' 14:53:25.332043 < 21 bytes data, client => server 14:53:25.332056 'SIZE verifiedserver\r\n' 14:53:25.332157 Received DATA (on stdin) 14:53:25.332170 > 8 bytes data, server => client 14:53:25.332181 '213 17\r\n' 14:53:25.332232 < 21 bytes data, client => server 14:53:25.332250 'RETR verifiedserver\r\n' 14:53:25.332463 Received DATA (on stdin) 14:53:25.332478 > 29 bytes data, server => client 14:53:25.332490 '150 Binary junk (17 bytes).\r\n' 14:53:25.332932 Received DATA (on stdin) 14:53:25.332946 > 28 bytes data, server => client 14:53:25.332958 '226 File transfer complete\r\n' 14:53:25.379814 < 6 bytes data, client => server 14:53:25.379841 'QUIT\r\n' 14:53:25.380031 Received DATA (on stdin) 14:53:25.380044 > 18 bytes data, server => client 14:53:25.380056 '221 bye bye baby\r\n' 14:53:25.380173 ====> Client disconnect 14:53:25.380389 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:26.331234 Running IPv4 version 14:53:26.331291 Listening on port 37769 14:53:26.331322 Wrote pid 89744 to log/7/server/ftp_sockdata.pid 14:53:26.331440 Received PING (on stdin) 14:53:26.331515 Received PORT (on stdin) 14:53:26.331767 ====> Client connect 14:53:26.332502 Received DATA (on stdin) 14:53:26.332524 > 17 bytes data, server => client 14:53:26.332537 'WE ROOLZ: 80245\r\n' 14:53:26.332568 Received DISC (on stdin) 14:53:26.332584 ====> Client forcibly disconnected 14:53:26.332691 Received QUIT (on stdin) 14:53:26.332703 quits 14:53:26.332752 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 250 === End of file server.cmd === Start of file valgrind250 ==89815== ==89815== Process terminating with default action of signal 4 (SIGILL) ==89815== Illegal opcode at address 0x4014B6F ==89815== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89815== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89815== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89815== by 0x4004266: main (tool_main.c:199) === End of file valgrind250 test 0251...[FTP dir list, PORT with specified IP and slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-time ftp://127.0.0.1:37557/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 251: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-time ftp://127.0.0.1:37557/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 === End of file commands.log === Start of file ftp_server.log 14:53:26.267351 ====> Client connect 14:53:26.267511 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:26.267800 < "USER anonymous" 14:53:26.267836 > "331 We are happy you popped in![CR][LF]" 14:53:26.268012 < "PASS ftp@example.com" 14:53:26.268038 > "230 Welcome you silly person[CR][LF]" 14:53:26.268193 < "PWD" 14:53:26.268220 > "257 "/" is current directory[CR][LF]" 14:53:26.268385 < "EPSV" 14:53:26.268409 ====> Passive DATA channel requested by client 14:53:26.268423 DATA sockfilt for passive data channel starting... 14:53:26.269957 DATA sockfilt for passive data channel started (pid 89788) 14:53:26.270073 DATA sockfilt for passive data channel listens on port 39323 14:53:26.270114 > "229 Entering Passive Mode (|||39323|)[LF]" 14:53:26.270132 Client has been notified that DATA conn will be accepted on port 39323 14:53:26.270310 Client connects to port 39323 14:53:26.270342 ====> Client established passive DATA connection on port 39323 14:53:26.270405 < "TYPE I" 14:53:26.270430 > "200 I modify TYPE as you wanted[CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind257 ../src/curl -q --output log/4/curl257.out --include --trace-ascii log/4/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39793 --netrc-optional --netrc-file log/4/netrc257 > log/4/stdout257 2> log/4/stderr257 CR][LF]" 14:53:26.270695 < "SIZE verifiedserver" 14:53:26.270732 > "213 17[CR][LF]" 14:53:26.270904 < "RETR verifiedserver" 14:53:26.270935 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:26.271024 =====> Closing passive DATA connection... 14:53:26.271044 Server disconnects passive DATA connection 14:53:26.271303 Server disconnected passive DATA connection 14:53:26.271330 DATA sockfilt for passive data channel quits (pid 89788) 14:53:26.271552 DATA sockfilt for passive data channel quit (pid 89788) 14:53:26.271577 =====> Closed passive DATA connection 14:53:26.271606 > "226 File transfer complete[CR][LF]" 14:53:26.319531 < "QUIT" 14:53:26.319589 > "221 bye bye baby[CR][LF]" 14:53:26.320370 MAIN sockfilt said DISC 14:53:26.320404 ====> Client disconnected 14:53:26.320474 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:26.350041 ====> Client connect 14:53:26.350341 Received DATA (on stdin) 14:53:26.350357 > 160 bytes data, server => client 14:53:26.350370 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:26.350383 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:26.350395 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:26.350474 < 16 bytes data, client => server 14:53:26.350487 'USER anonymous\r\n' 14:53:26.350656 Received DATA (on stdin) 14:53:26.350670 > 33 bytes data, server => client 14:53:26.350685 '331 We are happy you popped in!\r\n' 14:53:26.350739 < 22 bytes data, client => server 14:53:26.350751 'PASS ftp@example.com\r\n' 14:53:26.350855 Received DATA (on stdin) 14:53:26.350868 > 30 bytes data, server => client 14:53:26.350880 '230 Welcome you silly person\r\n' 14:53:26.350928 < 5 bytes data, client => server 14:53:26.350939 'PWD\r\n' 14:53:26.351037 Received DATA (on stdin) 14:53:26.351049 > 30 bytes data, server => client 14:53:26.351061 '257 "/" is current directory\r\n' 14:53:26.351117 < 6 bytes data, client => server 14:53:26.351130 'EPSV\r\n' 14:53:26.352951 Received DATA (on stdin) 14:53:26.352964 > 38 bytes data, server => client 14:53:26.352973 '229 Entering Passive Mode (|||39323|)\n' 14:53:26.353104 < 8 bytes data, client => server 14:53:26.353118 'TYPE I\r\n' 14:53:26.353227 Received DATA (on stdin) 14:53:26.353240 > 33 bytes data, server => client 14:53:26.353252 '200 I modify TYPE as you wanted\r\n' 14:53:26.353308 < 21 bytes data, client => server 14:53:26.353321 'SIZE verifiedserver\r\n' 14:53:26.353551 Received DATA (on stdin) 14:53:26.353564 > 8 bytes data, server => client 14:53:26.353576 '213 17\r\n' 14:53:26.353632 < 21 bytes data, client => server 14:53:26.353645 'RETR verifiedserver\r\n' 14:53:26.353866 Received DATA (on stdin) 14:53:26.353880 > 29 bytes data, server => client 14:53:26.353892 '150 Binary junk (17 bytes).\r\n' 14:53:26.354426 Received DATA (on stdin) 14:53:26.354440 > 28 bytes data, server => client 14:53:26.354452 '226 File transfer complete\r\n' 14:53:26.402208 < 6 bytes data, client => server 14:53:26.402247 'QUIT\r\n' 14:53:26.402418 Received DATA (on stdin) 14:53:26.402439 > 18 bytes data, server => client 14:53:26.402452 '221 bye bye baby\r\n' 14:53:26.403011 ====> Client disconnect 14:53:26.403296 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:26.352590 Running IPv4 version 14:53:26.352657 Listening on port 39323 14:53:26.352694 Wrote pid 89788 to log/8/server/ftp_sockdata.pid 14:53:26.352715 Received PING (on stdin) 14:53:26.352804 Received PORT (on stdin) 14:53:26.353078 ====> Client connect 14:53:26.353955 Received DATA (on stdin) 14:53:26.353972 > 17 bytes data, server => client 14:53:26.353983 'WE ROOLZ: 80267\r\n' 14:53:26.354006 Received DISC (on stdin) 14:53:26.354017 ====> Client forcibly disconnected 14:53:26.354155 Received QUIT (on stdin) 14:53:26.354167 quits 14:53:26.354228 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cmd === Start of file valgrind251 ==89859== ==89859== Process terminating with default action of signal 4 (SIGILL) ==89859== Illegal opcode at address 0x4014B6F ==89859== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89859== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89859== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89859== by 0x4004266: main (tool_main.c:199) === End of file valgrind251 test 0256...[HTTP resume request over proxy with auth without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind256 ../src/curl -q --include --trace-ascii log/15/trace256 --trace-time -x http://127.0.0.1:42107 http://127.0.0.1:42107/want/256 -C - --no-include -o log/15/fewl256.txt -U daniel:stenberg > log/15/stdout256 2> log/15/stderr256 256: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind256 ../src/curl -q --include --trace-ascii log/15/trace256 --trace-time -x http://127.0.0.1:42107 http://127.0.0.1:42107/want/256 -C - --no-include -o log/15/fewl256.txt -U daniel:stenberg > log/15/stdout256 2> log/15/stderr256 === End of file commands.log === Start of file fewl256.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl256.txt === Start of file http_server.log 14:53:26.403349 ====> Client connect 14:53:26.403375 accept_connection 3 returned 4 14:53:26.403389 accept_connection 3 returned 0 14:53:26.403405 Read 93 bytes 14:53:26.403414 Process 93 bytes request 14:53:26.403426 Got request: GET /verifiedserver HTTP/1.1 14:53:26.403434 Are-we-friendly question received 14:53:26.403454 Wrote request (93 bytes) input to log/15/server.input 14:53:26.403468 Identifying ourselves as friends 14:53:26.403510 Response sent (56 bytes) and written to log/15/server.response 14:53:26.403519 special request received, no persistency 14:53:26.403526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind256 ==89864== ==89864== Process terminating with default action of signal 4 (SIGILL) ==89864== Illegal opcode at address 0x4014B6F ==89864== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==89864== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==89864== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==89864== by 0x4004266: main (tool_main.c:199) === End of file valgrind256 test 0257...[HTTP Location: following with --netrc-optional] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind257 ../src/curl -q --output log/4/curl257.out --include --trace-ascii log/4/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39793 --netrc-optional --netrc-file log/4/netrc257 > log/4/stdout257 2> log/4/stderr257 257: protocol FAILED! There was no content at aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind258 ../src/curl -q --output log/21/curl258.out --include --trace-ascii log/21/trace258 --trace-time -x http://127.0.0.1:34037 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/21/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/21/stdout258 2> log/21/stderr258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii log/10/trace260 --trace-time "http://127.0.0.1:35893?260" > log/10/stdout260 2> log/10/stderr260 ll in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind257 ../src/curl -q --output log/4/curl257.out --include --trace-ascii log/4/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39793 --netrc-optional --netrc-file log/4/netrc257 > log/4/stdout257 2> log/4/stderr257 === End of file commands.log === Start of file http_server.log 14:53:26.533247 ====> Client connect 14:53:26.533291 accept_connection 3 returned 4 14:53:26.533308 accept_connection 3 returned 0 14:53:26.533323 Read 93 bytes 14:53:26.533334 Process 93 bytes request 14:53:26.533348 Got request: GET /verifiedserver HTTP/1.1 14:53:26.533359 Are-we-friendly question received 14:53:26.533382 Wrote request (93 bytes) input to log/4/server.input 14:53:26.533400 Identifying ourselves as friends 14:53:26.533451 Response sent (56 bytes) and written to log/4/server.response 14:53:26.533461 special request received, no persistency 14:53:26.533470 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file netrc257 machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 === End of file netrc257 === Start of file server.cmd Testnum 257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind257 ==90019== ==90019== Process terminating with default action of signal 4 (SIGILL) ==90019== Illegal opcode at address 0x4014B6F ==90019== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90019== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90019== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90019== by 0x4004266: main (tool_main.c:199) === End of file valgrind257 test 0258...[HTTP POST multipart without Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind258 ../src/curl -q --output log/21/curl258.out --include --trace-ascii log/21/trace258 --trace-time -x http://127.0.0.1:34037 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/21/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/21/stdout258 2> log/21/stderr258 258: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind258 ../src/curl -q --output log/21/curl258.out --include --trace-ascii log/21/trace258 --trace-time -x http://127.0.0.1:34037 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/21/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/21/stdout258 2> log/21/stderr258 === End of file commands.log === Start of file http_server.log 14:53:26.539480 ====> Client connect 14:53:26.539514 accept_connection 3 returned 4 14:53:26.539532 accept_connection 3 returned 0 14:53:26.539546 Read 93 bytes 14:53:26.539558 Process 93 bytes request 14:53:26.539570 Got request: GET /verifiedserver HTTP/1.1 14:53:26.539581 Are-we-friendly question received 14:53:26.539609 Wrote request (93 bytes) input to log/21/server.input 14:53:26.539628 Identifying ourselves as friends 14:53:26.539725 Response sent (56 bytes) and written to log/21/server.response 14:53:26.539737 special request received, no persistency 14:53:26.539747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file test258.txt foo- This is a moo- bar === End of file test258.txt === Start of file valgrind258 ==90035== ==90035== Process terminating with default action of signal 4 (SIGILL) ==90035== Illegal opcode at address 0x4014B6F ==90035== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90035== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90035== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90035== by 0x4004266: main (tool_main.c:199) === End of file valgrind258 test 0260...[HTTP GET URL without slash but with question mark] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii log/10/trace260 --trace-time "http://127.0.0.1:35893?260" > log/10/stdout260 2> log/10/stderr260 260: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii log/10/trace260 --trace-time "http://127.0.0.1:35893?260" > log/10/stdout260 2> log/10/stderr260 === End of file commands.log === Start of file http_server.log 14:53:26.692483 ====> Client connect 14:53:26.692518 accept_connection 3 returned 4 14:53:26.692535 accept_connection 3 returned 0 14:53:26.692551 Read 93 bytes 14:53:26.692562 Process 93 bytes request 14:53:26.692576 Got request: GET /verifiedserver HTTP/1.1 14:53:26.692586 Are-we-friendly question received 14:53:26.692611 Wrote request (93 bytes) input to log/10/server.input 14:53:26.692629 Identifying ourselves as friends 14:53:26.692683 Response sent (56 bytes) and written to log/10/server.response 14:53:26.692695 special request received, no persistency 14:53:26.692706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 260 === End of file serverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind259 ../src/curl -q --output log/3/curl259.out --include --trace-ascii log/3/trace259 --trace-time -x http://127.0.0.1:46791 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/3/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/3/stdout259 2> log/3/stderr259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind261 ../src/curl -q --output log/23/curl261.out --include --trace-ascii log/23/trace261 --trace-time ftp://127.0.0.1:39001/261 > log/23/stdout261 2> log/23/stderr261 .cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind260 ==90174== ==90174== Process terminating with default action of signal 4 (SIGILL) ==90174== Illegal opcode at address 0x4014B6F ==90174== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90174== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90174== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90174== by 0x4004266: main (tool_main.c:199) === End of file valgrind260 test 0259...[HTTP POST multipart with Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind259 ../src/curl -q --output log/3/curl259.out --include --trace-ascii log/3/trace259 --trace-time -x http://127.0.0.1:46791 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/3/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/3/stdout259 2> log/3/stderr259 259: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind259 ../src/curl -q --output log/3/curl259.out --include --trace-ascii log/3/trace259 --trace-time -x http://127.0.0.1:46791 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/3/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/3/stdout259 2> log/3/stderr259 === End of file commands.log === Start of file http_server.log 14:53:26.683391 ====> Client connect 14:53:26.683425 accept_connection 3 returned 4 14:53:26.683442 accept_connection 3 returned 0 14:53:26.683457 Read 93 bytes 14:53:26.683468 Process 93 bytes request 14:53:26.683483 Got request: GET /verifiedserver HTTP/1.1 14:53:26.683493 Are-we-friendly question received 14:53:26.683518 Wrote request (93 bytes) input to log/3/server.input 14:53:26.683535 Identifying ourselves as friends 14:53:26.683589 Response sent (56 bytes) and written to log/3/server.response 14:53:26.683602 special request received, no persistency 14:53:26.683612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file test259.txt foo- This is a moo- bar === End of file test259.txt === Start of file valgrind259 ==90168== ==90168== Process terminating with default action of signal 4 (SIGILL) ==90168== Illegal opcode at address 0x4014B6F ==90168== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90168== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90168== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90168== by 0x4004266: main (tool_main.c:199) === End of file valgrind259 test 0261...[FTP RETR with 226 response code to TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind261 ../src/curl -q --output log/23/curl261.out --include --trace-ascii log/23/trace261 --trace-time ftp://127.0.0.1:39001/261 > log/23/stdout261 2> log/23/stderr261 261: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 261 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind261 ../src/curl -q --output log/23/curl261.out --include --trace-ascii log/23/trace261 --trace-time ftp://127.0.0.1:39001/261 > log/23/stdout261 2> log/23/stderr261 === End of file commands.log === Start of file ftp_server.log 14:53:26.653644 ====> Client connect 14:53:26.653793 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:26.654073 < "USER anonymous" 14:53:26.654106 > "331 We are happy you popped in![CR][LF]" 14:53:26.654239 < "PASS ftp@example.com" 14:53:26.654263 > "230 Welcome you silly person[CR][LF]" 14:53:26.654382 < "PWD" 14:53:26.654406 > "257 "/" is current directory[CR][LF]" 14:53:26.654529 < "EPSV" 14:53:26.654547 ====> Passive DATA channel requested by client 14:53:26.654558 DATA sockfilt for passive data channel starting... 14:53:26.656279 DATA sockfilt for passive data channel started (pid 90268) 14:53:26.656388 DATA sockfilt for passive data channel listens on port 42897 14:53:26.656427 > "229 Entering Passive Mode (|||42897|)[LF]" 14:53:26.656447 Client has been notified that DATA conn will be accepted on port 42897 14:53:26.656675 Client connects to port 42897 14:53:26.656704 ====> Client established passive DATA connection on port 42897 14:53:26.656761 < "TYPE I" 14:53:26.656783 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:26.656996 < "SIZE verifiedserver" 14:53:26.657030 > "213 17[CR][LF]" 14:53:26.657165 < "RETR verifiedserver" 14:53:26.657190 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:26.657260 =====> Closing passive DATA connection... 14:53:26.657273 Server disconnects passive DATA connection 14:53:26.657453 Server disconnected passive DATA connection 14:53:26.657474 DATA sockfilt for passive data channel quits (pid 90268) 14:53:26.657660 DATA sockfilt for passive data channel quit (pid 90268) 14:53:26.657684 =====> Closed passive DATA connection 14:53:26.657706 > "226 File transfer complete[CR][LF]" 14:53:26.705704 < "QUIT" 14:53:26.705750 > "221 bye bye baby[CR][LF]" 14:53:26.706422 MAIN sockfilt said DISC 14:53:26.706445 ====> Client disconnected 14:53:26.706505 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:26.736360 ====> Client connect 14:53:26.736622 Received DATA (on stdin) 14:53:26.736639 > 160 bytes data, server => client 14:53:26.736652 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:26.736664 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:26.736675 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:26.736748 < 16 bytes data, client => server 14:53:26.736763 'USER anonymous\r\n' 14:53:26.736922 Received DATA (on stdin) 14:53:26.736933 > 33 bytes data, server => client 14:53:26.736942 '331 We are happy you popped in!\r\n' 14:53:26.736984 < 22 bytes data, client => server 14:53:26.736993 'PASS ftp@example.com\r\n' 14:53:26.737076 Received DATA (on stdin) 14:53:26.737086 > 30 bytes data, server => client 14:53:26.737095 '230 Welcome you silly person\r\n' 14:53:26.737132 < 5 bytes data, client => server 14:53:26.737140 'PWD\r\n' 14:53:26.737218 Received DATA (on stdin) 14:53:26.737228 > 30 bytes data, server => client 14:53:26.737236 '257 "/" is current directory\r\n' 14:53:26.737280 < 6 bytes data, client => server 14:53:26.737289 'EPSV\r\n' 14:53:26.739272 Received DATA (on stdin) 14:53:26.739286 > 38 bytes data, server => client 14:53:26.739299 'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind264 ../src/curl -q --output log/6/curl264.out --include --trace-ascii log/6/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:38791 > log/6/stdout264 2> log/6/stderr264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind240 ../src/curl -q --output log/17/curl240.out --include --trace-ascii log/17/trace240 --trace-time -g "http://[::1]:45189/240" > log/17/stdout240 2> log/17/stderr240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind265 ../src/curl -q --output log/1/curl265.out --include --trace-ascii log/1/trace265 --trace-time http://test.remote.example.com.265:44029/path/2650002 --proxy http://127.0.0.1:44029 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/1/stdout265 2> log/1/stderr265 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind262 ../src/curl -q --output log/20/curl262.out --include --trace-ascii log/20/trace262 --trace-time http://127.0.0.1:39569/262 > log/20/stdout262 2> log/20/stderr262 229 Entering Passive Mode (|||42897|)\n' 14:53:26.739437 < 8 bytes data, client => server 14:53:26.739450 'TYPE I\r\n' 14:53:26.739597 Received DATA (on stdin) 14:53:26.739608 > 33 bytes data, server => client 14:53:26.739617 '200 I modify TYPE as you wanted\r\n' 14:53:26.739658 < 21 bytes data, client => server 14:53:26.739837 'SIZE verifiedserver\r\n' 14:53:26.739851 Received DATA (on stdin) 14:53:26.739860 > 8 bytes data, server => client 14:53:26.739868 '213 17\r\n' 14:53:26.739910 < 21 bytes data, client => server 14:53:26.739919 'RETR verifiedserver\r\n' 14:53:26.740087 Received DATA (on stdin) 14:53:26.740097 > 29 bytes data, server => client 14:53:26.740105 '150 Binary junk (17 bytes).\r\n' 14:53:26.740524 Received DATA (on stdin) 14:53:26.740538 > 28 bytes data, server => client 14:53:26.740549 '226 File transfer complete\r\n' 14:53:26.788339 < 6 bytes data, client => server 14:53:26.788365 'QUIT\r\n' 14:53:26.788566 Received DATA (on stdin) 14:53:26.788577 > 18 bytes data, server => client 14:53:26.788586 '221 bye bye baby\r\n' 14:53:26.789196 ====> Client disconnect 14:53:26.789317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:26.738619 Running IPv4 version 14:53:26.738668 Listening on port 42897 14:53:26.738704 Wrote pid 90268 to log/23/server/ftp_sockdata.pid 14:53:26.739034 Received PING (on stdin) 14:53:26.739122 Received PORT (on stdin) 14:53:26.739409 ====> Client connect 14:53:26.740125 Received DATA (on stdin) 14:53:26.740136 > 17 bytes data, server => client 14:53:26.740145 'WE ROOLZ: 80287\r\n' 14:53:26.740163 Received DISC (on stdin) 14:53:26.740172 ====> Client forcibly disconnected 14:53:26.740292 Received QUIT (on stdin) 14:53:26.740302 quits 14:53:26.740352 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY TYPE 226 Kind of on the positive side Testnum 261 === End of file server.cmd === Start of file valgrind261 ==90289== ==90289== Process terminating with default action of signal 4 (SIGILL) ==90289== Illegal opcode at address 0x4014B6F ==90289== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90289== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90289== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90289== by 0x4004266: main (tool_main.c:199) === End of file valgrind261 test 0264...[HTTP with proxy string including http:// and user+password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind264 ../src/curl -q --output log/6/curl264.out --include --trace-ascii log/6/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:38791 > log/6/stdout264 2> log/6/stderr264 264: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind264 ../src/curl -q --output log/6/curl264.out --include --trace-ascii log/6/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:38791 > log/6/stdout264 2> log/6/stderr264 === End of file commands.log === Start of file http_server.log 14:53:26.918565 ====> Client connect 14:53:26.918594 accept_connection 3 returned 4 14:53:26.918610 accept_connection 3 returned 0 14:53:26.918624 Read 93 bytes 14:53:26.918635 Process 93 bytes request 14:53:26.918648 Got request: GET /verifiedserver HTTP/1.1 14:53:26.918658 Are-we-friendly question received 14:53:26.918678 Wrote request (93 bytes) input to log/6/server.input 14:53:26.918694 Identifying ourselves as friends 14:53:26.918745 Response sent (56 bytes) and written to log/6/server.response 14:53:26.918756 special request received, no persistency 14:53:26.918766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 264 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind264 ==90426== ==90426== Process terminating with default action of signal 4 (SIGILL) ==90426== Illegal opcode at address 0x4014B6F ==90426== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90426== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90426== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90426== by 0x4004266: main (tool_main.c:199) === End of file valgrind264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_ipv6_server.pid" --logfile "log/17/http_ipv6_server.log" --logdir "log/17" --portfile log/17/server/http_ipv6_server.port --config log/17/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 89189 port 45189 * pid http-ipv6 => 89189 89189 test 0240...[HTTP-IPv6 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind240 ../src/curl -q --output log/17/curl240.out --include --trace-ascii log/17/trace240 --trace-time -g "http://[::1]:45189/240" > log/17/stdout240 2> log/17/stderr240 240: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind240 ../src/curl -q --output log/17/curl240.out --include --trace-ascii log/17/trace240 --trace-time -g "http://[::1]:45189/240" > log/17/stdout240 2> log/17/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 14:53:25.975733 Running HTTP IPv6 version on port 45189 14:53:25.975839 Wrote pid 89189 to log/17/server/http_ipv6_server.pid 14:53:25.975870 Wrote port 45189 to log/17/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 240 === End of file server.cmd === Start of file valgrind240 ==90541== ==90541== Process terminating with default action of signal 4 (SIGILL) ==90541== Illegal opcode at address 0x4014B6F ==90541== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90541== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90541== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90541== by 0x4004266: main (tool_main.c:199) === End of file valgrind240 test 0265...[HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind265 ../src/curl -q --output log/1/curl265.out --include --trace-ascii log/1/trace265 --trace-time http://test.remote.example.com.265:44029/path/2650002 --proxy http://127.0.0.1:44029 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/1/stdout265 2> log/1/stderr265 265: protocol FAILED! There was no content at all in the file log/1/servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:33503/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 er.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind265 ../src/curl -q --output log/1/curl265.out --include --trace-ascii log/1/trace265 --trace-time http://test.remote.example.com.265:44029/path/2650002 --proxy http://127.0.0.1:44029 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/1/stdout265 2> log/1/stderr265 === End of file commands.log === Start of file http_server.log 14:53:26.927622 ====> Client connect 14:53:26.927662 accept_connection 3 returned 4 14:53:26.927683 accept_connection 3 returned 0 14:53:26.927700 Read 93 bytes 14:53:26.927713 Process 93 bytes request 14:53:26.927728 Got request: GET /verifiedserver HTTP/1.1 14:53:26.927739 Are-we-friendly question received 14:53:26.927768 Wrote request (93 bytes) input to log/1/server.input 14:53:26.927788 Identifying ourselves as friends 14:53:26.927851 Response sent (56 bytes) and written to log/1/server.response 14:53:26.927865 special request received, no persistency 14:53:26.927875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind265 ==90463== ==90463== Process terminating with default action of signal 4 (SIGILL) ==90463== Illegal opcode at address 0x4014B6F ==90463== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90463== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90463== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90463== by 0x4004266: main (tool_main.c:199) === End of file valgrind265 test 0262...[Reject HTTP response with binary zero in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind262 ../src/curl -q --output log/20/curl262.out --include --trace-ascii log/20/trace262 --trace-time http://127.0.0.1:39569/262 > log/20/stdout262 2> log/20/stderr262 262: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind262 ../src/curl -q --output log/20/curl262.out --include --trace-ascii log/20/trace262 --trace-time http://127.0.0.1:39569/262 > log/20/stdout262 2> log/20/stderr262 === End of file commands.log === Start of file http_server.log 14:53:26.888304 ====> Client connect 14:53:26.888348 accept_connection 3 returned 4 14:53:26.888367 accept_connection 3 returned 0 14:53:26.888384 Read 93 bytes 14:53:26.888397 Process 93 bytes request 14:53:26.888415 Got request: GET /verifiedserver HTTP/1.1 14:53:26.888426 Are-we-friendly question received 14:53:26.888454 Wrote request (93 bytes) input to log/20/server.input 14:53:26.888472 Identifying ourselves as friends 14:53:26.888536 Response sent (56 bytes) and written to log/20/server.response 14:53:26.888547 special request received, no persistency 14:53:26.888557 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 262 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind262 ==90361== ==90361== Process terminating with default action of signal 4 (SIGILL) ==90361== Illegal opcode at address 0x4014B6F ==90361== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90361== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90361== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90361== by 0x4004266: main (tool_main.c:199) === End of file valgrind262 test 0266...[HTTP GET with chunked Transfer-Encoding and chunked trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:33503/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 266: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:33503/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 === End of file commands.log === Start of file http_server.log 14:53:26.955989 ====> Client connect 14:53:26.956015 accept_connection 3 returned 4 14:53:26.956029 accept_connection 3 returned 0 14:53:26.956042 Read 93 bytes 14:53:26.956050 Process 93 bytes request 14:53:26.956062 Got request: GET /verifiedserver HTTP/1.1 14:53:26.956070 Are-we-friendly question received 14:53:26.956088 Wrote request (93 bytes) input to log/11/server.input 14:53:26.956101 Identifying ourselves as friends 14:53:26.956142 Response sent (56 bytes) and written to log/11/server.response 14:53:26.956150 special request received, no persistency 14:53:26.956158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind266 ==90551== ==90551== Process terminating with default action of signal 4 (SIGILL) ==90551== Illegal opcode at address 0x4014B6F ==90551== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90551== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90551== by 0x4004266: UnknownInlinedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind267 ../src/curl -q --output log/12/curl267.out --include --trace-ascii log/12/trace267 --trace-time http://127.0.0.1:43359/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/12/stdout267 2> log/12/stderr267 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind268 ../src/curl -q --output log/2/curl268.out --include --trace-ascii log/2/trace268 --trace-time http://127.0.0.1:37587/268 --variable hello@log/2/junk --expand-data {{hello:json}} > log/2/stdout268 2> log/2/stderr268 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind242 ../src/curl -q --output log/18/curl242.out --include --trace-ascii log/18/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42831/242" > log/18/stdout242 2> log/18/stderr242 Fun (tool_operate.c:2160) ==90551== by 0x4004266: main (tool_main.c:199) === End of file valgrind266 test 0267...[HTTP POST with NTLM authorization and added custom headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind267 ../src/curl -q --output log/12/curl267.out --include --trace-ascii log/12/trace267 --trace-time http://127.0.0.1:43359/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/12/stdout267 2> log/12/stderr267 267: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind267 ../src/curl -q --output log/12/curl267.out --include --trace-ascii log/12/trace267 --trace-time http://127.0.0.1:43359/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/12/stdout267 2> log/12/stderr267 === End of file commands.log === Start of file http_server.log 14:53:26.966382 ====> Client connect 14:53:26.966421 accept_connection 3 returned 4 14:53:26.966438 accept_connection 3 returned 0 14:53:26.966453 Read 93 bytes 14:53:26.966465 Process 93 bytes request 14:53:26.966479 Got request: GET /verifiedserver HTTP/1.1 14:53:26.966489 Are-we-friendly question received 14:53:26.966540 Wrote request (93 bytes) input to log/12/server.input 14:53:26.966557 Identifying ourselves as friends 14:53:26.966613 Response sent (56 bytes) and written to log/12/server.response 14:53:26.966624 special request received, no persistency 14:53:26.966634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind267 ==90606== ==90606== Process terminating with default action of signal 4 (SIGILL) ==90606== Illegal opcode at address 0x4014B6F ==90606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90606== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90606== by 0x4004266: main (tool_main.c:199) === End of file valgrind267 test 0268...[JSON encoding of Unicode string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind268 ../src/curl -q --output log/2/curl268.out --include --trace-ascii log/2/trace268 --trace-time http://127.0.0.1:37587/268 --variable hello@log/2/junk --expand-data {{hello:json}} > log/2/stdout268 2> log/2/stderr268 268: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 268 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind268 ../src/curl -q --output log/2/curl268.out --include --trace-ascii log/2/trace268 --trace-time http://127.0.0.1:37587/268 --variable hello@log/2/junk --expand-data {{hello:json}} > log/2/stdout268 2> log/2/stderr268 === End of file commands.log === Start of file http_server.log 14:53:26.995129 ====> Client connect 14:53:26.995160 accept_connection 3 returned 4 14:53:26.995176 accept_connection 3 returned 0 14:53:26.995191 Read 93 bytes 14:53:26.995202 Process 93 bytes request 14:53:26.995216 Got request: GET /verifiedserver HTTP/1.1 14:53:26.995226 Are-we-friendly question received 14:53:26.995247 Wrote request (93 bytes) input to log/2/server.input 14:53:26.995264 Identifying ourselves as friends 14:53:26.995317 Response sent (56 bytes) and written to log/2/server.response 14:53:26.995328 special request received, no persistency 14:53:26.995337 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file junk “ === End of file junk === Start of file server.cmd Testnum 268 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind268 ==90722== ==90722== Process terminating with default action of signal 4 (SIGILL) ==90722== Illegal opcode at address 0x4014B6F ==90722== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90722== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90722== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90722== by 0x4004266: main (tool_main.c:199) === End of file valgrind268 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_ipv6_server.pid" --logfile "log/18/http_ipv6_server.log" --logdir "log/18" --portfile log/18/server/http_ipv6_server.port --config log/18/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 89256 port 42831 * pid http-ipv6 => 89256 89256 test 0242...[HTTP-IPv6 GET with username+password in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind242 ../src/curl -q --output log/18/curl242.out --include --trace-ascii log/18/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42831/242" > log/18/stdout242 2> log/18/stderr242 242: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind242 ../src/curl -q --output log/18/curl242.out --include --trace-ascii log/18/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42831/242" > log/18/stdout242 2> log/18/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 14:53:25.017197 Running HTTP IPv6 version on port 42831 14:53:25.017298 Wrote pid 89256 to log/18/server/http_ipv6_server.pid 14:53:25.017335 Wrote port 42831 to log/18/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 242 === End of file server.cmd === Start of file valgrind242 ==90684== ==90684== Process terminating with default action of signal 4 (SIGILL) ==90684== Illegal opcode at address 0x4014B6F ==90684== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90684== by 0x4004266: UnknowCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind269 ../src/curl -q --output log/16/curl269.out --include --trace-ascii log/16/trace269 --trace-time http://127.0.0.1:34475/269 --ignore-content-length > log/16/stdout269 2> log/16/stderr269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind270 ../src/curl -q --output log/5/curl270.out --include --trace-ascii log/5/trace270 --trace-time ftp://127.0.0.1:32907/270 --ftp-skip-pasv-ip --disable-epsv > log/5/stdout270 2> log/5/stderr270 nInlinedFun (tool_getparam.c:3017) ==90684== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90684== by 0x4004266: main (tool_main.c:199) === End of file valgrind242 test 0269...[HTTP --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind269 ../src/curl -q --output log/16/curl269.out --include --trace-ascii log/16/trace269 --trace-time http://127.0.0.1:34475/269 --ignore-content-length > log/16/stdout269 2> log/16/stderr269 269: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind269 ../src/curl -q --output log/16/curl269.out --include --trace-ascii log/16/trace269 --trace-time http://127.0.0.1:34475/269 --ignore-content-length > log/16/stdout269 2> log/16/stderr269 === End of file commands.log === Start of file http_server.log 14:53:27.124172 ====> Client connect 14:53:27.124208 accept_connection 3 returned 4 14:53:27.124226 accept_connection 3 returned 0 14:53:27.124243 Read 93 bytes 14:53:27.124254 Process 93 bytes request 14:53:27.124268 Got request: GET /verifiedserver HTTP/1.1 14:53:27.124279 Are-we-friendly question received 14:53:27.124306 Wrote request (93 bytes) input to log/16/server.input 14:53:27.124325 Identifying ourselves as friends 14:53:27.124383 Response sent (56 bytes) and written to log/16/server.response 14:53:27.124396 special request received, no persistency 14:53:27.124407 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 269 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind269 ==90855== ==90855== Process terminating with default action of signal 4 (SIGILL) ==90855== Illegal opcode at address 0x4014B6F ==90855== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90855== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90855== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90855== by 0x4004266: main (tool_main.c:199) === End of file valgrind269 test 0270...[FTP RETR PASV --ftp-skip-pasv-ip] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind270 ../src/curl -q --output log/5/curl270.out --include --trace-ascii log/5/trace270 --trace-time ftp://127.0.0.1:32907/270 --ftp-skip-pasv-ip --disable-epsv > log/5/stdout270 2> log/5/stderr270 270: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 270 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind270 ../src/curl -q --output log/5/curl270.out --include --trace-ascii log/5/trace270 --trace-time ftp://127.0.0.1:32907/270 --ftp-skip-pasv-ip --disable-epsv > log/5/stdout270 2> log/5/stderr270 === End of file commands.log === Start of file ftp_server.log 14:53:27.137171 ====> Client connect 14:53:27.137328 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:27.137609 < "USER anonymous" 14:53:27.137642 > "331 We are happy you popped in![CR][LF]" 14:53:27.137807 < "PASS ftp@example.com" 14:53:27.137833 > "230 Welcome you silly person[CR][LF]" 14:53:27.137987 < "PWD" 14:53:27.138016 > "257 "/" is current directory[CR][LF]" 14:53:27.138173 < "EPSV" 14:53:27.138195 ====> Passive DATA channel requested by client 14:53:27.138209 DATA sockfilt for passive data channel starting... 14:53:27.139904 DATA sockfilt for passive data channel started (pid 90927) 14:53:27.140018 DATA sockfilt for passive data channel listens on port 45845 14:53:27.140060 > "229 Entering Passive Mode (|||45845|)[LF]" 14:53:27.140077 Client has been notified that DATA conn will be accepted on port 45845 14:53:27.140326 Client connects to port 45845 14:53:27.140356 ====> Client established passive DATA connection on port 45845 14:53:27.140434 < "TYPE I" 14:53:27.140459 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:27.140620 < "SIZE verifiedserver" 14:53:27.140657 > "213 17[CR][LF]" 14:53:27.140809 < "RETR verifiedserver" 14:53:27.140839 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:27.140920 =====> Closing passive DATA connection... 14:53:27.140935 Server disconnects passive DATA connection 14:53:27.141171 Server disconnected passive DATA connection 14:53:27.141198 DATA sockfilt for passive data channel quits (pid 90927) 14:53:27.141402 DATA sockfilt for passive data channel quit (pid 90927) 14:53:27.141425 =====> Closed passive DATA connection 14:53:27.141452 > "226 File transfer complete[CR][LF]" 14:53:27.187209 < "QUIT" 14:53:27.187261 > "221 bye bye baby[CR][LF]" 14:53:27.188266 MAIN sockfilt said DISC 14:53:27.188292 ====> Client disconnected 14:53:27.188364 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:27.219869 ====> Client connect 14:53:27.220160 Received DATA (on stdin) 14:53:27.220177 > 160 bytes data, server => client 14:53:27.220191 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:27.220203 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:27.220215 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:27.220288 < 16 bytes data, client => server 14:53:27.220302 'USER anonymous\r\n' 14:53:27.220463 Received DATA (on stdin) 14:53:27.220476 > 33 bytes data, server => client 14:53:27.220488 '331 We are happy you popped in!\r\n' 14:53:27.220537 < 22 bytes data, client => server 14:53:27.220549 'PASS ftp@example.com\r\n' 14:53:27.220652 Received DATA (on stdin) 14:53:27.220665 > 30 bytes data, server => client 14:53:27.220676 '230 Welcome you silly person\r\n' 14:53:27.220724 < 5 bytes data, client => server 14:53:27.220736 'PWD\r\n' 14:53:27.220832 Received DATA (on stdin) 14:53:27.220844 > 30 bytes data, server => client 14:53:27.220856 '257 "/" is current directory\r\n' 14:53:27.220911 < 6 bytes data, client => server 14:53:27.220923 'EPSV\r\n' 14:53:27.222900 Received DATA (on stdin) 14:53:27.222915 > 38 bytes data, server => client 14:53:27.222927 '229 Entering Passive Mode (|||45845|)\n' 14:53:27.223088 < 8 bytes data, client => server 14:53:27.223101 'TYPE I\r\n' 14:53:27.223278 Received DATA (on stdin) 14:53:27.223291 > 33 bytes data, server => client 14:53:27.223303 '200 I modify TYPE as you wanted\r\n' 14:53:27.223353 < 21 bytes data, client => server 14:53:27.223366 'SIZE verifiedserver\r\n' 14:53:27.223475 Received DATA (on stdin) 14:53:27.223487 > 8 bytes data, server => client 14:53:27.223499 '213 17\r\n' 14:53:27.223545 < 21 bytes data, client => server 14:53:27.223558 'RETR verifiedserver\r\n' 14:53:27.223755 Received DATA (on stdin) 14:53:27.223768 > 29 bytes data, server => client 14:53:27.223780 '150 Binary junkCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind272 ../src/curl -q --output log/15/curl272.out --include --trace-ascii log/15/trace272 --trace-time ftp://127.0.0.1:44241/272 -z "2004 jan 1 12:12:12 UTC" > log/15/stdout272 2> log/15/stderr272 (17 bytes).\r\n' 14:53:27.224270 Received DATA (on stdin) 14:53:27.224284 > 28 bytes data, server => client 14:53:27.224297 '226 File transfer complete\r\n' 14:53:27.269843 < 6 bytes data, client => server 14:53:27.269879 'QUIT\r\n' 14:53:27.270084 Received DATA (on stdin) 14:53:27.270097 > 18 bytes data, server => client 14:53:27.270109 '221 bye bye baby\r\n' 14:53:27.271034 ====> Client disconnect 14:53:27.271180 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:27.222549 Running IPv4 version 14:53:27.222606 Listening on port 45845 14:53:27.222641 Wrote pid 90927 to log/5/server/ftp_sockdata.pid 14:53:27.222661 Received PING (on stdin) 14:53:27.222751 Received PORT (on stdin) 14:53:27.223058 ====> Client connect 14:53:27.223805 Received DATA (on stdin) 14:53:27.223819 > 17 bytes data, server => client 14:53:27.223830 'WE ROOLZ: 80255\r\n' 14:53:27.223853 Received DISC (on stdin) 14:53:27.223866 ====> Client forcibly disconnected 14:53:27.224026 Received QUIT (on stdin) 14:53:27.224039 quits 14:53:27.224092 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd PASVBADIP Testnum 270 === End of file server.cmd === Start of file valgrind270 ==90947== ==90947== Process terminating with default action of signal 4 (SIGILL) ==90947== Illegal opcode at address 0x4014B6F ==90947== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90947== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90947== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90947== by 0x4004266: main (tool_main.c:199) === End of file valgrind270 test 0272...[FTP timed conditioned get file with identical time stamp] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind272 ../src/curl -q --output log/15/curl272.out --include --trace-ascii log/15/trace272 --trace-time ftp://127.0.0.1:44241/272 -z "2004 jan 1 12:12:12 UTC" > log/15/stdout272 2> log/15/stderr272 272: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 272 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind272 ../src/curl -q --output log/15/curl272.out --include --trace-ascii log/15/trace272 --trace-time ftp://127.0.0.1:44241/272 -z "2004 jan 1 12:12:12 UTC" > log/15/stdout272 2> log/15/stderr272 === End of file commands.log === Start of file ftp_server.log 14:53:27.177160 ====> Client connect 14:53:27.177317 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:27.177589 < "USER anonymous" 14:53:27.177619 > "331 We are happy you popped in![CR][LF]" 14:53:27.177781 < "PASS ftp@example.com" 14:53:27.177806 > "230 Welcome you silly person[CR][LF]" 14:53:27.177953 < "PWD" 14:53:27.177981 > "257 "/" is current directory[CR][LF]" 14:53:27.178134 < "EPSV" 14:53:27.178158 ====> Passive DATA channel requested by client 14:53:27.178171 DATA sockfilt for passive data channel starting... 14:53:27.179684 DATA sockfilt for passive data channel started (pid 90943) 14:53:27.179794 DATA sockfilt for passive data channel listens on port 38723 14:53:27.179834 > "229 Entering Passive Mode (|||38723|)[LF]" 14:53:27.179854 Client has been notified that DATA conn will be accepted on port 38723 14:53:27.180082 Client connects to port 38723 14:53:27.180111 ====> Client established passive DATA connection on port 38723 14:53:27.180189 < "TYPE I" 14:53:27.180226 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:27.180389 < "SIZE verifiedserver" 14:53:27.180425 > "213 17[CR][LF]" 14:53:27.180579 < "RETR verifiedserver" 14:53:27.180608 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:27.180691 =====> Closing passive DATA connection... 14:53:27.180708 Server disconnects passive DATA connection 14:53:27.180945 Server disconnected passive DATA connection 14:53:27.180974 DATA sockfilt for passive data channel quits (pid 90943) 14:53:27.181166 DATA sockfilt for passive data channel quit (pid 90943) 14:53:27.181190 =====> Closed passive DATA connection 14:53:27.181216 > "226 File transfer complete[CR][LF]" 14:53:27.227357 < "QUIT" 14:53:27.227408 > "221 bye bye baby[CR][LF]" 14:53:27.228294 MAIN sockfilt said DISC 14:53:27.228326 ====> Client disconnected 14:53:27.228396 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:27.259868 ====> Client connect 14:53:27.260144 Received DATA (on stdin) 14:53:27.260160 > 160 bytes data, server => client 14:53:27.260173 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:27.260185 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:27.260196 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:27.260269 < 16 bytes data, client => server 14:53:27.260281 'USER anonymous\r\n' 14:53:27.260439 Received DATA (on stdin) 14:53:27.260452 > 33 bytes data, server => client 14:53:27.260464 '331 We are happy you popped in!\r\n' 14:53:27.260512 < 22 bytes data, client => server 14:53:27.260524 'PASS ftp@example.com\r\n' 14:53:27.260623 Received DATA (on stdin) 14:53:27.260635 > 30 bytes data, server => client 14:53:27.260647 '230 Welcome you silly person\r\n' 14:53:27.260692 < 5 bytes data, client => server 14:53:27.260703 'PWD\r\n' 14:53:27.260796 Received DATA (on stdin) 14:53:27.260808 > 30 bytes data, server => client 14:53:27.260820 '257 "/" is current directory\r\n' 14:53:27.260873 < 6 bytes data, client => server 14:53:27.260885 'EPSV\r\n' 14:53:27.262677 Received DATA (on stdin) 14:53:27.262691 > 38 bytes data, server => client 14:53:27.262704 '229 Entering Passive Mode (|||38723|)\n' 14:53:27.262844 < 8 bytes data, client => server 14:53:27.262857 'TYPE I\r\n' 14:53:27.263046 Received DATA (on stdin) 14:53:27.263059 > 33 bytes data, server => client 14:53:27.263071 '200 I modify TYPE as you wanted\r\n' 14:53:27.263123 < 21 bytes data, client => server 14:53:27.263136 'SIZE verifiedserver\r\n' 14:53:27.263242 Received DATA (on stdin) 14:53:27.263255 > 8 bytes data, server => client 14:53:27.263266 '213 17\r\n' 14:53:27.263315 < 21 bytes data, client => server 14:53:27.263327 'RETR verifiedserver\r\n' 14:53:27.263527 Received DATA (on stdin) 14:53:27.263540 > 29 bytes data, server => client 14:53:27.263552 '150 Binary junk (17 bytes).\r\n' 14:53:27.264035 Received DATA (on stdin) 14:53:27.264049 > 28 bytes data, server => client 14:53:27.264062 '226 File transfer complete\r\n' 14:53:27.310003 < 6 bytes data, client => server 14:53:27.310037 'QUIT\r\n' 14:53:27.310228 Received DATA (on stdin) 14:53:27.310241 > 18 bytes data, server => client 14:53:27.310253 '221 bye bye baby\r\n' 14:53:27.311065 ====> Client disconnect 14:53:27.311213 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:27.262337 Running IPv4 version 14:53:27.262388 Listening on port 38723 14:53:27.262423 Wrote pid 90943 to log/15/server/ftp_sockdata.pid 14:53:27.262444 Received PING (on stdin) 14:53:27.262530 Received PORT (on stdin) 14:53:27.262815 ====> Client connect 14:53:27.263578 Received DATA (on stdin) 14:53:27.263592 > 17 bytes data, server => client 14:53:27.263604 'WE ROOLZ: 80266\r\n' 14:53:27.263628 Received DISC (on stdin) 14:53:27.263641 ====> Client forcibly disconnected 14:53:27.263798 Received QUIT (on stdin) 14:53:27.263811 quits 14:53:27.263866 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==91008== ==91008== Process terminating with default action of signal 4 (SIGILL) ==91008== Illegal opcodCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind273 ../src/curl -q --output log/8/curl273.out --include --trace-ascii log/8/trace273 --trace-time http://127.0.0.1:37085/273 -u testuser:testpass --digest > log/8/stdout273 2> log/8/stderr273 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind253 ../src/curl -q --output log/22/curl253.out --include --trace-ascii log/22/trace253 --trace-time -g "ftp://[::1]:36531/" -P - > log/22/stdout253 2> log/22/stderr253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind254 ../src/curl -q --output log/24/curl254.out --include --trace-ascii log/24/trace254 --trace-time -g "ftp://[::1]:41607/" --disable-epsv > log/24/stdout254 2> log/24/stderr254 e at address 0x4014B6F ==91008== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91008== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91008== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91008== by 0x4004266: main (tool_main.c:199) === End of file valgrind272 test 0273...[HTTP with two Digest authorization headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind273 ../src/curl -q --output log/8/curl273.out --include --trace-ascii log/8/trace273 --trace-time http://127.0.0.1:37085/273 -u testuser:testpass --digest > log/8/stdout273 2> log/8/stderr273 273: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind273 ../src/curl -q --output log/8/curl273.out --include --trace-ascii log/8/trace273 --trace-time http://127.0.0.1:37085/273 -u testuser:testpass --digest > log/8/stdout273 2> log/8/stderr273 === End of file commands.log === Start of file http_server.log 14:53:26.298711 ====> Client connect 14:53:26.298744 accept_connection 3 returned 4 14:53:26.298761 accept_connection 3 returned 0 14:53:26.300637 Read 93 bytes 14:53:26.300656 Process 93 bytes request 14:53:26.300672 Got request: GET /verifiedserver HTTP/1.1 14:53:26.300685 Are-we-friendly question received 14:53:26.300718 Wrote request (93 bytes) input to log/8/server.input 14:53:26.300736 Identifying ourselves as friends 14:53:26.300820 Response sent (56 bytes) and written to log/8/server.response 14:53:26.300831 special request received, no persistency 14:53:26.300842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind273 ==90995== ==90995== Process terminating with default action of signal 4 (SIGILL) ==90995== Illegal opcode at address 0x4014B6F ==90995== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==90995== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==90995== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==90995== by 0x4004266: main (tool_main.c:199) === End of file valgrind273 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_ipv6_server.pid" --logfile "log/22/ftp_ipv6_server.log" --logdir "log/22" --portfile "log/22/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36531 (log/22/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 89803 port 36531 * pid ftp-ipv6 => 89803 89803 test 0253...[FTP IPv6 dir list with EPRT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind253 ../src/curl -q --output log/22/curl253.out --include --trace-ascii log/22/trace253 --trace-time -g "ftp://[::1]:36531/" -P - > log/22/stdout253 2> log/22/stderr253 253: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind253 ../src/curl -q --output log/22/curl253.out --include --trace-ascii log/22/trace253 --trace-time -g "ftp://[::1]:36531/" -P - > log/22/stdout253 2> log/22/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 14:53:26.320436 FTP server listens on port IPv6/36531 14:53:26.320524 logged pid 89803 in log/22/server/ftp_ipv6_server.pid 14:53:26.320550 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:53:26.402851 Running IPv6 version 14:53:26.402943 Listening on port 36531 14:53:26.402979 Wrote pid 89839 to log/22/server/ftp_ipv6_sockctrl.pid 14:53:26.403030 Wrote port 36531 to log/22/server/ftp_ipv6_server.port 14:53:26.403156 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 253 === End of file server.cmd === Start of file valgrind253 ==91153== ==91153== Process terminating with default action of signal 4 (SIGILL) ==91153== Illegal opcode at address 0x4014B6F ==91153== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91153== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91153== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91153== by 0x4004266: main (tool_main.c:199) === End of file valgrind253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_ipv6_server.pid" --logfile "log/24/ftp_ipv6_server.log" --logdir "log/24" --portfile "log/24/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 41607 (log/24/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 89804 port 41607 * pid ftp-ipv6 => 89804 89804 test 0254...[FTP IPv6 dir list PASV and --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind254 ../src/curl -q --output log/24/curl254.out --include --trace-ascii log/24/trace254 --trace-time -g "ftp://[::1]:41607/" --disable-epsv > log/24/stdout254 2> log/24/stderr254 254: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind254 ../src/curl -q --output log/24/curl254.out --include --trace-ascii log/24/trace254 --trace-time -g "ftp://[::1]:41607/" --disable-epsv > log/24/stdout254 2> log/24/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 14:53:26.324498 FTP server listens on port IPv6/41607 14:53:26.324616 logged pid 89804 in log/24/server/ftp_ipv6_server.pid 14:53:26.324645 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:53:26.406187 Running IPv6 version 14:53:26.406233 Listening on port 41607 14:53:26.406262 Wrote pid 89844 to log/24/server/ftp_ipv6_sockctrl.pid 14:53:26.406285 Wrote port 41607 to log/24/server/ftp_ipv6_server.port 14:53:26.407188 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 254 === End of file server.cmd === Start of file valgrind254 ==91154== ==91154== Process terminating with default action of signal 4 (SIGILL) ==91154== Illegal opcode at address 0x4014B6F ==91154== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91154== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind255 ../src/curl -q --output log/19/curl255.out --include --trace-ascii log/19/trace255 --trace-time -g "ftp://[::1]:38725/" -P - --disable-eprt > log/19/stdout255 2> log/19/stderr255 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:33833/" > log/9/stdout252 2> log/9/stderr252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind274 ../src/curl -q --output log/4/curl274.out --include --trace-ascii log/4/trace274 --trace-time http://127.0.0.1:39793/want/274 -L --max-redirs 0 > log/4/stdout274 2> log/4/stderr274 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-time "http://127.0.0.1:35893/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/stderr276 154== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91154== by 0x4004266: main (tool_main.c:199) === End of file valgrind254 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_ipv6_server.pid" --logfile "log/19/ftp_ipv6_server.log" --logdir "log/19" --portfile "log/19/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 38725 (log/19/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 89805 port 38725 * pid ftp-ipv6 => 89805 89805 test 0255...[FTP IPv6 dir list with EPRT and --disable-eprt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind255 ../src/curl -q --output log/19/curl255.out --include --trace-ascii log/19/trace255 --trace-time -g "ftp://[::1]:38725/" -P - --disable-eprt > log/19/stdout255 2> log/19/stderr255 255: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind255 ../src/curl -q --output log/19/curl255.out --include --trace-ascii log/19/trace255 --trace-time -g "ftp://[::1]:38725/" -P - --disable-eprt > log/19/stdout255 2> log/19/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 14:53:26.331733 FTP server listens on port IPv6/38725 14:53:26.331802 logged pid 89805 in log/19/server/ftp_ipv6_server.pid 14:53:26.331824 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:53:26.414345 Running IPv6 version 14:53:26.414395 Listening on port 38725 14:53:26.414429 Wrote pid 89857 to log/19/server/ftp_ipv6_sockctrl.pid 14:53:26.414454 Wrote port 38725 to log/19/server/ftp_ipv6_server.port 14:53:26.414470 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 255 === End of file server.cmd === Start of file valgrind255 ==91189== ==91189== Process terminating with default action of signal 4 (SIGILL) ==91189== Illegal opcode at address 0x4014B6F ==91189== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91189== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91189== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91189== by 0x4004266: main (tool_main.c:199) === End of file valgrind255 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_ipv6_server.pid" --logfile "log/9/ftp_ipv6_server.log" --logdir "log/9" --portfile "log/9/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 33833 (log/9/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 89754 port 33833 * pid ftp-ipv6 => 89754 89754 test 0252...[FTP IPv6 dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:33833/" > log/9/stdout252 2> log/9/stderr252 252: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:33833/" > log/9/stdout252 2> log/9/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 14:53:26.285656 FTP server listens on port IPv6/33833 14:53:26.285717 logged pid 89754 in log/9/server/ftp_ipv6_server.pid 14:53:26.285737 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:53:26.368262 Running IPv6 version 14:53:26.368319 Listening on port 33833 14:53:26.368355 Wrote pid 89802 to log/9/server/ftp_ipv6_sockctrl.pid 14:53:26.368378 Wrote port 33833 to log/9/server/ftp_ipv6_server.port 14:53:26.368395 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 252 === End of file server.cmd === Start of file valgrind252 ==91083== ==91083== Process terminating with default action of signal 4 (SIGILL) ==91083== Illegal opcode at address 0x4014B6F ==91083== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91083== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91083== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91083== by 0x4004266: main (tool_main.c:199) === End of file valgrind252 test 0274...[HTTP Location: following with --max-redirs 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind274 ../src/curl -q --output log/4/curl274.out --include --trace-ascii log/4/trace274 --trace-time http://127.0.0.1:39793/want/274 -L --max-redirs 0 > log/4/stdout274 2> log/4/stderr274 274: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind274 ../src/curl -q --output log/4/curl274.out --include --trace-ascii log/4/trace274 --trace-time http://127.0.0.1:39793/want/274 -L --max-redirs 0 > log/4/stdout274 2> log/4/stderr274 === End of file commands.log === Start of file http_server.log 14:53:27.421419 ====> Client connect 14:53:27.421453 accept_connection 3 returned 4 14:53:27.421470 accept_connection 3 returned 0 14:53:27.421487 Read 93 bytes 14:53:27.421499 Process 93 bytes request 14:53:27.421515 Got request: GET /verifiedserver HTTP/1.1 14:53:27.421526 Are-we-friendly question received 14:53:27.421553 Wrote request (93 bytes) input to log/4/server.input 14:53:27.421571 Identifying ourselves as friends 14:53:27.421625 Response sent (56 bytes) and written to log/4/server.response 14:53:27.421637 special request received, no persistency 14:53:27.421648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind274 ==91335== ==91335== Process terminating with default action of signal 4 (SIGILL) ==91335== Illegal opcode at address 0x4014B6F ==91335== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91335== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91335== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91335== by 0x4004266: main (tool_main.c:199) === End of file valgrind274 test 0276...[HTTP Location: following with multipleCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind277 ../src/curl -q --output log/3/curl277.out --include --trace-ascii log/3/trace277 --trace-time http://127.0.0.1:46791/want/277 -F name=daniel -H "Content-Type: text/info" > log/3/stdout277 2> log/3/stderr277 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:38851 > log/23/stdout278 2> log/23/stderr278 question marks in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-time "http://127.0.0.1:35893/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/stderr276 276: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 276 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-time "http://127.0.0.1:35893/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/stderr276 === End of file commands.log === Start of file http_server.log 14:53:27.623508 ====> Client connect 14:53:27.623544 accept_connection 3 returned 4 14:53:27.623563 accept_connection 3 returned 0 14:53:27.623580 Read 93 bytes 14:53:27.623591 Process 93 bytes request 14:53:27.623606 Got request: GET /verifiedserver HTTP/1.1 14:53:27.623617 Are-we-friendly question received 14:53:27.623644 Wrote request (93 bytes) input to log/10/server.input 14:53:27.623663 Identifying ourselves as friends 14:53:27.623723 Response sent (56 bytes) and written to log/10/server.response 14:53:27.623736 special request received, no persistency 14:53:27.623747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 276 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind276 ==91443== ==91443== Process terminating with default action of signal 4 (SIGILL) ==91443== Illegal opcode at address 0x4014B6F ==91443== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91443== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91443== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91443== by 0x4004266: main (tool_main.c:199) === End of file valgrind276 test 0277...[HTTP RFC1867-type formposting with custom Content-Type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind277 ../src/curl -q --output log/3/curl277.out --include --trace-ascii log/3/trace277 --trace-time http://127.0.0.1:46791/want/277 -F name=daniel -H "Content-Type: text/info" > log/3/stdout277 2> log/3/stderr277 277: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind277 ../src/curl -q --output log/3/curl277.out --include --trace-ascii log/3/trace277 --trace-time http://127.0.0.1:46791/want/277 -F name=daniel -H "Content-Type: text/info" > log/3/stdout277 2> log/3/stderr277 === End of file commands.log === Start of file http_server.log 14:53:27.623550 ====> Client connect 14:53:27.623582 accept_connection 3 returned 4 14:53:27.623597 accept_connection 3 returned 0 14:53:27.623610 Read 93 bytes 14:53:27.623618 Process 93 bytes request 14:53:27.623628 Got request: GET /verifiedserver HTTP/1.1 14:53:27.623637 Are-we-friendly question received 14:53:27.623658 Wrote request (93 bytes) input to log/3/server.input 14:53:27.623672 Identifying ourselves as friends 14:53:27.623722 Response sent (56 bytes) and written to log/3/server.response 14:53:27.623731 special request received, no persistency 14:53:27.623739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind277 ==91445== ==91445== Process terminating with default action of signal 4 (SIGILL) ==91445== Illegal opcode at address 0x4014B6F ==91445== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91445== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91445== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91445== by 0x4004266: main (tool_main.c:199) === End of file valgrind277 test 0278...[HTTP with proxy string including http:// and user+empty password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:38851 > log/23/stdout278 2> log/23/stderr278 278: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 278 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:38851 > log/23/stdout278 2> log/23/stderr278 === End of file commands.log === Start of file http_server.log 14:53:27.646801 ====> Client connect 14:53:27.646845 accept_connection 3 returned 4 14:53:27.646865 accept_connection 3 returned 0 14:53:27.646883 Read 93 bytes 14:53:27.646894 Process 93 bytes request 14:53:27.646909 Got request: GET /verifiedserver HTTP/1.1 14:53:27.646920 Are-we-friendly question received 14:53:27.646948 Wrote request (93 bytes) input to log/23/server.input 14:53:27.646967 Identifying ourselves as friends 14:53:27.647055 Response sent (56 bytes) and written to log/23/server.response 14:53:27.647069 special request received, no persistency 14:53:27.647079 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:38791 > log/6/stdout279 2> log/6/stderr279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind282 ../src/curl -q --output log/20/curl282.out --include --trace-ascii log/20/trace282 --trace-time http://127.0.0.1:39569/282 > log/20/stdout282 2> log/20/stderr282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind263 ../src/curl -q --output log/13/curl263.out --include --trace-ascii log/13/trace263 --trace-time -g -x "http://[::1]:39307" http://veryveryremotesite.com/263 > log/13/stdout263 2> log/13/stderr263 erify.out === Start of file server.cmd Testnum 278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind278 ==91507== ==91507== Process terminating with default action of signal 4 (SIGILL) ==91507== Illegal opcode at address 0x4014B6F ==91507== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91507== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91507== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91507== by 0x4004266: main (tool_main.c:199) === End of file valgrind278 test 0279...[HTTP with proxy string including http:// and user only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:38791 > log/6/stdout279 2> log/6/stderr279 279: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 279 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:38791 > log/6/stdout279 2> log/6/stderr279 === End of file commands.log === Start of file http_server.log 14:53:27.854334 ====> Client connect 14:53:27.854404 accept_connection 3 returned 4 14:53:27.854429 accept_connection 3 returned 0 14:53:27.854462 Read 93 bytes 14:53:27.854474 Process 93 bytes request 14:53:27.854748 Got request: GET /verifiedserver HTTP/1.1 14:53:27.854759 Are-we-friendly question received 14:53:27.854787 Wrote request (93 bytes) input to log/6/server.input 14:53:27.854805 Identifying ourselves as friends 14:53:27.854876 Response sent (56 bytes) and written to log/6/server.response 14:53:27.854887 special request received, no persistency 14:53:27.854897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 279 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind279 ==91630== ==91630== Process terminating with default action of signal 4 (SIGILL) ==91630== Illegal opcode at address 0x4014B6F ==91630== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91630== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91630== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91630== by 0x4004266: main (tool_main.c:199) === End of file valgrind279 test 0282...[HTTP GET with no response body or headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind282 ../src/curl -q --output log/20/curl282.out --include --trace-ascii log/20/trace282 --trace-time http://127.0.0.1:39569/282 > log/20/stdout282 2> log/20/stderr282 282: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind282 ../src/curl -q --output log/20/curl282.out --include --trace-ascii log/20/trace282 --trace-time http://127.0.0.1:39569/282 > log/20/stdout282 2> log/20/stderr282 === End of file commands.log === Start of file http_server.log 14:53:27.905334 ====> Client connect 14:53:27.905366 accept_connection 3 returned 4 14:53:27.905383 accept_connection 3 returned 0 14:53:27.905398 Read 93 bytes 14:53:27.905408 Process 93 bytes request 14:53:27.905422 Got request: GET /verifiedserver HTTP/1.1 14:53:27.905432 Are-we-friendly question received 14:53:27.905457 Wrote request (93 bytes) input to log/20/server.input 14:53:27.905474 Identifying ourselves as friends 14:53:27.905522 Response sent (56 bytes) and written to log/20/server.response 14:53:27.905531 special request received, no persistency 14:53:27.905539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 282 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind282 ==91741== ==91741== Process terminating with default action of signal 4 (SIGILL) ==91741== Illegal opcode at address 0x4014B6F ==91741== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91741== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91741== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91741== by 0x4004266: main (tool_main.c:199) === End of file valgrind282 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_ipv6_server.pid" --logfile "log/13/http_ipv6_server.log" --logdir "log/13" --portfile log/13/server/http_ipv6_server.port --config log/13/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90345 port 39307 * pid http-ipv6 => 90345 90345 test 0263...[HTTP-IPv6 GET with proxy specified using IPv6-numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind263 ../src/curl -q --output log/13/curl263.out --include --trace-ascii log/13/trace263 --trace-time -g -x "http://[::1]:39307" http://veryveryremotesite.com/263 > log/13/stdout263 2> log/13/stderr263 263: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind263 ../src/curl -q --output log/13/curl263.out --include --trace-ascii log/13/trace263 --trace-time -g -x "http://[::1]:39307" http://veryveryremotesite.com/263 > log/13/stdout263 2> log/13/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 14:53:26.888148 Running HTTP IPv6 version on port 39307 14:53:26.888263 Wrote pid 90345 to log/13/server/hCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind281 ../src/curl -q --output log/1/curl281.out --include --trace-ascii log/1/trace281 --trace-time http://127.0.0.1:44029/we/want/281 -f -T log/1/test281.txt > log/1/stdout281 2> log/1/stderr281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind287 ../src/curl -q --include --trace-ascii log/16/trace287 --trace-time http://test.remote.example.com.287:34475/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34475 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/16/stdout287 2> log/16/stderr287 ttp_ipv6_server.pid 14:53:26.888307 Wrote port 39307 to log/13/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 263 === End of file server.cmd === Start of file valgrind263 ==91657== ==91657== Process terminating with default action of signal 4 (SIGILL) ==91657== Illegal opcode at address 0x4014B6F ==91657== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91657== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91657== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91657== by 0x4004266: main (tool_main.c:199) === End of file valgrind263 test 0281...[HTTP PUT from file with 100 + 401 responses and -f without auth given] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind281 ../src/curl -q --output log/1/curl281.out --include --trace-ascii log/1/trace281 --trace-time http://127.0.0.1:44029/we/want/281 -f -T log/1/test281.txt > log/1/stdout281 2> log/1/stderr281 281: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind281 ../src/curl -q --output log/1/curl281.out --include --trace-ascii log/1/trace281 --trace-time http://127.0.0.1:44029/we/want/281 -f -T log/1/test281.txt > log/1/stdout281 2> log/1/stderr281 === End of file commands.log === Start of file http_server.log 14:53:27.903763 ====> Client connect 14:53:27.903799 accept_connection 3 returned 4 14:53:27.903818 accept_connection 3 returned 0 14:53:27.903836 Read 93 bytes 14:53:27.903848 Process 93 bytes request 14:53:27.903865 Got request: GET /verifiedserver HTTP/1.1 14:53:27.903876 Are-we-friendly question received 14:53:27.903905 Wrote request (93 bytes) input to log/1/server.input 14:53:27.903925 Identifying ourselves as friends 14:53:27.903996 Response sent (56 bytes) and written to log/1/server.response 14:53:27.904008 special request received, no persistency 14:53:27.904018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 281 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==91750== ==91750== Process terminating with default action of signal 4 (SIGILL) ==91750== Illegal opcode at address 0x4014B6F ==91750== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91750== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91750== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91750== by 0x4004266: main (tool_main.c:199) === End of file valgrind281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind288 ../src/curl -q --output log/5/curl288.out --trace-ascii log/5/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test288.txt > log/5/stdout288 2> log/5/stderr288 test 0287...[HTTP proxy CONNECT with custom User-Agent header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind287 ../src/curl -q --include --trace-ascii log/16/trace287 --trace-time http://test.remote.example.com.287:34475/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34475 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/16/stdout287 2> log/16/stderr287 287: stdout FAILED: --- log/16/check-expected 2025-09-11 14:53:28.888863959 +0000 +++ log/16/check-generated 2025-09-11 14:53:28.888863959 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/16/ dir after test 287 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind287 ../src/curl -q --include --trace-ascii log/16/trace287 --trace-time http://test.remote.example.com.287:34475/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34475 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/16/stdout287 2> log/16/stderr287 === End of file commands.log === Start of file http_server.log 14:53:28.086121 ====> Client connect 14:53:28.086154 accept_connection 3 returned 4 14:53:28.086171 accept_connection 3 returned 0 14:53:28.086187 Read 93 bytes 14:53:28.086197 Process 93 bytes request 14:53:28.086212 Got request: GET /verifiedserver HTTP/1.1 14:53:28.086222 Are-we-friendly question received 14:53:28.086246 Wrote request (93 bytes) input to log/16/server.input 14:53:28.086262 Identifying ourselves as friends 14:53:28.086314 Response sent (56 bytes) and written to log/16/server.response 14:53:28.086332 special request received, no persistency 14:53:28.086342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind287 ==91895== ==91895== Process terminating with default action of signal 4 (SIGILL) ==91895== Illegal opcode at address 0x4014B6F ==91895== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91895== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91895== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91895== by 0x4004266: main (tool_main.c:199) === End of file valgrind287 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind271 ../src/curl -q --output log/7/curl271.out --include --trace-ascii log/7/trace271 --trace-time tftp://127.0.0.1:33281//271 > log/7/stdout271 2> log/7/stderr271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind292 ../src/curl -q --output log/24/curl292.out --include --trace-ascii log/24/trace292 --trace-time http://127.0.0.1:34449/292 --max-filesize 1000 > log/24/stdout292 2> log/24/stderr292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind289 ../src/curl -q --output log/15/curl289.out --include --trace-ascii log/15/trace289 --trace-time ftp://127.0.0.1:44241/289 -T log/15/illegal-nonexistent-file -C - > log/15/stdout289 2> log/15/stderr289 setenv all_proxy = http://fake:user@127.0.0.1:47/ test 0288...[file:// with (unsupported) proxy, authentication and range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind288 ../src/curl -q --output log/5/curl288.out --trace-ascii log/5/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test288.txt > log/5/stdout288 2> log/5/stderr288 288: data FAILED: --- log/5/check-expected 2025-09-11 14:53:28.905530626 +0000 +++ log/5/check-generated 2025-09-11 14:53:28.905530626 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/5/ dir after test 288 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind288 ../src/curl -q --output log/5/curl288.out --trace-ascii log/5/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test288.txt > log/5/stdout288 2> log/5/stderr288 === End of file commands.log === Start of file server.cmd Testnum 288 === End of file server.cmd === Start of file test288.txt foo bar bar foo moo === End of file test288.txt === Start of file valgrind288 ==91947== ==91947== Process terminating with default action of signal 4 (SIGILL) ==91947== Illegal opcode at address 0x4014B6F ==91947== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==91947== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==91947== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==91947== by 0x4004266: main (tool_main.c:199) === End of file valgrind288 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/7/server/tftp_server.pid" --portfile "log/7/server/tftp_server.port" --logfile "log/7/tftp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 90914 port 33281 * pid tftp => 90914 90914 test 0271...[TFTP retrieve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind271 ../src/curl -q --output log/7/curl271.out --include --trace-ascii log/7/trace271 --trace-time tftp://127.0.0.1:33281//271 > log/7/stdout271 2> log/7/stderr271 271: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind271 ../src/curl -q --output log/7/curl271.out --include --trace-ascii log/7/trace271 --trace-time tftp://127.0.0.1:33281//271 > log/7/stdout271 2> log/7/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 14:53:27.228092 Wrote pid 90914 to log/7/server/tftp_server.pid 14:53:27.228141 Wrote port 33281 to log/7/server/tftp_server.port 14:53:27.228154 Running IPv4 version on port UDP/33281 === End of file tftp_server.log === Start of file valgrind271 ==92007== ==92007== Process terminating with default action of signal 4 (SIGILL) ==92007== Illegal opcode at address 0x4014B6F ==92007== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92007== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92007== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92007== by 0x4004266: main (tool_main.c:199) === End of file valgrind271 test 0292...[HTTP GET with maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind292 ../src/curl -q --output log/24/curl292.out --include --trace-ascii log/24/trace292 --trace-time http://127.0.0.1:34449/292 --max-filesize 1000 > log/24/stdout292 2> log/24/stderr292 292: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind292 ../src/curl -q --output log/24/curl292.out --include --trace-ascii log/24/trace292 --trace-time http://127.0.0.1:34449/292 --max-filesize 1000 > log/24/stdout292 2> log/24/stderr292 === End of file commands.log === Start of file http_server.log 14:53:28.254195 ====> Client connect 14:53:28.254223 accept_connection 3 returned 4 14:53:28.254240 accept_connection 3 returned 0 14:53:28.254255 Read 93 bytes 14:53:28.254266 Process 93 bytes request 14:53:28.254280 Got request: GET /verifiedserver HTTP/1.1 14:53:28.254291 Are-we-friendly question received 14:53:28.254316 Wrote request (93 bytes) input to log/24/server.input 14:53:28.254333 Identifying ourselves as friends 14:53:28.254387 Response sent (56 bytes) and written to log/24/server.response 14:53:28.254399 special request received, no persistency 14:53:28.254409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 37258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind292 ==92153== ==92153== Process terminating with default action of signal 4 (SIGILL) ==92153== Illegal opcode at address 0x4014B6F ==92153== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92153== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92153== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92153== by 0x4004266: main (tool_main.c:199) === End of file valgrind292 test 0320 SKIPPED: no gnutls-serv (with SRP support) test 0321 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) test 0289...[FTP resume upload but denied access to local file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind289 ../src/curl -q --output log/15/curl289.out --include --trace-ascii log/15/trace289 --trace-time ftp://127.0.0.1:44241/289 -T log/15/illegal-nonexistent-file -C - > log/15/stdout289 2> log/15/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/15/ dir after test 289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind289 ../src/curl -q --output log/15/curl289.out --include --trace-ascii log/15/trace289 --trace-time ftp://127.0.0.1:44241/289 -T log/15/illegal-nonexistent-file -C - > log/15/stdout289 2> log/15/stderr289 === End of file commands.log === Start of file ftp_server.log 14:53:28.117250 ====> Client connect 14:53:28.117406 > "220- _ _ ____ _ [CR][LF]22CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:37557/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind291 ../src/curl -q --output log/22/curl291.out --include --trace-ascii log/22/trace291 --trace-time ftp://127.0.0.1:45969/291 --max-filesize 100 > log/22/stdout291 2> log/22/stderr291 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind294 ../src/curl -q --output log/9/curl294.out --include --trace-ascii log/9/trace294 --trace-time ftp://127.0.0.1:37027/294/ --ftp-account "data for acct" > log/9/stdout294 2> log/9/stderr294 0- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.117689 < "USER anonymous" 14:53:28.117723 > "331 We are happy you popped in![CR][LF]" 14:53:28.117888 < "PASS ftp@example.com" 14:53:28.117914 > "230 Welcome you silly person[CR][LF]" 14:53:28.118064 < "PWD" 14:53:28.118090 > "257 "/" is current directory[CR][LF]" 14:53:28.118243 < "EPSV" 14:53:28.118264 ====> Passive DATA channel requested by client 14:53:28.118278 DATA sockfilt for passive data channel starting... 14:53:28.119590 DATA sockfilt for passive data channel started (pid 91977) 14:53:28.119676 DATA sockfilt for passive data channel listens on port 44455 14:53:28.119705 > "229 Entering Passive Mode (|||44455|)[LF]" 14:53:28.119719 Client has been notified that DATA conn will be accepted on port 44455 14:53:28.119897 Client connects to port 44455 14:53:28.119920 ====> Client established passive DATA connection on port 44455 14:53:28.119980 < "TYPE I" 14:53:28.120000 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.120119 < "SIZE verifiedserver" 14:53:28.120147 > "213 17[CR][LF]" 14:53:28.120374 < "RETR verifiedserver" 14:53:28.120440 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.120544 =====> Closing passive DATA connection... 14:53:28.120569 Server disconnects passive DATA connection 14:53:28.120799 Server disconnected passive DATA connection 14:53:28.120834 DATA sockfilt for passive data channel quits (pid 91977) 14:53:28.121138 DATA sockfilt for passive data channel quit (pid 91977) 14:53:28.121167 =====> Closed passive DATA connection 14:53:28.121196 > "226 File transfer complete[CR][LF]" 14:53:28.163842 < "QUIT" 14:53:28.163896 > "221 bye bye baby[CR][LF]" 14:53:28.164308 MAIN sockfilt said DISC 14:53:28.164352 ====> Client disconnected 14:53:28.164655 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.199954 ====> Client connect 14:53:28.200235 Received DATA (on stdin) 14:53:28.200251 > 160 bytes data, server => client 14:53:28.200264 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.200276 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.200287 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.200366 < 16 bytes data, client => server 14:53:28.200379 'USER anonymous\r\n' 14:53:28.200544 Received DATA (on stdin) 14:53:28.200557 > 33 bytes data, server => client 14:53:28.200568 '331 We are happy you popped in!\r\n' 14:53:28.200618 < 22 bytes data, client => server 14:53:28.200631 'PASS ftp@example.com\r\n' 14:53:28.200731 Received DATA (on stdin) 14:53:28.200743 > 30 bytes data, server => client 14:53:28.200754 '230 Welcome you silly person\r\n' 14:53:28.200800 < 5 bytes data, client => server 14:53:28.200811 'PWD\r\n' 14:53:28.200905 Received DATA (on stdin) 14:53:28.200917 > 30 bytes data, server => client 14:53:28.200929 '257 "/" is current directory\r\n' 14:53:28.200983 < 6 bytes data, client => server 14:53:28.200994 'EPSV\r\n' 14:53:28.202534 Received DATA (on stdin) 14:53:28.202545 > 38 bytes data, server => client 14:53:28.202555 '229 Entering Passive Mode (|||44455|)\n' 14:53:28.202666 < 8 bytes data, client => server 14:53:28.202676 'TYPE I\r\n' 14:53:28.202813 Received DATA (on stdin) 14:53:28.202822 > 33 bytes data, server => client 14:53:28.202831 '200 I modify TYPE as you wanted\r\n' 14:53:28.202869 < 21 bytes data, client => server 14:53:28.202878 'SIZE verifiedserver\r\n' 14:53:28.202959 Received DATA (on stdin) 14:53:28.202969 > 8 bytes data, server => client 14:53:28.202978 '213 17\r\n' 14:53:28.203031 < 21 bytes data, client => server 14:53:28.203043 'RETR verifiedserver\r\n' 14:53:28.203400 Received DATA (on stdin) 14:53:28.203424 > 29 bytes data, server => client 14:53:28.203437 '150 Binary junk (17 bytes).\r\n' 14:53:28.204018 Received DATA (on stdin) 14:53:28.204032 > 28 bytes data, server => client 14:53:28.204044 '226 File transfer complete\r\n' 14:53:28.246501 < 6 bytes data, client => server 14:53:28.246525 'QUIT\r\n' 14:53:28.246719 Received DATA (on stdin) 14:53:28.246733 > 18 bytes data, server => client 14:53:28.246744 '221 bye bye baby\r\n' 14:53:28.247062 ====> Client disconnect 14:53:28.247221 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.202266 Running IPv4 version 14:53:28.202307 Listening on port 44455 14:53:28.202341 Wrote pid 91977 to log/15/server/ftp_sockdata.pid 14:53:28.202357 Received PING (on stdin) 14:53:28.202426 Received PORT (on stdin) 14:53:28.202643 ====> Client connect 14:53:28.203277 Received DATA (on stdin) 14:53:28.203291 > 17 bytes data, server => client 14:53:28.203303 'WE ROOLZ: 80266\r\n' 14:53:28.203389 Received DISC (on stdin) 14:53:28.203400 ====> Client forcibly disconnected 14:53:28.203671 Received QUIT (on stdin) 14:53:28.203692 quits 14:53:28.203763 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==92122== ==92122== Process terminating with default action of signal 4 (SIGILL) ==92122== Illegal opcode at address 0x4014B6F ==92122== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92122== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92122== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92122== by 0x4004266: main (tool_main.c:199) === End of file valgrind289 test 0290...[FTP download maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:37557/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 290: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:37557/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 === End of file commands.log === Start of file ftp_server.log 14:53:28.154086 ====> Client connect 14:53:28.154245 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.154496 < "USER anonymous" 14:53:28.154532 > "331 We are happy you popped in![CR][LF]" 14:53:28.154668 < "PASS ftp@example.com" 14:53:28.154688 > "230 Welcome you silly person[CR][LF]" 14:53:28.154816 < "PWD" 14:53:28.154838 > "257 "/" is current directory[CR][LF]" 14:53:28.154998 < "EPSV" 14:53:28.155017 ====> Passive DATA channel requested by client 14:53:28.155027 DATA sockfilt for passive data channel starting... 14:53:28.156618 DATA sockfilt for passive data channel started (pid 92064) 14:53:28.156765 DATA sockfilt for passive data channel listens on port 45431 14:53:28.156815 > "229 Entering Passive Mode (|||45431|)[LF]" 14:53:28.156836 Client has been notified that DATA conn will be accepted on port 45431 14:53:28.157127 Client connects to port 45431 14:53:28.157157 ====> Client established passive DATA connection on port 45431 14:53:28.157241 < "TYPE I" 14:53:28.157271 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.157433 < "SIZE verifiedserver" 14:53:28.157468 > "213 17[CR][LF]" 14:53:28.157633 < "RETR verifiedserver" 14:53:28.157664 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.157752 =====> Closing passive DATA connection... 14:53:28.157768 Server disconnects passive DATA connection 14:53:28.158042 Server disconnected passive DATA connection 14:53:28.158070 DATA sockfilt for passive data channel quits (pid 92064) 14:53:28.158266 DATA sockfilt for passive data channel quit (pid 92064) 14:53:28.158291 =====> Closed passive DATA connection 14:53:28.158319 > "226 File transfer complete[CR][LF]" 14:53:28.203855 < "QUIT" 14:53:28.203904 > "221 bye bye baby[CR][LF]" 14:53:28.204376 MAIN sockfilt said DISC 14:53:28.204403 ====> Client disconnected 14:53:28.204476 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.236783 ====> Client connect 14:53:28.237071 Received DATA (on stdin) 14:53:28.237085 > 160 bytes data, server => client 14:53:28.237097 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.237108 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.237117 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.237182 < 16 bytes data, client => server 14:53:28.237193 'USER anonymous\r\n' 14:53:28.237340 Received DATA (on stdin) 14:53:28.237354 > 33 bytes data, server => client 14:53:28.237363 '331 We are happy you popped in!\r\n' 14:53:28.237408 < 22 bytes data, client => server 14:53:28.237417 'PASS ftp@example.com\r\n' 14:53:28.237510 Received DATA (on stdin) 14:53:28.237520 > 30 bytes data, server => client 14:53:28.237528 '230 Welcome you silly person\r\n' 14:53:28.237566 < 5 bytes data, client => server 14:53:28.237574 'PWD\r\n' 14:53:28.237649 Received DATA (on stdin) 14:53:28.237658 > 30 bytes data, server => client 14:53:28.237667 '257 "/" is current directory\r\n' 14:53:28.237708 < 6 bytes data, client => server 14:53:28.237717 'EPSV\r\n' 14:53:28.239671 Received DATA (on stdin) 14:53:28.239690 > 38 bytes data, server => client 14:53:28.239703 '229 Entering Passive Mode (|||45431|)\n' 14:53:28.239888 < 8 bytes data, client => server 14:53:28.239902 'TYPE I\r\n' 14:53:28.240090 Received DATA (on stdin) 14:53:28.240102 > 33 bytes data, server => client 14:53:28.240114 '200 I modify TYPE as you wanted\r\n' 14:53:28.240163 < 21 bytes data, client => server 14:53:28.240176 'SIZE verifiedserver\r\n' 14:53:28.240287 Received DATA (on stdin) 14:53:28.240300 > 8 bytes data, server => client 14:53:28.240312 '213 17\r\n' 14:53:28.240363 < 21 bytes data, client => server 14:53:28.240376 'RETR verifiedserver\r\n' 14:53:28.240589 Received DATA (on stdin) 14:53:28.240603 > 29 bytes data, server => client 14:53:28.240614 '150 Binary junk (17 bytes).\r\n' 14:53:28.241138 Received DATA (on stdin) 14:53:28.241152 > 28 bytes data, server => client 14:53:28.241164 '226 File transfer complete\r\n' 14:53:28.286501 < 6 bytes data, client => server 14:53:28.286522 'QUIT\r\n' 14:53:28.286727 Received DATA (on stdin) 14:53:28.286739 > 18 bytes data, server => client 14:53:28.286751 '221 bye bye baby\r\n' 14:53:28.287140 ====> Client disconnect 14:53:28.287295 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.239240 Running IPv4 version 14:53:28.239304 Listening on port 45431 14:53:28.239341 Wrote pid 92064 to log/8/server/ftp_sockdata.pid 14:53:28.239364 Received PING (on stdin) 14:53:28.239485 Received PORT (on stdin) 14:53:28.239857 ====> Client connect 14:53:28.240641 Received DATA (on stdin) 14:53:28.240655 > 17 bytes data, server => client 14:53:28.240667 'WE ROOLZ: 80267\r\n' 14:53:28.240692 Received DISC (on stdin) 14:53:28.240704 ====> Client forcibly disconnected 14:53:28.240896 Received QUIT (on stdin) 14:53:28.240909 quits 14:53:28.240961 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==92279== ==92279== Process terminating with default action of signal 4 (SIGILL) ==92279== Illegal opcode at address 0x4014B6F ==92279== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92279== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92279== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92279== by 0x4004266: main (tool_main.c:199) === End of file valgrind290 test 0291...[FTP download maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind291 ../src/curl -q --output log/22/curl291.out --include --trace-ascii log/22/trace291 --trace-time ftp://127.0.0.1:45969/291 --max-filesize 100 > log/22/stdout291 2> log/22/stderr291 291: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind291 ../src/curl -q --output log/22/curl291.out --include --trace-ascii log/22/trace291 --trace-time ftp://127.0.0.1:45969/291 --max-filesize 100 > log/22/stdout291 2> log/22/stderr291 === End of file commands.log === Start of file ftp_server.log 14:53:28.160828 ====> Client connect 14:53:28.160961 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.161283 < "USER anonymous" 14:53:28.161310 > "331 We are happy you popped in![CR][LF]" 14:53:28.161455 < "PASS ftp@example.com" 14:53:28.161479 > "230 Welcome you silly person[CR][LF]" 14:53:28.161636 < "PWD" 14:53:28.161666 > "257 "/" is current directory[CR][LF]" 14:53:28.161824 < "EPSV" 14:53:28.161845 ====> Passive DATA channel requested by client 14:53:28.161855 DATA sockfilt for passive data channel starting... 14:53:28.163771 DATA sockfilt for passive data channel started (pid 92085) 14:53:28.163865 DATA sockfilt for passive data channel listens on port 45567 14:53:28.163896 > "229 Entering Passive Mode (|||45567|)[LF]" 14:53:28.163911 Client has been notified that DATA conn will be accepted on port 45567 14:53:28.164094 Client connects to port 45567 14:53:28.164121 ====> Client established passive DATA connection on port 45567 14:53:28.164182 < "TYPE I" 14:53:28.164207 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.164908 < "SIZE verifiedserver" 14:53:28.164949 > "213 17[CR][LF]" 14:53:28.165119 < "RETR verifiedserver" 14:53:28.165159 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.165242 =====> Closing passive DATA connection... 14:53:28.165261 Server disconnects passive DATA connection 14:53:28.165609 Server disconnected passive DATA connection 14:53:28.165649 DATA sockfilt for passive data channel quits (pid 92085) 14:53:28.165917 DATA sockfilt for passive data channel quit (pid 92085) 14:53:28.165945 =====> Closed passive DATA connection 14:53:28.165979 > "226 File transfer complete[CR][LF]" 14:53:28.207242 < "QUIT" 14:53:28.207292 > "221 bye bye baby[CR][LF]" 14:53:28.208435 MAIN sockfilt said DISC 14:53:28.208464 ====> Client disconnected 14:53:28.208536 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.243550 ====> Client connect 14:53:28.243784 Received DATA (on stdin) 14:53:28.243838 > 160 bytes data, server => client 14:53:28.243849 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.243857 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.243865 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.243921 < 16 bytes data, client => server 14:53:28.243930 'USER anonymous\r\n' 14:53:28.244124 Received DATA (on stdin) 14:53:28.244134 > 33 bytes data, server => client 14:53:28.244142 '331 We are happy you popped in!\r\n' 14:53:28.244186 < 22 bytes data, client => server 14:53:28.244198 'PASS ftp@example.com\r\n' 14:53:28.244294 Received DATA (on stdin) 14:53:28.244305 > 30 bytes data, server => client 14:53:28.244317 '230 Welcome you silly person\r\n' 14:53:28.244366 < 5 bytes dCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind293 ../src/curl -q --output log/19/curl293.out --include --trace-ascii log/19/trace293 --trace-time http://127.0.0.1:33805/293 --max-filesize 2 > log/19/stdout293 2> log/19/stderr293 ata, client => server 14:53:28.244379 'PWD\r\n' 14:53:28.244484 Received DATA (on stdin) 14:53:28.244496 > 30 bytes data, server => client 14:53:28.244507 '257 "/" is current directory\r\n' 14:53:28.244564 < 6 bytes data, client => server 14:53:28.244578 'EPSV\r\n' 14:53:28.246728 Received DATA (on stdin) 14:53:28.246740 > 38 bytes data, server => client 14:53:28.246749 '229 Entering Passive Mode (|||45567|)\n' 14:53:28.246864 < 8 bytes data, client => server 14:53:28.246874 'TYPE I\r\n' 14:53:28.247024 Received DATA (on stdin) 14:53:28.247037 > 33 bytes data, server => client 14:53:28.247048 '200 I modify TYPE as you wanted\r\n' 14:53:28.247625 < 21 bytes data, client => server 14:53:28.247648 'SIZE verifiedserver\r\n' 14:53:28.247769 Received DATA (on stdin) 14:53:28.247783 > 8 bytes data, server => client 14:53:28.247794 '213 17\r\n' 14:53:28.247846 < 21 bytes data, client => server 14:53:28.247860 'RETR verifiedserver\r\n' 14:53:28.248115 Received DATA (on stdin) 14:53:28.248142 > 29 bytes data, server => client 14:53:28.248155 '150 Binary junk (17 bytes).\r\n' 14:53:28.248802 Received DATA (on stdin) 14:53:28.248816 > 28 bytes data, server => client 14:53:28.248828 '226 File transfer complete\r\n' 14:53:28.289899 < 6 bytes data, client => server 14:53:28.289922 'QUIT\r\n' 14:53:28.290115 Received DATA (on stdin) 14:53:28.290129 > 18 bytes data, server => client 14:53:28.290141 '221 bye bye baby\r\n' 14:53:28.291198 ====> Client disconnect 14:53:28.291358 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.246314 Running IPv4 version 14:53:28.246488 Listening on port 45567 14:53:28.246516 Wrote pid 92085 to log/22/server/ftp_sockdata.pid 14:53:28.246533 Received PING (on stdin) 14:53:28.246612 Received PORT (on stdin) 14:53:28.246840 ====> Client connect 14:53:28.248206 Received DATA (on stdin) 14:53:28.248248 > 17 bytes data, server => client 14:53:28.248261 'WE ROOLZ: 80268\r\n' 14:53:28.248347 Received DISC (on stdin) 14:53:28.248364 ====> Client forcibly disconnected 14:53:28.248477 Received QUIT (on stdin) 14:53:28.248489 quits 14:53:28.248545 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==92295== ==92295== Process terminating with default action of signal 4 (SIGILL) ==92295== Illegal opcode at address 0x4014B6F ==92295== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92295== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92295== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92295== by 0x4004266: main (tool_main.c:199) === End of file valgrind291 test 0294...[FTP --ftp-account on ACCT request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind294 ../src/curl -q --output log/9/curl294.out --include --trace-ascii log/9/trace294 --trace-time ftp://127.0.0.1:37027/294/ --ftp-account "data for acct" > log/9/stdout294 2> log/9/stderr294 294: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 294 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind294 ../src/curl -q --output log/9/curl294.out --include --trace-ascii log/9/trace294 --trace-time ftp://127.0.0.1:37027/294/ --ftp-account "data for acct" > log/9/stdout294 2> log/9/stderr294 === End of file commands.log === Start of file ftp_server.log 14:53:28.181426 ====> Client connect 14:53:28.181537 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.181750 < "USER anonymous" 14:53:28.181778 > "331 We are happy you popped in![CR][LF]" 14:53:28.181909 < "PASS ftp@example.com" 14:53:28.181934 > "230 Welcome you silly person[CR][LF]" 14:53:28.182093 < "PWD" 14:53:28.182122 > "257 "/" is current directory[CR][LF]" 14:53:28.182299 < "EPSV" 14:53:28.182339 ====> Passive DATA channel requested by client 14:53:28.182372 DATA sockfilt for passive data channel starting... 14:53:28.184001 DATA sockfilt for passive data channel started (pid 92156) 14:53:28.184112 DATA sockfilt for passive data channel listens on port 38931 14:53:28.184149 > "229 Entering Passive Mode (|||38931|)[LF]" 14:53:28.184171 Client has been notified that DATA conn will be accepted on port 38931 14:53:28.184372 Client connects to port 38931 14:53:28.184442 ====> Client established passive DATA connection on port 38931 14:53:28.184624 < "TYPE I" 14:53:28.184661 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.184880 < "SIZE verifiedserver" 14:53:28.184919 > "213 17[CR][LF]" 14:53:28.185088 < "RETR verifiedserver" 14:53:28.185122 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.185211 =====> Closing passive DATA connection... 14:53:28.185229 Server disconnects passive DATA connection 14:53:28.185310 Server disconnected passive DATA connection 14:53:28.185335 DATA sockfilt for passive data channel quits (pid 92156) 14:53:28.185527 DATA sockfilt for passive data channel quit (pid 92156) 14:53:28.185559 =====> Closed passive DATA connection 14:53:28.185589 > "226 File transfer complete[CR][LF]" 14:53:28.230761 < "QUIT" 14:53:28.230812 > "221 bye bye baby[CR][LF]" 14:53:28.231657 MAIN sockfilt said DISC 14:53:28.231694 ====> Client disconnected 14:53:28.231764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.264161 ====> Client connect 14:53:28.264359 Received DATA (on stdin) 14:53:28.264370 > 160 bytes data, server => client 14:53:28.264380 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.264389 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.264397 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.264452 < 16 bytes data, client => server 14:53:28.264461 'USER anonymous\r\n' 14:53:28.264593 Received DATA (on stdin) 14:53:28.264603 > 33 bytes data, server => client 14:53:28.264612 '331 We are happy you popped in!\r\n' 14:53:28.264651 < 22 bytes data, client => server 14:53:28.264660 'PASS ftp@example.com\r\n' 14:53:28.264751 Received DATA (on stdin) 14:53:28.264763 > 30 bytes data, server => client 14:53:28.264774 '230 Welcome you silly person\r\n' 14:53:28.264823 < 5 bytes data, client => server 14:53:28.264836 'PWD\r\n' 14:53:28.264939 Received DATA (on stdin) 14:53:28.264952 > 30 bytes data, server => client 14:53:28.264964 '257 "/" is current directory\r\n' 14:53:28.265026 < 6 bytes data, client => server 14:53:28.265040 'EPSV\r\n' 14:53:28.266974 Received DATA (on stdin) 14:53:28.266997 > 38 bytes data, server => client 14:53:28.267011 '229 Entering Passive Mode (|||38931|)\n' 14:53:28.267122 < 8 bytes data, client => server 14:53:28.267139 'TYPE I\r\n' 14:53:28.267515 Received DATA (on stdin) 14:53:28.267532 > 33 bytes data, server => client 14:53:28.267545 '200 I modify TYPE as you wanted\r\n' 14:53:28.267603 < 21 bytes data, client => server 14:53:28.267618 'SIZE verifiedserver\r\n' 14:53:28.267738 Received DATA (on stdin) 14:53:28.267752 > 8 bytes data, server => client 14:53:28.267764 '213 17\r\n' 14:53:28.267817 < 21 bytes data, client => server 14:53:28.267831 'RETR verifiedserver\r\n' 14:53:28.268050 Received DATA (on stdin) 14:53:28.268064 > 29 bytes data, server => client 14:53:28.268076 '150 Binary junk (17 bytes).\r\n' 14:53:28.268411 Received DATA (on stdin) 14:53:28.268427 > 28 bytes data, server => client 14:53:28.268439 '226 File transfer complete\r\n' 14:53:28.313374 < 6 bytes data, client => server 14:53:28.313411 'QUIT\r\n' 14:53:28.313635 Received DATA (on stdin) 14:53:28.313649 > 18 bytes data, server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:44299/295/ > log/4/stdout295 2> log/4/stderr295 => client 14:53:28.313660 '221 bye bye baby\r\n' 14:53:28.314412 ====> Client disconnect 14:53:28.314578 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.266647 Running IPv4 version 14:53:28.266706 Listening on port 38931 14:53:28.266742 Wrote pid 92156 to log/9/server/ftp_sockdata.pid 14:53:28.266762 Received PING (on stdin) 14:53:28.266846 Received PORT (on stdin) 14:53:28.267134 ====> Client connect 14:53:28.267959 Received DATA (on stdin) 14:53:28.267976 > 17 bytes data, server => client 14:53:28.267988 'WE ROOLZ: 80262\r\n' 14:53:28.268049 Received DISC (on stdin) 14:53:28.268062 ====> Client forcibly disconnected 14:53:28.268161 Received QUIT (on stdin) 14:53:28.268174 quits 14:53:28.268226 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY ACCT 230 Thank-you for the ACCT Testnum 294 === End of file server.cmd === Start of file valgrind294 ==92380== ==92380== Process terminating with default action of signal 4 (SIGILL) ==92380== Illegal opcode at address 0x4014B6F ==92380== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92380== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92380== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92380== by 0x4004266: main (tool_main.c:199) === End of file valgrind294 test 0293...[HTTP GET with maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind293 ../src/curl -q --output log/19/curl293.out --include --trace-ascii log/19/trace293 --trace-time http://127.0.0.1:33805/293 --max-filesize 2 > log/19/stdout293 2> log/19/stderr293 293: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind293 ../src/curl -q --output log/19/curl293.out --include --trace-ascii log/19/trace293 --trace-time http://127.0.0.1:33805/293 --max-filesize 2 > log/19/stdout293 2> log/19/stderr293 === End of file commands.log === Start of file http_server.log 14:53:27.261470 ====> Client connect 14:53:27.261506 accept_connection 3 returned 4 14:53:27.261523 accept_connection 3 returned 0 14:53:27.261540 Read 93 bytes 14:53:27.261553 Process 93 bytes request 14:53:27.261566 Got request: GET /verifiedserver HTTP/1.1 14:53:27.261577 Are-we-friendly question received 14:53:27.261602 Wrote request (93 bytes) input to log/19/server.input 14:53:27.261618 Identifying ourselves as friends 14:53:27.261676 Response sent (56 bytes) and written to log/19/server.response 14:53:27.261687 special request received, no persistency 14:53:27.261696 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind293 ==92175== ==92175== Process terminating with default action of signal 4 (SIGILL) ==92175== Illegal opcode at address 0x4014B6F ==92175== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92175== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92175== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92175== by 0x4004266: main (tool_main.c:199) === End of file valgrind293 test 0295...[FTP ACCT request without --ftp-account] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:44299/295/ > log/4/stdout295 2> log/4/stderr295 295: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 295 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:44299/295/ > log/4/stdout295 2> log/4/stderr295 === End of file commands.log === Start of file ftp_server.log 14:53:28.201659 ====> Client connect 14:53:28.201781 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.202005 < "USER anonymous" 14:53:28.202033 > "331 We are happy you popped in![CR][LF]" 14:53:28.202163 < "PASS ftp@example.com" 14:53:28.202185 > "230 Welcome you silly person[CR][LF]" 14:53:28.202336 < "PWD" 14:53:28.202370 > "257 "/" is current directory[CR][LF]" 14:53:28.202554 < "EPSV" 14:53:28.202581 ====> Passive DATA channel requested by client 14:53:28.202597 DATA sockfilt for passive data channel starting... 14:53:28.204127 DATA sockfilt for passive data channel started (pid 92251) 14:53:28.204231 DATA sockfilt for passive data channel listens on port 34911 14:53:28.204271 > "229 Entering Passive Mode (|||34911|)[LF]" 14:53:28.204289 Client has been notified that DATA conn will be accepted on port 34911 14:53:28.204512 Client connects to port 34911 14:53:28.204540 ====> Client established passive DATA connection on port 34911 14:53:28.204616 < "TYPE I" 14:53:28.204646 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.204797 < "SIZE verifiedserver" 14:53:28.204835 > "213 17[CR][LF]" 14:53:28.204991 < "RETR verifiedserver" 14:53:28.205024 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.205101 =====> Closing passive DATA connection... 14:53:28.205117 Server disconnects passive DATA connection 14:53:28.205274 Server disconnected passive DATA connection 14:53:28.205340 DATA sockfilt for passive data channel quits (pid 92251) 14:53:28.205645 DATA sockfilt for passive data channel quit (pid 92251) 14:53:28.205672 =====> Closed passive DATA connection 14:53:28.205704 > "226 File transfer complete[CR][LF]" 14:53:28.250647 < "QUIT" 14:53:28.250701 > "221 bye bye baby[CR][LF]" 14:53:28.250872 MAIN sockfilt said DISC 14:53:28.250921 ====> Client disconnected 14:53:28.251004 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.284377 ====> Client connect 14:53:28.284604 Received DATA (on stdin) 14:53:28.284616 > 160 bytes data, server => client 14:53:28.284627 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.284636 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.284645 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.284704 < 16 bytes data, client => server 14:53:28.284714 'USER anonymous\r\n' 14:53:28.284849 Received DATA (on stdin) 14:53:28.284859 > 33 bytes data, server => client 14:53:28.284868 '331 We are happy you popped in!\r\n' 14:53:28.284908 < 22 bytes data, client => server 14:53:28.284918 'PASS ftp@example.com\r\n' 14:53:28.285002 Received DATA (on stdin) 14:53:28.285015 > 30 bytes data, serverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind275 ../src/curl -q --output log/21/curl275.out --include --trace-ascii log/21/trace275 --trace-time http://remotesite.com.275:34037/we/want/that/page/275 -p -x 127.0.0.1:35037 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:34037/we/want/that/page/275 > log/21/stdout275 2> log/21/stderr275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind297 ../src/curl -q --output log/3/curl297.out --include --trace-ascii log/3/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:37155/first/second/third/297 > log/3/stdout297 2> log/3/stderr297 => client 14:53:28.285026 '230 Welcome you silly person\r\n' 14:53:28.285073 < 5 bytes data, client => server 14:53:28.285085 'PWD\r\n' 14:53:28.285188 Received DATA (on stdin) 14:53:28.285202 > 30 bytes data, server => client 14:53:28.285213 '257 "/" is current directory\r\n' 14:53:28.285280 < 6 bytes data, client => server 14:53:28.285294 'EPSV\r\n' 14:53:28.287111 Received DATA (on stdin) 14:53:28.287125 > 38 bytes data, server => client 14:53:28.287137 '229 Entering Passive Mode (|||34911|)\n' 14:53:28.287274 < 8 bytes data, client => server 14:53:28.287287 'TYPE I\r\n' 14:53:28.287463 Received DATA (on stdin) 14:53:28.287476 > 33 bytes data, server => client 14:53:28.287488 '200 I modify TYPE as you wanted\r\n' 14:53:28.287539 < 21 bytes data, client => server 14:53:28.287551 'SIZE verifiedserver\r\n' 14:53:28.287653 Received DATA (on stdin) 14:53:28.287666 > 8 bytes data, server => client 14:53:28.287676 '213 17\r\n' 14:53:28.287726 < 21 bytes data, client => server 14:53:28.287738 'RETR verifiedserver\r\n' 14:53:28.287934 Received DATA (on stdin) 14:53:28.287947 > 29 bytes data, server => client 14:53:28.287959 '150 Binary junk (17 bytes).\r\n' 14:53:28.288518 Received DATA (on stdin) 14:53:28.288539 > 28 bytes data, server => client 14:53:28.288552 '226 File transfer complete\r\n' 14:53:28.333280 < 6 bytes data, client => server 14:53:28.333309 'QUIT\r\n' 14:53:28.333522 Received DATA (on stdin) 14:53:28.333535 > 18 bytes data, server => client 14:53:28.333547 '221 bye bye baby\r\n' 14:53:28.333615 ====> Client disconnect 14:53:28.333801 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.286643 Running IPv4 version 14:53:28.286691 Listening on port 34911 14:53:28.286726 Wrote pid 92251 to log/4/server/ftp_sockdata.pid 14:53:28.286886 Received PING (on stdin) 14:53:28.286966 Received PORT (on stdin) 14:53:28.287248 ====> Client connect 14:53:28.287987 Received DATA (on stdin) 14:53:28.288000 > 17 bytes data, server => client 14:53:28.288010 'WE ROOLZ: 80848\r\n' 14:53:28.288035 Received DISC (on stdin) 14:53:28.288047 ====> Client forcibly disconnected 14:53:28.288181 Received QUIT (on stdin) 14:53:28.288200 quits 14:53:28.288277 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY PWD 530 No ACCT, go away Testnum 295 === End of file server.cmd === Start of file valgrind295 ==92421== ==92421== Process terminating with default action of signal 4 (SIGILL) ==92421== Illegal opcode at address 0x4014B6F ==92421== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92421== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92421== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92421== by 0x4004266: main (tool_main.c:199) === End of file valgrind295 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/21/server/http2_server.pid" --logfile "log/21/http2_server.log" --logdir "log/21" --portfile log/21/server/http2_server.port --config log/21/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 91329 port 35037 * pid http-proxy => 91329 91329 test 0275...[HTTP CONNECT with proxytunnel getting two URLs from the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind275 ../src/curl -q --output log/21/curl275.out --include --trace-ascii log/21/trace275 --trace-time http://remotesite.com.275:34037/we/want/that/page/275 -p -x 127.0.0.1:35037 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:34037/we/want/that/page/275 > log/21/stdout275 2> log/21/stderr275 275: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 275 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind275 ../src/curl -q --output log/21/curl275.out --include --trace-ascii log/21/trace275 --trace-time http://remotesite.com.275:34037/we/want/that/page/275 -p -x 127.0.0.1:35037 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:34037/we/want/that/page/275 > log/21/stdout275 2> log/21/stderr275 === End of file commands.log === Start of file http2_server.log 14:53:27.447427 Run as proxy, CONNECT to host 127.0.0.1 14:53:27.447551 Running HTTP IPv4 version on port 35037 14:53:27.447597 Wrote pid 91329 to log/21/server/http2_server.pid 14:53:27.447630 Wrote port 35037 to log/21/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:53:27.425142 ====> Client connect 14:53:27.425173 accept_connection 3 returned 4 14:53:27.425190 accept_connection 3 returned 0 14:53:27.425205 Read 93 bytes 14:53:27.425216 Process 93 bytes request 14:53:27.425230 Got request: GET /verifiedserver HTTP/1.1 14:53:27.425240 Are-we-friendly question received 14:53:27.425263 Wrote request (93 bytes) input to log/21/server.input 14:53:27.425281 Identifying ourselves as friends 14:53:27.425339 Response sent (56 bytes) and written to log/21/server.response 14:53:27.425350 special request received, no persistency 14:53:27.425360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 275 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind275 ==92504== ==92504== Process terminating with default action of signal 4 (SIGILL) ==92504== Illegal opcode at address 0x4014B6F ==92504== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92504== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92504== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92504== by 0x4004266: main (tool_main.c:199) === End of file valgrind275 test 0297...[FTP CWD with --ftp-method singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind297 ../src/curl -q --output log/3/curl297.out --include --trace-ascii log/3/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:37155/first/second/third/297 > log/3/stdout297 2> log/3/stderr297 297: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind297 ../src/curl -q --output log/3/curl297.out --include --trace-ascii log/3/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:37155/first/second/third/297 > log/3/stdout297 2> log/3/stderr297 === End of file commands.log === Start of file ftp_server.log 14:53:28.411097 ====> Client connect 14:53:28.411277 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\__CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind296 ../src/curl -q --output log/10/curl296.out --include --trace-ascii log/10/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:42691/first/second/third/296 > log/10/stdout296 2> log/10/stderr296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind298 ../src/curl -q --output log/23/curl298.out --include --trace-ascii log/23/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39001/first/second/th%69rd/298 > log/23/stdout298 2> log/23/stderr298 ___|[CR][LF]" 14:53:28.411639 < "USER anonymous" 14:53:28.411678 > "331 We are happy you popped in![CR][LF]" 14:53:28.411886 < "PASS ftp@example.com" 14:53:28.411916 > "230 Welcome you silly person[CR][LF]" 14:53:28.412078 < "PWD" 14:53:28.412111 > "257 "/" is current directory[CR][LF]" 14:53:28.412280 < "EPSV" 14:53:28.412304 ====> Passive DATA channel requested by client 14:53:28.412318 DATA sockfilt for passive data channel starting... 14:53:28.414329 DATA sockfilt for passive data channel started (pid 92587) 14:53:28.414452 DATA sockfilt for passive data channel listens on port 40695 14:53:28.414492 > "229 Entering Passive Mode (|||40695|)[LF]" 14:53:28.414510 Client has been notified that DATA conn will be accepted on port 40695 14:53:28.414797 Client connects to port 40695 14:53:28.414823 ====> Client established passive DATA connection on port 40695 14:53:28.414905 < "TYPE I" 14:53:28.414936 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.415091 < "SIZE verifiedserver" 14:53:28.415127 > "213 17[CR][LF]" 14:53:28.415285 < "RETR verifiedserver" 14:53:28.415314 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.415394 =====> Closing passive DATA connection... 14:53:28.415411 Server disconnects passive DATA connection 14:53:28.415651 Server disconnected passive DATA connection 14:53:28.415677 DATA sockfilt for passive data channel quits (pid 92587) 14:53:28.415899 DATA sockfilt for passive data channel quit (pid 92587) 14:53:28.415925 =====> Closed passive DATA connection 14:53:28.415955 > "226 File transfer complete[CR][LF]" 14:53:28.457399 < "QUIT" 14:53:28.457449 > "221 bye bye baby[CR][LF]" 14:53:28.458765 MAIN sockfilt said DISC 14:53:28.458798 ====> Client disconnected 14:53:28.458863 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.493786 ====> Client connect 14:53:28.494099 Received DATA (on stdin) 14:53:28.494154 > 160 bytes data, server => client 14:53:28.494170 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.494183 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.494195 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.494279 < 16 bytes data, client => server 14:53:28.494293 'USER anonymous\r\n' 14:53:28.494493 Received DATA (on stdin) 14:53:28.494517 > 33 bytes data, server => client 14:53:28.494531 '331 We are happy you popped in!\r\n' 14:53:28.494601 < 22 bytes data, client => server 14:53:28.494615 'PASS ftp@example.com\r\n' 14:53:28.494735 Received DATA (on stdin) 14:53:28.494748 > 30 bytes data, server => client 14:53:28.494761 '230 Welcome you silly person\r\n' 14:53:28.494811 < 5 bytes data, client => server 14:53:28.494823 'PWD\r\n' 14:53:28.494929 Received DATA (on stdin) 14:53:28.494941 > 30 bytes data, server => client 14:53:28.494953 '257 "/" is current directory\r\n' 14:53:28.495010 < 6 bytes data, client => server 14:53:28.495023 'EPSV\r\n' 14:53:28.497334 Received DATA (on stdin) 14:53:28.497351 > 38 bytes data, server => client 14:53:28.497363 '229 Entering Passive Mode (|||40695|)\n' 14:53:28.497560 < 8 bytes data, client => server 14:53:28.497573 'TYPE I\r\n' 14:53:28.497755 Received DATA (on stdin) 14:53:28.497767 > 33 bytes data, server => client 14:53:28.497779 '200 I modify TYPE as you wanted\r\n' 14:53:28.497828 < 21 bytes data, client => server 14:53:28.497840 'SIZE verifiedserver\r\n' 14:53:28.497947 Received DATA (on stdin) 14:53:28.497959 > 8 bytes data, server => client 14:53:28.497971 '213 17\r\n' 14:53:28.498019 < 21 bytes data, client => server 14:53:28.498033 'RETR verifiedserver\r\n' 14:53:28.498228 Received DATA (on stdin) 14:53:28.498240 > 29 bytes data, server => client 14:53:28.498252 '150 Binary junk (17 bytes).\r\n' 14:53:28.498774 Received DATA (on stdin) 14:53:28.498789 > 28 bytes data, server => client 14:53:28.498802 '226 File transfer complete\r\n' 14:53:28.540057 < 6 bytes data, client => server 14:53:28.540080 'QUIT\r\n' 14:53:28.540269 Received DATA (on stdin) 14:53:28.540282 > 18 bytes data, server => client 14:53:28.540293 '221 bye bye baby\r\n' 14:53:28.541287 ====> Client disconnect 14:53:28.541681 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.496946 Running IPv4 version 14:53:28.497027 Listening on port 40695 14:53:28.497063 Wrote pid 92587 to log/3/server/ftp_sockdata.pid 14:53:28.497085 Received PING (on stdin) 14:53:28.497179 Received PORT (on stdin) 14:53:28.497532 ====> Client connect 14:53:28.498275 Received DATA (on stdin) 14:53:28.498288 > 17 bytes data, server => client 14:53:28.498299 'WE ROOLZ: 80281\r\n' 14:53:28.498325 Received DISC (on stdin) 14:53:28.498336 ====> Client forcibly disconnected 14:53:28.498505 Received QUIT (on stdin) 14:53:28.498519 quits 14:53:28.498577 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==92618== ==92618== Process terminating with default action of signal 4 (SIGILL) ==92618== Illegal opcode at address 0x4014B6F ==92618== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92618== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92618== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92618== by 0x4004266: main (tool_main.c:199) === End of file valgrind297 test 0296...[FTP CWD with --ftp-method multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind296 ../src/curl -q --output log/10/curl296.out --include --trace-ascii log/10/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:42691/first/second/third/296 > log/10/stdout296 2> log/10/stderr296 296: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind296 ../src/curl -q --output log/10/curl296.out --include --trace-ascii log/10/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:42691/first/second/third/296 > log/10/stdout296 2> log/10/stderr296 === End of file commands.log === Start of file ftp_server.log 14:53:28.396983 ====> Client connect 14:53:28.397132 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.397423 < "USER anonymous" 14:53:28.397457 > "331 We are happy you popped in![CR][LF]" 14:53:28.397632 < "PASS ftp@example.com" 14:53:28.397658 > "230 Welcome you silly person[CR][LF]" 14:53:28.397816 < "PWD" 14:53:28.397846 > "257 "/" is current directory[CR][LF]" 14:53:28.398014 < "EPSV" 14:53:28.398038 ====> Passive DATA channel requested by client 14:53:28.398052 DATA sockfilt for passive data channel starting... 14:53:28.399609 DATA sockfilt for passive data channel started (pid 92570) 14:53:28.399730 DATA sockfilt for passive data channel listens on port 33555 14:53:28.399775 > "229 Entering Passive Mode (|||33555|)[LF]" 14:53:28.399797 Client has been notified that DATA conn will be accepted on port 33555 14:53:28.400030 Client connects to port 33555 14:53:28.400061 ====> Client established passive DATA connection on port 33555 14:53:28.400133 < "TYPE I" 14:53:28.400158 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.400312 < "SIZE verifiedserver" 14:53:28.400350 > "213 17[CR][LF]" 14:53:28.400524 < "RETR verifiedserver" 14:53:28.400560 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.400650 =====> Closing passive DATA connection... 14:53:28.400669 Server disconnects passive DATA connection 14:53:28.400787 Server disconnected passive DATA connection 14:53:28.400812 DATA sockfilt for passive data channel quits (pid 92570) 14:53:28.401047 DATA sockfilt for passive data channel quit (pid 92570) 14:53:28.401074 =====> Closed passive DATA connection 14:53:28.401100 > "226 File transfer complete[CR][LF]" 14:53:28.450489 < "QUIT" 14:53:28.450547 > "221 bye bye baby[CR][LF]" 14:53:28.451429 MAIN sockfilt said DISC 14:53:28.451457 ====> Client disconnected 14:53:28.451538 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.479690 ====> Client connect 14:53:28.479961 Received DATA (on stdin) 14:53:28.479978 > 160 bytes data, server => client 14:53:28.479991 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.480004 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.480015 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.480097 < 16 bytes data, client => server 14:53:28.480112 'USER anonymous\r\n' 14:53:28.480278 Received DATA (on stdin) 14:53:28.480291 > 33 bytes data, server => client 14:53:28.480304 '331 We are happy you popped in!\r\n' 14:53:28.480359 < 22 bytes data, client => server 14:53:28.480373 'PASS ftp@example.com\r\n' 14:53:28.480475 Received DATA (on stdin) 14:53:28.480489 > 30 bytes data, server => client 14:53:28.480501 '230 Welcome you silly person\r\n' 14:53:28.480550 < 5 bytes data, client => server 14:53:28.480562 'PWD\r\n' 14:53:28.480663 Received DATA (on stdin) 14:53:28.480676 > 30 bytes data, server => client 14:53:28.480688 '257 "/" is current directory\r\n' 14:53:28.480748 < 6 bytes data, client => server 14:53:28.480761 'EPSV\r\n' 14:53:28.482620 Received DATA (on stdin) 14:53:28.482635 > 38 bytes data, server => client 14:53:28.482647 '229 Entering Passive Mode (|||33555|)\n' 14:53:28.482792 < 8 bytes data, client => server 14:53:28.482806 'TYPE I\r\n' 14:53:28.482975 Received DATA (on stdin) 14:53:28.482986 > 33 bytes data, server => client 14:53:28.483007 '200 I modify TYPE as you wanted\r\n' 14:53:28.483058 < 21 bytes data, client => server 14:53:28.483072 'SIZE verifiedserver\r\n' 14:53:28.483169 Received DATA (on stdin) 14:53:28.483183 > 8 bytes data, server => client 14:53:28.483195 '213 17\r\n' 14:53:28.483250 < 21 bytes data, client => server 14:53:28.483264 'RETR verifiedserver\r\n' 14:53:28.483478 Received DATA (on stdin) 14:53:28.483493 > 29 bytes data, server => client 14:53:28.483505 '150 Binary junk (17 bytes).\r\n' 14:53:28.483920 Received DATA (on stdin) 14:53:28.483934 > 28 bytes data, server => client 14:53:28.483946 '226 File transfer complete\r\n' 14:53:28.533098 < 6 bytes data, client => server 14:53:28.533139 'QUIT\r\n' 14:53:28.533368 Received DATA (on stdin) 14:53:28.533381 > 18 bytes data, server => client 14:53:28.533393 '221 bye bye baby\r\n' 14:53:28.534199 ====> Client disconnect 14:53:28.534356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.482257 Running IPv4 version 14:53:28.482309 Listening on port 33555 14:53:28.482343 Wrote pid 92570 to log/10/server/ftp_sockdata.pid 14:53:28.482367 Received PING (on stdin) 14:53:28.482459 Received PORT (on stdin) 14:53:28.482762 ====> Client connect 14:53:28.483491 Received DATA (on stdin) 14:53:28.483504 > 17 bytes data, server => client 14:53:28.483516 'WE ROOLZ: 80280\r\n' 14:53:28.483541 Received DISC (on stdin) 14:53:28.483554 ====> Client forcibly disconnected 14:53:28.483636 Received QUIT (on stdin) 14:53:28.483647 quits 14:53:28.483693 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==92609== ==92609== Process terminating with default action of signal 4 (SIGILL) ==92609== Illegal opcode at address 0x4014B6F ==92609== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92609== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92609== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92609== by 0x4004266: main (tool_main.c:199) === End of file valgrind296 test 0298...[FTP CWD with --ftp-method nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind298 ../src/curl -q --output log/23/curl298.out --include --trace-ascii log/23/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39001/first/second/th%69rd/298 > log/23/stdout298 2> log/23/stderr298 298: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind298 ../src/curl -q --output log/23/curl298.out --include --trace-ascii log/23/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39001/first/second/th%69rd/298 > log/23/stdout298 2> log/23/stderr298 === End of file commands.log === Start of file ftp_server.log 14:53:28.426031 ====> Client connect 14:53:28.426205 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:28.426562 < "USER anonymous" 14:53:28.426602 > "331 We are happy you popped in![CR][LF]" 14:53:28.426803 < "PASS ftp@example.com" 14:53:28.426836 > "230 Welcome you silly person[CR][LF]" 14:53:28.427029 < "PWD" 14:53:28.427064 > "257 "/" is current directory[CR][LF]" 14:53:28.427259 < "EPSV" 14:53:28.427286 ====> Passive DATA channel requested by client 14:53:28.427302 DATA sockfilt for passive data channel starting... 14:53:28.429179 DATA sockfilt for passive data channel started (pid 92605) 14:53:28.429319 DATA sockfilt for passive data channel listens on port 45343 14:53:28.429364 > "229 Entering Passive Mode (|||45343|)[LF]" 14:53:28.429383 Client has been notified that DATA conn will be accepted on port 45343 14:53:28.429634 Client connects to port 45343 14:53:28.429665 ====> Client established passive DATA connection on port 45343 14:53:28.429752 < "TYPE I" 14:53:28.429784 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:28.429948 < "SIZE verifiedserver" 14:53:28.429983 > "213 17[CR][LF]" 14:53:28.430138 < "RETR verifiedserver" 14:53:28.430172 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:28.430264 =====> Closing passive DATA connection... 14:53:28.430280 Server disconnects passive DATA connection 14:53:28.430405 Server disconnected passive DATA connection 14:53:28.430428 DATA sockfilt for passive data channel quits (pid 92605) 14:53:28.430628 DATA sockfilt for passive data channel quit (pid 92605) 14:53:28.430652 =====> Closed passive DATA connection 14:53:28.430679 > "226 File transfer complete[CR][LF]" 14:53:28.477213 < "QUIT" 14:53:28.477273 > "221 bye bye baby[CR][LF]" 14:53:28.477988 MAIN sockfilt said DISC 14:53:28.478037 ====> Client disconnected 14:53:28.478104 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.508705 ====> Client connect 14:53:28.509043 Received DATA (on stdin) 14:53:28.509062 > 160 bytes data, server => client 14:53:28.509076 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.509089 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.509101 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.509220 < 16 bytes data, client => server 14:53:28.509240 'USER anonymous\r\n' 14:53:28.509428 Received DATA (on stdin) 14:53:28.509447 > 33 bytes data, server => client 14:53:28.509460 '331 We are happy you popped in!\r\n' 14:53:28.509517 < 22 bytes data, client => server 14:53:28.509535 'PASS ftp@example.com\r\n' 14:53:28.509657 Received DATA (on stdin) 14:53:28.509683 > 30 bytes data, server => client 14:53:28.509696 '230 Welcome you silly person\r\n' 14:53:28.509749 < 5 bytes data, client => server 14:53:28.509764 'PWD\r\n' 14:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind299 ../src/curl -q --output log/6/curl299.out --include --trace-ascii log/6/trace299 --trace-time -x http://127.0.0.1:38791 -u michal:aybabtu ftp://host.com/we/want/299 > log/6/stdout299 2> log/6/stderr299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind314 ../src/curl -q --output log/13/curl314.out --include --trace-ascii log/13/trace314 --trace-time http://127.0.0.1:41533/314 --compressed > log/13/stdout314 2> log/13/stderr314 53:28.509886 Received DATA (on stdin) 14:53:28.509901 > 30 bytes data, server => client 14:53:28.509914 '257 "/" is current directory\r\n' 14:53:28.509978 < 6 bytes data, client => server 14:53:28.509994 'EPSV\r\n' 14:53:28.512212 Received DATA (on stdin) 14:53:28.512230 > 38 bytes data, server => client 14:53:28.512243 '229 Entering Passive Mode (|||45343|)\n' 14:53:28.512395 < 8 bytes data, client => server 14:53:28.512409 'TYPE I\r\n' 14:53:28.512605 Received DATA (on stdin) 14:53:28.512618 > 33 bytes data, server => client 14:53:28.512631 '200 I modify TYPE as you wanted\r\n' 14:53:28.512680 < 21 bytes data, client => server 14:53:28.512693 'SIZE verifiedserver\r\n' 14:53:28.512801 Received DATA (on stdin) 14:53:28.512814 > 8 bytes data, server => client 14:53:28.512825 '213 17\r\n' 14:53:28.512872 < 21 bytes data, client => server 14:53:28.512884 'RETR verifiedserver\r\n' 14:53:28.513032 Received DATA (on stdin) 14:53:28.513057 > 29 bytes data, server => client 14:53:28.513071 '150 Binary junk (17 bytes).\r\n' 14:53:28.513500 Received DATA (on stdin) 14:53:28.513516 > 28 bytes data, server => client 14:53:28.513529 '226 File transfer complete\r\n' 14:53:28.559832 < 6 bytes data, client => server 14:53:28.559864 'QUIT\r\n' 14:53:28.560101 Received DATA (on stdin) 14:53:28.560117 > 18 bytes data, server => client 14:53:28.560129 '221 bye bye baby\r\n' 14:53:28.560733 ====> Client disconnect 14:53:28.560924 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:28.511797 Running IPv4 version 14:53:28.511867 Listening on port 45343 14:53:28.511904 Wrote pid 92605 to log/23/server/ftp_sockdata.pid 14:53:28.511924 Received PING (on stdin) 14:53:28.512041 Received PORT (on stdin) 14:53:28.512366 ====> Client connect 14:53:28.513103 Received DATA (on stdin) 14:53:28.513117 > 17 bytes data, server => client 14:53:28.513129 'WE ROOLZ: 80287\r\n' 14:53:28.513157 Received DISC (on stdin) 14:53:28.513173 ====> Client forcibly disconnected 14:53:28.513254 Received QUIT (on stdin) 14:53:28.513266 quits 14:53:28.513321 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==92667== ==92667== Process terminating with default action of signal 4 (SIGILL) ==92667== Illegal opcode at address 0x4014B6F ==92667== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92667== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92667== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92667== by 0x4004266: main (tool_main.c:199) === End of file valgrind298 test 0299...[FTP over HTTP proxy with user:pass not in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind299 ../src/curl -q --output log/6/curl299.out --include --trace-ascii log/6/trace299 --trace-time -x http://127.0.0.1:38791 -u michal:aybabtu ftp://host.com/we/want/299 > log/6/stdout299 2> log/6/stderr299 299: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind299 ../src/curl -q --output log/6/curl299.out --include --trace-ascii log/6/trace299 --trace-time -x http://127.0.0.1:38791 -u michal:aybabtu ftp://host.com/we/want/299 > log/6/stdout299 2> log/6/stderr299 === End of file commands.log === Start of file http_server.log 14:53:28.690990 ====> Client connect 14:53:28.691025 accept_connection 3 returned 4 14:53:28.691042 accept_connection 3 returned 0 14:53:28.691059 Read 93 bytes 14:53:28.691069 Process 93 bytes request 14:53:28.691084 Got request: GET /verifiedserver HTTP/1.1 14:53:28.691094 Are-we-friendly question received 14:53:28.691117 Wrote request (93 bytes) input to log/6/server.input 14:53:28.691135 Identifying ourselves as friends 14:53:28.691186 Response sent (56 bytes) and written to log/6/server.response 14:53:28.691197 special request received, no persistency 14:53:28.691207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind299 ==92781== ==92781== Process terminating with default action of signal 4 (SIGILL) ==92781== Illegal opcode at address 0x4014B6F ==92781== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92781== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92781== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92781== by 0x4004266: main (tool_main.c:199) === End of file valgrind299 test 0314...[HTTP GET brotli compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind314 ../src/curl -q --output log/13/curl314.out --include --trace-ascii log/13/trace314 --trace-time http://127.0.0.1:41533/314 --compressed > log/13/stdout314 2> log/13/stderr314 314: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind314 ../src/curl -q --output log/13/curl314.out --include --trace-ascii log/13/trace314 --trace-time http://127.0.0.1:41533/314 --compressed > log/13/stdout314 2> log/13/stderr314 === End of file commands.log === Start of file http_server.log 14:53:28.739293 ====> Client connect 14:53:28.739327 accept_connection 3 returned 4 14:53:28.739345 accept_connection 3 returned 0 14:53:28.739360 Read 93 bytes 14:53:28.739371 Process 93 bytes request 14:53:28.739384 Got request: GET /verifiedserver HTTP/1.1 14:53:28.739394 Are-we-friendly question received 14:53:28.739419 Wrote request (93 bytes) input to log/13/server.input 14:53:28.739437 Identifying ourselves as friends 14:53:28.739495 Response sent (56 bytes) and written to log/13/server.response 14:53:28.739507 special request received, no persistency 14:53:28.739517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind314 ==92885== ==92885== Process terminating with default action of signal 4 (SIGICMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind315 ../src/curl -q --output log/20/curl315.out --include --trace-ascii log/20/trace315 --trace-time http://127.0.0.1:39569/315 --compressed > log/20/stdout315 2> log/20/stderr315 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind316 ../src/curl -q --output log/1/curl316.out --include --trace-ascii log/1/trace316 --trace-time http://127.0.0.1:44029/316 --compressed > log/1/stdout316 2> log/1/stderr316 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind280 ../src/curl -q --output log/17/curl280.out --include --trace-ascii log/17/trace280 --trace-time ftp://127.0.0.1:40705/280/ --ftp-alternative-to-user "USER replacement" > log/17/stdout280 2> log/17/stderr280 LL) ==92885== Illegal opcode at address 0x4014B6F ==92885== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92885== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92885== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92885== by 0x4004266: main (tool_main.c:199) === End of file valgrind314 test 0315...[HTTP GET brotli compressed content with broken header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind315 ../src/curl -q --output log/20/curl315.out --include --trace-ascii log/20/trace315 --trace-time http://127.0.0.1:39569/315 --compressed > log/20/stdout315 2> log/20/stderr315 315: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind315 ../src/curl -q --output log/20/curl315.out --include --trace-ascii log/20/trace315 --trace-time http://127.0.0.1:39569/315 --compressed > log/20/stdout315 2> log/20/stderr315 === End of file commands.log === Start of file http_server.log 14:53:28.756559 ====> Client connect 14:53:28.756591 accept_connection 3 returned 4 14:53:28.756608 accept_connection 3 returned 0 14:53:28.756623 Read 93 bytes 14:53:28.756635 Process 93 bytes request 14:53:28.756648 Got request: GET /verifiedserver HTTP/1.1 14:53:28.756658 Are-we-friendly question received 14:53:28.756682 Wrote request (93 bytes) input to log/20/server.input 14:53:28.756698 Identifying ourselves as friends 14:53:28.756748 Response sent (56 bytes) and written to log/20/server.response 14:53:28.756758 special request received, no persistency 14:53:28.756767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind315 ==92895== ==92895== Process terminating with default action of signal 4 (SIGILL) ==92895== Illegal opcode at address 0x4014B6F ==92895== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==92895== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==92895== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==92895== by 0x4004266: main (tool_main.c:199) === End of file valgrind315 test 0316...[HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind316 ../src/curl -q --output log/1/curl316.out --include --trace-ascii log/1/trace316 --trace-time http://127.0.0.1:44029/316 --compressed > log/1/stdout316 2> log/1/stderr316 316: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 316 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind316 ../src/curl -q --output log/1/curl316.out --include --trace-ascii log/1/trace316 --trace-time http://127.0.0.1:44029/316 --compressed > log/1/stdout316 2> log/1/stderr316 === End of file commands.log === Start of file http_server.log 14:53:28.848611 ====> Client connect 14:53:28.848647 accept_connection 3 returned 4 14:53:28.848668 accept_connection 3 returned 0 14:53:28.848685 Read 93 bytes 14:53:28.848696 Process 93 bytes request 14:53:28.848711 Got request: GET /verifiedserver HTTP/1.1 14:53:28.848722 Are-we-friendly question received 14:53:28.848746 Wrote request (93 bytes) input to log/1/server.input 14:53:28.848764 Identifying ourselves as friends 14:53:28.848820 Response sent (56 bytes) and written to log/1/server.response 14:53:28.848832 special request received, no persistency 14:53:28.848843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 316 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind316 ==93002== ==93002== Process terminating with default action of signal 4 (SIGILL) ==93002== Illegal opcode at address 0x4014B6F ==93002== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93002== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93002== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93002== by 0x4004266: main (tool_main.c:199) === End of file valgrind316 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40705 (log/17/server/ftp_server.port) RUN: FTP server is PID 91632 port 40705 * pid ftp => 91632 91632 test 0280...[FTP --ftp-alternative-to-user on USER failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind280 ../src/curl -q --output log/17/curl280.out --include --trace-ascii log/17/trace280 --trace-time ftp://127.0.0.1:40705/280/ --ftp-alternative-to-user "USER replacement" > log/17/stdout280 2> log/17/stderr280 280: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind280 ../src/curl -q --output log/17/curl280.out --include --trace-ascii log/17/trace280 --trace-time ftp://127.0.0.1:40705/280/ --ftp-alternative-to-user "USER replacement" > log/17/stdout280 2> log/17/stderr280 === End of file commands.log === Start of file ftp_server.log 14:53:27.821284 FTP server listens on port IPv4/40705 14:53:27.821372 logged pid 91632 in log/17/server/ftp_server.pid 14:53:27.821399 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:27.903818 Running IPv4 version 14:53:27.903890 Listening on port 40705 14:53:27.903933 Wrote pid 91723 to log/17/server/ftp_sockctrl.pid 14:53:27.903972 Wrote port 40705 to log/17/server/ftp_server.port 14:53:27.903995 Received PING (on stdin) === End of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind283 ../src/curl -q --output log/11/curl283.out --include --trace-ascii log/11/trace283 --trace-time tftp://127.0.0.1:56517//invalid-file --tftp-blksize 1024 > log/11/stdout283 2> log/11/stderr283 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind284 ../src/curl -q --output log/12/curl284.out --include --trace-ascii log/12/trace284 --trace-time tftp://127.0.0.1:51375//284 > log/12/stdout284 2> log/12/stderr284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind285 ../src/curl -q --output log/2/curl285.out --include --trace-ascii log/2/trace285 --trace-time -T log/2/test285.txt tftp://127.0.0.1:33731// --connect-timeout 549 > log/2/stdout285 2> log/2/stderr285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind286 ../src/curl -q --output log/18/curl286.out --include --trace-ascii log/18/trace286 --trace-time -T log/18/test286.txt tftp://127.0.0.1:43342// > log/18/stdout286 2> log/18/stderr286 ftp_sockctrl.log === Start of file server.cmd REPLY USER 530 We don't like USER commands COUNT USER 1 Testnum 280 === End of file server.cmd === Start of file valgrind280 ==93007== ==93007== Process terminating with default action of signal 4 (SIGILL) ==93007== Illegal opcode at address 0x4014B6F ==93007== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93007== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93007== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93007== by 0x4004266: main (tool_main.c:199) === End of file valgrind280 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/11/server/tftp_server.pid" --portfile "log/11/server/tftp_server.port" --logfile "log/11/tftp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 91659 port 56517 * pid tftp => 91659 91659 test 0283...[TFTP retrieve on invalid file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind283 ../src/curl -q --output log/11/curl283.out --include --trace-ascii log/11/trace283 --trace-time tftp://127.0.0.1:56517//invalid-file --tftp-blksize 1024 > log/11/stdout283 2> log/11/stderr283 283: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind283 ../src/curl -q --output log/11/curl283.out --include --trace-ascii log/11/trace283 --trace-time tftp://127.0.0.1:56517//invalid-file --tftp-blksize 1024 > log/11/stdout283 2> log/11/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 14:53:27.904428 Wrote pid 91659 to log/11/server/tftp_server.pid 14:53:27.904490 Wrote port 56517 to log/11/server/tftp_server.port 14:53:27.904503 Running IPv4 version on port UDP/56517 === End of file tftp_server.log === Start of file valgrind283 ==93052== ==93052== Process terminating with default action of signal 4 (SIGILL) ==93052== Illegal opcode at address 0x4014B6F ==93052== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93052== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93052== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93052== by 0x4004266: main (tool_main.c:199) === End of file valgrind283 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/12/server/tftp_server.pid" --portfile "log/12/server/tftp_server.port" --logfile "log/12/tftp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 91736 port 51375 * pid tftp => 91736 91736 test 0284...[TFTP retrieve of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind284 ../src/curl -q --output log/12/curl284.out --include --trace-ascii log/12/trace284 --trace-time tftp://127.0.0.1:51375//284 > log/12/stdout284 2> log/12/stderr284 284: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind284 ../src/curl -q --output log/12/curl284.out --include --trace-ascii log/12/trace284 --trace-time tftp://127.0.0.1:51375//284 > log/12/stdout284 2> log/12/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 14:53:27.927663 Wrote pid 91736 to log/12/server/tftp_server.pid 14:53:27.927747 Wrote port 51375 to log/12/server/tftp_server.port 14:53:27.927762 Running IPv4 version on port UDP/51375 === End of file tftp_server.log === Start of file valgrind284 ==93127== ==93127== Process terminating with default action of signal 4 (SIGILL) ==93127== Illegal opcode at address 0x4014B6F ==93127== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93127== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93127== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93127== by 0x4004266: main (tool_main.c:199) === End of file valgrind284 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/2/server/tftp_server.pid" --portfile "log/2/server/tftp_server.port" --logfile "log/2/tftp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 91747 port 33731 * pid tftp => 91747 91747 test 0285...[TFTP send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind285 ../src/curl -q --output log/2/curl285.out --include --trace-ascii log/2/trace285 --trace-time -T log/2/test285.txt tftp://127.0.0.1:33731// --connect-timeout 549 > log/2/stdout285 2> log/2/stderr285 285: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind285 ../src/curl -q --output log/2/curl285.out --include --trace-ascii log/2/trace285 --trace-time -T log/2/test285.txt tftp://127.0.0.1:33731// --connect-timeout 549 > log/2/stdout285 2> log/2/stderr285 === End of file commands.log === Start of file server.cmd Testnum 285 === End of file server.cmd === Start of file test285.txt a chunk of data sent to server === End of file test285.txt === Start of file tftp_server.log 14:53:27.933353 Wrote pid 91747 to log/2/server/tftp_server.pid 14:53:27.933398 Wrote port 33731 to log/2/server/tftp_server.port 14:53:27.933409 Running IPv4 version on port UDP/33731 === End of file tftp_server.log === Start of file valgrind285 ==93137== ==93137== Process terminating with default action of signal 4 (SIGILL) ==93137== Illegal opcode at address 0x4014B6F ==93137== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93137== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93137== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93137== by 0x4004266: main (tool_main.c:199) === End of file valgrind285 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/18/server/tftp_server.pid" --portfile "log/18/server/tftp_server.port" --logfile "log/18/tftp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 91764 port 43342 * pid tftp => 91764 91764 test 0286...[TFTP send of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind286 ../src/curl -q --output log/18/curl286.out --include --trace-ascii log/18/trace286 --trace-time -T log/18/test286.txt tftp://127.0.0.1:43342// > log/18/stdout286 2> log/18/stderr286 286: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=mCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind317 ../src/curl -q --output log/16/curl317.out --include --trace-ascii log/16/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:34475 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/16/stdout317 2> log/16/stderr317 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind318 ../src/curl -q --output log/5/curl318.out --include --trace-ascii log/5/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:46041 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/5/stdout318 2> log/5/stderr318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/trace319 --trace-time http://127.0.0.1:40545/319 --raw > log/7/stdout319 2> log/7/stderr319 emcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind286 ../src/curl -q --output log/18/curl286.out --include --trace-ascii log/18/trace286 --trace-time -T log/18/test286.txt tftp://127.0.0.1:43342// > log/18/stdout286 2> log/18/stderr286 === End of file commands.log === Start of file server.cmd Testnum 286 === End of file server.cmd === Start of file test286.txt A chunk of data which exactly fits into a 512 byte TFTP block, testing a boundary condition in the TFTP transmit code. 89ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF === End of file test286.txt === Start of file tftp_server.log 14:53:27.939874 Wrote pid 91764 to log/18/server/tftp_server.pid 14:53:27.939914 Wrote port 43342 to log/18/server/tftp_server.port 14:53:27.939925 Running IPv4 version on port UDP/43342 === End of file tftp_server.log === Start of file valgrind286 ==93184== ==93184== Process terminating with default action of signal 4 (SIGILL) ==93184== Illegal opcode at address 0x4014B6F ==93184== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93184== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93184== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93184== by 0x4004266: main (tool_main.c:199) === End of file valgrind286 test 0317...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind317 ../src/curl -q --output log/16/curl317.out --include --trace-ascii log/16/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:34475 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/16/stdout317 2> log/16/stderr317 317: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind317 ../src/curl -q --output log/16/curl317.out --include --trace-ascii log/16/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:34475 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/16/stdout317 2> log/16/stderr317 === End of file commands.log === Start of file http_server.log 14:53:29.006210 ====> Client connect 14:53:29.006236 accept_connection 3 returned 4 14:53:29.006250 accept_connection 3 returned 0 14:53:29.006263 Read 93 bytes 14:53:29.006272 Process 93 bytes request 14:53:29.006283 Got request: GET /verifiedserver HTTP/1.1 14:53:29.006292 Are-we-friendly question received 14:53:29.006312 Wrote request (93 bytes) input to log/16/server.input 14:53:29.006337 Identifying ourselves as friends 14:53:29.006393 Response sent (56 bytes) and written to log/16/server.response 14:53:29.006405 special request received, no persistency 14:53:29.006415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind317 ==93339== ==93339== Process terminating with default action of signal 4 (SIGILL) ==93339== Illegal opcode at address 0x4014B6F ==93339== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93339== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93339== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93339== by 0x4004266: main (tool_main.c:199) === End of file valgrind317 test 0318...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind318 ../src/curl -q --output log/5/curl318.out --include --trace-ascii log/5/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:46041 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/5/stdout318 2> log/5/stderr318 318: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind318 ../src/curl -q --output log/5/curl318.out --include --trace-ascii log/5/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:46041 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/5/stdout318 2> log/5/stderr318 === End of file commands.log === Start of file http_server.log 14:53:29.013697 ====> Client connect 14:53:29.013734 accept_connection 3 returned 4 14:53:29.013753 accept_connection 3 returned 0 14:53:29.013769 Read 93 bytes 14:53:29.013781 Process 93 bytes request 14:53:29.013796 Got request: GET /verifiedserver HTTP/1.1 14:53:29.013807 Are-we-friendly question received 14:53:29.013833 Wrote request (93 bytes) input to log/5/server.input 14:53:29.013852 Identifying ourselves as friends 14:53:29.013909 Response sent (56 bytes) and written to log/5/server.response 14:53:29.013921 special request received, no persistency 14:53:29.013932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 43690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind318 ==93352== ==93352== Process terminating with default action of signal 4 (SIGILL) ==93352== Illegal opcode at address 0x4014B6F ==93352== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93352== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93352== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93352== by 0x4004266: main (tool_main.c:199) === End of file valgrind318 test 0319...[HTTP GET gobbledigook transfer-encoded data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind328 ../src/curl -q --output log/22/curl328.out --include --trace-ascii log/22/trace328 --trace-time http://127.0.0.1:42027/hello/328 --compressed > log/22/stdout328 2> log/22/stderr328 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind329 ../src/curl -q --output log/19/curl329.out --include --trace-ascii log/19/trace329 --trace-time http://127.0.0.1:33805/we/want/329 -b log/19/jar329.txt -b log/19/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:33805/we/want/3290002 > log/19/stdout329 2> log/19/stderr329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind326 ../src/curl -q --output log/24/curl326.out --trace-ascii log/24/trace326 --trace-time http://127.0.0.1:34449/326 --raw > log/24/stdout326 2> log/24/stderr326 ce319 --trace-time http://127.0.0.1:40545/319 --raw > log/7/stdout319 2> log/7/stderr319 319: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/trace319 --trace-time http://127.0.0.1:40545/319 --raw > log/7/stdout319 2> log/7/stderr319 === End of file commands.log === Start of file http_server.log 14:53:29.109723 ====> Client connect 14:53:29.109755 accept_connection 3 returned 4 14:53:29.109772 accept_connection 3 returned 0 14:53:29.109787 Read 93 bytes 14:53:29.109798 Process 93 bytes request 14:53:29.109811 Got request: GET /verifiedserver HTTP/1.1 14:53:29.109822 Are-we-friendly question received 14:53:29.109847 Wrote request (93 bytes) input to log/7/server.input 14:53:29.109864 Identifying ourselves as friends 14:53:29.109911 Response sent (56 bytes) and written to log/7/server.response 14:53:29.109921 special request received, no persistency 14:53:29.109930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 52804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 319 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind319 ==93463== ==93463== Process terminating with default action of signal 4 (SIGILL) ==93463== Illegal opcode at address 0x4014B6F ==93463== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93463== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93463== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93463== by 0x4004266: main (tool_main.c:199) === End of file valgrind319 test 0328...[HTTP with "Content-Encoding: none] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind328 ../src/curl -q --output log/22/curl328.out --include --trace-ascii log/22/trace328 --trace-time http://127.0.0.1:42027/hello/328 --compressed > log/22/stdout328 2> log/22/stderr328 328: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind328 ../src/curl -q --output log/22/curl328.out --include --trace-ascii log/22/trace328 --trace-time http://127.0.0.1:42027/hello/328 --compressed > log/22/stdout328 2> log/22/stderr328 === End of file commands.log === Start of file http_server.log 14:53:29.231005 ====> Client connect 14:53:29.231037 accept_connection 3 returned 4 14:53:29.231054 accept_connection 3 returned 0 14:53:29.231069 Read 93 bytes 14:53:29.231080 Process 93 bytes request 14:53:29.231095 Got request: GET /verifiedserver HTTP/1.1 14:53:29.231105 Are-we-friendly question received 14:53:29.231133 Wrote request (93 bytes) input to log/22/server.input 14:53:29.231150 Identifying ourselves as friends 14:53:29.231207 Response sent (56 bytes) and written to log/22/server.response 14:53:29.231219 special request received, no persistency 14:53:29.231230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind328 ==93616== ==93616== Process terminating with default action of signal 4 (SIGILL) ==93616== Illegal opcode at address 0x4014B6F ==93616== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93616== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93616== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93616== by 0x4004266: main (tool_main.c:199) === End of file valgrind328 setenv TZ = GMT test 0329...[HTTP cookie with Max-Age=0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind329 ../src/curl -q --output log/19/curl329.out --include --trace-ascii log/19/trace329 --trace-time http://127.0.0.1:33805/we/want/329 -b log/19/jar329.txt -b log/19/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:33805/we/want/3290002 > log/19/stdout329 2> log/19/stderr329 329: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind329 ../src/curl -q --output log/19/curl329.out --include --trace-ascii log/19/trace329 --trace-time http://127.0.0.1:33805/we/want/329 -b log/19/jar329.txt -b log/19/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:33805/we/want/3290002 > log/19/stdout329 2> log/19/stderr329 === End of file commands.log === Start of file http_server.log 14:53:28.237218 ====> Client connect 14:53:28.237250 accept_connection 3 returned 4 14:53:28.237267 accept_connection 3 returned 0 14:53:28.237282 Read 93 bytes 14:53:28.237293 Process 93 bytes request 14:53:28.237307 Got request: GET /verifiedserver HTTP/1.1 14:53:28.237317 Are-we-friendly question received 14:53:28.237342 Wrote request (93 bytes) input to log/19/server.input 14:53:28.237359 Identifying ourselves as friends 14:53:28.237411 Response sent (56 bytes) and written to log/19/server.response 14:53:28.237421 special request received, no persistency 14:53:28.237431 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file jar329.txt .host.foo.com TRUE /we/want/ FALSE 22147483647 test no .host.foo.com TRUE /we/want/ FALSE 22147483647 tester yes === End of file jar329.txt === Start of file server.cmd Testnum 329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:42107/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:42107/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:37085 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 e server.response === Start of file valgrind329 ==93657== ==93657== Process terminating with default action of signal 4 (SIGILL) ==93657== Illegal opcode at address 0x4014B6F ==93657== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93657== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93657== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93657== by 0x4004266: main (tool_main.c:199) === End of file valgrind329 test 0326...[HTTP GET chunked data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind326 ../src/curl -q --output log/24/curl326.out --trace-ascii log/24/trace326 --trace-time http://127.0.0.1:34449/326 --raw > log/24/stdout326 2> log/24/stderr326 326: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind326 ../src/curl -q --output log/24/curl326.out --trace-ascii log/24/trace326 --trace-time http://127.0.0.1:34449/326 --raw > log/24/stdout326 2> log/24/stderr326 === End of file commands.log === Start of file http_server.log 14:53:29.221212 ====> Client connect 14:53:29.221246 accept_connection 3 returned 4 14:53:29.221277 accept_connection 3 returned 0 14:53:29.221294 Read 93 bytes 14:53:29.221306 Process 93 bytes request 14:53:29.221321 Got request: GET /verifiedserver HTTP/1.1 14:53:29.221333 Are-we-friendly question received 14:53:29.221359 Wrote request (93 bytes) input to log/24/server.input 14:53:29.221378 Identifying ourselves as friends 14:53:29.221438 Response sent (56 bytes) and written to log/24/server.response 14:53:29.221449 special request received, no persistency 14:53:29.221460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 37262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind326 ==93578== ==93578== Process terminating with default action of signal 4 (SIGILL) ==93578== Illegal opcode at address 0x4014B6F ==93578== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93578== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93578== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93578== by 0x4004266: main (tool_main.c:199) === End of file valgrind326 test 0327...[HTTP with cookiejar without cookies left] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:42107/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:42107/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 327: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 327 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:42107/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:42107/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 === End of file commands.log === Start of file http_server.log 14:53:29.224507 ====> Client connect 14:53:29.224573 accept_connection 3 returned 4 14:53:29.224591 accept_connection 3 returned 0 14:53:29.224607 Read 93 bytes 14:53:29.224618 Process 93 bytes request 14:53:29.224630 Got request: GET /verifiedserver HTTP/1.1 14:53:29.224641 Are-we-friendly question received 14:53:29.224665 Wrote request (93 bytes) input to log/15/server.input 14:53:29.224696 Identifying ourselves as friends 14:53:29.225221 Response sent (56 bytes) and written to log/15/server.response 14:53:29.225301 special request received, no persistency 14:53:29.225313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind327 ==93611== ==93611== Process terminating with default action of signal 4 (SIGILL) ==93611== Illegal opcode at address 0x4014B6F ==93611== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93611== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93611== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93611== by 0x4004266: main (tool_main.c:199) === End of file valgrind327 test 0331...[HTTP with cookie using host name 'moo'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:37085 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 331: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:37085 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 === End of file commands.log === Start of file http_server.log 14:53:28.252152 ====> Client connect 14:53:28.252191 accept_connection 3 returned 4 14:53:28.252212 accept_connection 3 returned 0 14:53:28.252414 Read 93 bytes 14:53:28.252432 Process 93 bytes request 14:53:28.252451 Got request: GET /verifiedserver HTTP/1.1 14:53:28.252462 Are-we-friendly question received 14:53:28.252503 Wrote request (93 bytes) input to log/8/server.input 14:53:28.252522 Identifying ourselves as friends 14:53:28.252584 Response sent (56 bytes) and written to log/8/server.response 14:53:28.252597 special request received, no persistency 14:53:28.252608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connectionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind330 ../src/curl -q --output log/9/curl330.out --include --trace-ascii log/9/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:34345 -H "Cookie: test=yes" --location > log/9/stdout330 2> log/9/stderr330 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind333 ../src/curl -q --output log/21/curl333.out --include --trace-ascii log/21/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/21/stdout333 2> log/21/stderr333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind334 ../src/curl -q --output log/3/curl334.out --include --trace-ascii log/3/trace334 --trace-time http://127.0.0.1:46791/want/334 > log/3/stdout334 2> log/3/stderr334 to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind331 ==93727== ==93727== Process terminating with default action of signal 4 (SIGILL) ==93727== Illegal opcode at address 0x4014B6F ==93727== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93727== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93727== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93727== by 0x4004266: main (tool_main.c:199) === End of file valgrind331 test 0330...[HTTP with custom Cookie: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind330 ../src/curl -q --output log/9/curl330.out --include --trace-ascii log/9/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:34345 -H "Cookie: test=yes" --location > log/9/stdout330 2> log/9/stderr330 330: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 330 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind330 ../src/curl -q --output log/9/curl330.out --include --trace-ascii log/9/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:34345 -H "Cookie: test=yes" --location > log/9/stdout330 2> log/9/stderr330 === End of file commands.log === Start of file http_server.log 14:53:29.246385 ====> Client connect 14:53:29.246416 accept_connection 3 returned 4 14:53:29.246431 accept_connection 3 returned 0 14:53:29.246444 Read 93 bytes 14:53:29.246454 Process 93 bytes request 14:53:29.246464 Got request: GET /verifiedserver HTTP/1.1 14:53:29.246472 Are-we-friendly question received 14:53:29.246492 Wrote request (93 bytes) input to log/9/server.input 14:53:29.246506 Identifying ourselves as friends 14:53:29.246553 Response sent (56 bytes) and written to log/9/server.response 14:53:29.246562 special request received, no persistency 14:53:29.246570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 58406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 330 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind330 ==93701== ==93701== Process terminating with default action of signal 4 (SIGILL) ==93701== Illegal opcode at address 0x4014B6F ==93701== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93701== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93701== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93701== by 0x4004266: main (tool_main.c:199) === End of file valgrind330 test 0333...[Try a non-boolean command line option with --no-] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind333 ../src/curl -q --output log/21/curl333.out --include --trace-ascii log/21/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/21/stdout333 2> log/21/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/21/ dir after test 333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind333 ../src/curl -q --output log/21/curl333.out --include --trace-ascii log/21/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/21/stdout333 2> log/21/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==93913== ==93913== Process terminating with default action of signal 4 (SIGILL) ==93913== Illegal opcode at address 0x4014B6F ==93913== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==93913== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==93913== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==93913== by 0x4004266: main (tool_main.c:199) === End of file valgrind333 test 0334...[HTTP 204 No content with chunked header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind334 ../src/curl -q --output log/3/curl334.out --include --trace-ascii log/3/trace334 --trace-time http://127.0.0.1:46791/want/334 > log/3/stdout334 2> log/3/stderr334 334: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind334 ../src/curl -q --output log/3/curl334.out --include --trace-ascii log/3/trace334 --trace-time http://127.0.0.1:46791/want/334 > log/3/stdout334 2> log/3/stderr334 === End of file commands.log === Start of file http_server.log 14:53:29.467848 ====> Client connect 14:53:29.467891 accept_connection 3 returned 4 14:53:29.467910 accept_connection 3 returned 0 14:53:29.467926 Read 93 bytes 14:53:29.467938 Process 93 bytes request 14:53:29.467954 Got request: GET /verifiedserver HTTP/1.1 14:53:29.467964 Are-we-friendly question received 14:53:29.467991 Wrote request (93 bytes) input to log/3/server.input 14:53:29.468010 Identifying ourselves as friends 14:53:29.468072 Response sent (56 bytes) and written to log/3/server.response 14:53:29.468083 special request received, no persistency 14:53:29.468093 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind334 ==94006== ==94006== Process terminating with default action of signal 4 (SIGILL) ==94006== Illegal opcode at address 0x4014B6F ==94006== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94006=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind336 ../src/curl -q --output log/23/curl336.out --include --trace-ascii log/23/trace336 --trace-time ftp://127.0.0.1:39001/336 --range 3-6 > log/23/stdout336 2> log/23/stderr336 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind335 ../src/curl -q --output log/10/curl335.out --include --trace-ascii log/10/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35893 --proxy-digest --digest > log/10/stdout335 2> log/10/stderr335 = by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94006== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94006== by 0x4004266: main (tool_main.c:199) === End of file valgrind334 test 0336...[FTP range download when SIZE doesn't work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind336 ../src/curl -q --output log/23/curl336.out --include --trace-ascii log/23/trace336 --trace-time ftp://127.0.0.1:39001/336 --range 3-6 > log/23/stdout336 2> log/23/stderr336 336: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind336 ../src/curl -q --output log/23/curl336.out --include --trace-ascii log/23/trace336 --trace-time ftp://127.0.0.1:39001/336 --range 3-6 > log/23/stdout336 2> log/23/stderr336 === End of file commands.log === Start of file ftp_server.log 14:53:29.405690 ====> Client connect 14:53:29.405932 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:29.406260 < "USER anonymous" 14:53:29.406311 > "331 We are happy you popped in![CR][LF]" 14:53:29.406497 < "PASS ftp@example.com" 14:53:29.406529 > "230 Welcome you silly person[CR][LF]" 14:53:29.406689 < "PWD" 14:53:29.406720 > "257 "/" is current directory[CR][LF]" 14:53:29.406903 < "EPSV" 14:53:29.406928 ====> Passive DATA channel requested by client 14:53:29.406942 DATA sockfilt for passive data channel starting... 14:53:29.409307 DATA sockfilt for passive data channel started (pid 94040) 14:53:29.409443 DATA sockfilt for passive data channel listens on port 46535 14:53:29.409486 > "229 Entering Passive Mode (|||46535|)[LF]" 14:53:29.409508 Client has been notified that DATA conn will be accepted on port 46535 14:53:29.409782 Client connects to port 46535 14:53:29.409814 ====> Client established passive DATA connection on port 46535 14:53:29.409897 < "TYPE I" 14:53:29.409929 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:29.410098 < "SIZE verifiedserver" 14:53:29.410133 > "213 17[CR][LF]" 14:53:29.410317 < "RETR verifiedserver" 14:53:29.410352 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:29.410444 =====> Closing passive DATA connection... 14:53:29.410461 Server disconnects passive DATA connection 14:53:29.410708 Server disconnected passive DATA connection 14:53:29.410737 DATA sockfilt for passive data channel quits (pid 94040) 14:53:29.410939 DATA sockfilt for passive data channel quit (pid 94040) 14:53:29.410963 =====> Closed passive DATA connection 14:53:29.410989 > "226 File transfer complete[CR][LF]" 14:53:29.454083 < "QUIT" 14:53:29.454142 > "221 bye bye baby[CR][LF]" 14:53:29.455081 MAIN sockfilt said DISC 14:53:29.455109 ====> Client disconnected 14:53:29.455186 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:29.488382 ====> Client connect 14:53:29.488770 Received DATA (on stdin) 14:53:29.488788 > 160 bytes data, server => client 14:53:29.488802 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:29.488815 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:29.488826 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:29.488918 < 16 bytes data, client => server 14:53:29.488932 'USER anonymous\r\n' 14:53:29.489133 Received DATA (on stdin) 14:53:29.489146 > 33 bytes data, server => client 14:53:29.489159 '331 We are happy you popped in!\r\n' 14:53:29.489213 < 22 bytes data, client => server 14:53:29.489226 'PASS ftp@example.com\r\n' 14:53:29.489348 Received DATA (on stdin) 14:53:29.489361 > 30 bytes data, server => client 14:53:29.489372 '230 Welcome you silly person\r\n' 14:53:29.489420 < 5 bytes data, client => server 14:53:29.489431 'PWD\r\n' 14:53:29.489538 Received DATA (on stdin) 14:53:29.489551 > 30 bytes data, server => client 14:53:29.489562 '257 "/" is current directory\r\n' 14:53:29.489621 < 6 bytes data, client => server 14:53:29.489633 'EPSV\r\n' 14:53:29.492336 Received DATA (on stdin) 14:53:29.492352 > 38 bytes data, server => client 14:53:29.492365 '229 Entering Passive Mode (|||46535|)\n' 14:53:29.492509 < 8 bytes data, client => server 14:53:29.492526 'TYPE I\r\n' 14:53:29.492750 Received DATA (on stdin) 14:53:29.492764 > 33 bytes data, server => client 14:53:29.492776 '200 I modify TYPE as you wanted\r\n' 14:53:29.492828 < 21 bytes data, client => server 14:53:29.492841 'SIZE verifiedserver\r\n' 14:53:29.492952 Received DATA (on stdin) 14:53:29.492965 > 8 bytes data, server => client 14:53:29.492977 '213 17\r\n' 14:53:29.493045 < 21 bytes data, client => server 14:53:29.493059 'RETR verifiedserver\r\n' 14:53:29.493281 Received DATA (on stdin) 14:53:29.493294 > 29 bytes data, server => client 14:53:29.493307 '150 Binary junk (17 bytes).\r\n' 14:53:29.493807 Received DATA (on stdin) 14:53:29.493822 > 28 bytes data, server => client 14:53:29.493835 '226 File transfer complete\r\n' 14:53:29.536694 < 6 bytes data, client => server 14:53:29.536729 'QUIT\r\n' 14:53:29.536967 Received DATA (on stdin) 14:53:29.536982 > 18 bytes data, server => client 14:53:29.536995 '221 bye bye baby\r\n' 14:53:29.537847 ====> Client disconnect 14:53:29.538005 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:29.491708 Running IPv4 version 14:53:29.491785 Listening on port 46535 14:53:29.491823 Wrote pid 94040 to log/23/server/ftp_sockdata.pid 14:53:29.491845 Received PING (on stdin) 14:53:29.492166 Received PORT (on stdin) 14:53:29.492548 ====> Client connect 14:53:29.493335 Received DATA (on stdin) 14:53:29.493349 > 17 bytes data, server => client 14:53:29.493362 'WE ROOLZ: 80287\r\n' 14:53:29.493386 Received DISC (on stdin) 14:53:29.493399 ====> Client forcibly disconnected 14:53:29.493562 Received QUIT (on stdin) 14:53:29.493575 quits 14:53:29.493632 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 500 no such command Testnum 336 === End of file server.cmd === Start of file valgrind336 ==94124== ==94124== Process terminating with default action of signal 4 (SIGILL) ==94124== Illegal opcode at address 0x4014B6F ==94124== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94124== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94124== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94124== by 0x4004266: main (tool_main.c:199) === End of file valgrind336 test 0335...[HTTP with proxy Digest and site Digest with creds in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind335 ../src/curl -q --output log/10/curl335.out --include --trace-ascii log/10/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35893 --proxy-digest --digest > log/10/stdout335 2> log/10/stderr335 335: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind335 ../src/curl -q --output log/10/curl335.out --include --trace-ascii log/10/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35893 --proxy-digest --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind337 ../src/curl -q --output log/6/curl337.out --include --trace-ascii log/6/trace337 --trace-time ftp://127.0.0.1:36077/337 --range 3-6 > log/6/stdout337 2> log/6/stderr337 digest > log/10/stdout335 2> log/10/stderr335 === End of file commands.log === Start of file http_server.log 14:53:29.493336 ====> Client connect 14:53:29.493372 accept_connection 3 returned 4 14:53:29.493392 accept_connection 3 returned 0 14:53:29.493408 Read 93 bytes 14:53:29.493419 Process 93 bytes request 14:53:29.493435 Got request: GET /verifiedserver HTTP/1.1 14:53:29.493446 Are-we-friendly question received 14:53:29.493476 Wrote request (93 bytes) input to log/10/server.input 14:53:29.493494 Identifying ourselves as friends 14:53:29.493557 Response sent (56 bytes) and written to log/10/server.response 14:53:29.493569 special request received, no persistency 14:53:29.493580 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind335 ==94070== ==94070== Process terminating with default action of signal 4 (SIGILL) ==94070== Illegal opcode at address 0x4014B6F ==94070== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94070== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94070== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94070== by 0x4004266: main (tool_main.c:199) === End of file valgrind335 test 0337...[FTP range download with SIZE returning extra crap] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind337 ../src/curl -q --output log/6/curl337.out --include --trace-ascii log/6/trace337 --trace-time ftp://127.0.0.1:36077/337 --range 3-6 > log/6/stdout337 2> log/6/stderr337 337: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind337 ../src/curl -q --output log/6/curl337.out --include --trace-ascii log/6/trace337 --trace-time ftp://127.0.0.1:36077/337 --range 3-6 > log/6/stdout337 2> log/6/stderr337 === End of file commands.log === Start of file ftp_server.log 14:53:29.611580 ====> Client connect 14:53:29.611752 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:29.612074 < "USER anonymous" 14:53:29.612112 > "331 We are happy you popped in![CR][LF]" 14:53:29.612305 < "PASS ftp@example.com" 14:53:29.612339 > "230 Welcome you silly person[CR][LF]" 14:53:29.612526 < "PWD" 14:53:29.612559 > "257 "/" is current directory[CR][LF]" 14:53:29.612756 < "EPSV" 14:53:29.612781 ====> Passive DATA channel requested by client 14:53:29.612796 DATA sockfilt for passive data channel starting... 14:53:29.614373 DATA sockfilt for passive data channel started (pid 94198) 14:53:29.614461 DATA sockfilt for passive data channel listens on port 43781 14:53:29.614491 > "229 Entering Passive Mode (|||43781|)[LF]" 14:53:29.614505 Client has been notified that DATA conn will be accepted on port 43781 14:53:29.614663 Client connects to port 43781 14:53:29.614688 ====> Client established passive DATA connection on port 43781 14:53:29.614779 < "TYPE I" 14:53:29.614802 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:29.614927 < "SIZE verifiedserver" 14:53:29.614955 > "213 17[CR][LF]" 14:53:29.615075 < "RETR verifiedserver" 14:53:29.615101 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:29.615165 =====> Closing passive DATA connection... 14:53:29.615177 Server disconnects passive DATA connection 14:53:29.615367 Server disconnected passive DATA connection 14:53:29.615388 DATA sockfilt for passive data channel quits (pid 94198) 14:53:29.615548 DATA sockfilt for passive data channel quit (pid 94198) 14:53:29.615567 =====> Closed passive DATA connection 14:53:29.615588 > "226 File transfer complete[CR][LF]" 14:53:29.658960 < "QUIT" 14:53:29.659020 > "221 bye bye baby[CR][LF]" 14:53:29.660090 MAIN sockfilt said DISC 14:53:29.660124 ====> Client disconnected 14:53:29.660209 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.694274 ====> Client connect 14:53:28.694587 Received DATA (on stdin) 14:53:28.694606 > 160 bytes data, server => client 14:53:28.694621 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.694634 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.694646 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.694733 < 16 bytes data, client => server 14:53:28.694751 'USER anonymous\r\n' 14:53:28.694934 Received DATA (on stdin) 14:53:28.694949 > 33 bytes data, server => client 14:53:28.694962 '331 We are happy you popped in!\r\n' 14:53:28.695019 < 22 bytes data, client => server 14:53:28.695035 'PASS ftp@example.com\r\n' 14:53:28.695161 Received DATA (on stdin) 14:53:28.695176 > 30 bytes data, server => client 14:53:28.695189 '230 Welcome you silly person\r\n' 14:53:28.695246 < 5 bytes data, client => server 14:53:28.695262 'PWD\r\n' 14:53:28.695381 Received DATA (on stdin) 14:53:28.695395 > 30 bytes data, server => client 14:53:28.695408 '257 "/" is current directory\r\n' 14:53:28.695475 < 6 bytes data, client => server 14:53:28.695492 'EPSV\r\n' 14:53:28.697324 Received DATA (on stdin) 14:53:28.697336 > 38 bytes data, server => client 14:53:28.697346 '229 Entering Passive Mode (|||43781|)\n' 14:53:28.697511 < 8 bytes data, client => server 14:53:28.697522 'TYPE I\r\n' 14:53:28.697615 Received DATA (on stdin) 14:53:28.697625 > 33 bytes data, server => client 14:53:28.697634 '200 I modify TYPE as you wanted\r\n' 14:53:28.697675 < 21 bytes data, client => server 14:53:28.697684 'SIZE verifiedserver\r\n' 14:53:28.697768 Received DATA (on stdin) 14:53:28.697778 > 8 bytes data, server => client 14:53:28.697787 '213 17\r\n' 14:53:28.697824 < 21 bytes data, client => server 14:53:28.697833 'RETR verifiedserver\r\n' 14:53:28.697992 Received DATA (on stdin) 14:53:28.698002 > 29 bytes data, server => client 14:53:28.698011 '150 Binary junk (17 bytes).\r\n' 14:53:28.698402 Received DATA (on stdin) 14:53:28.698414 > 28 bytes data, server => client 14:53:28.698424 '226 File transfer complete\r\n' 14:53:28.741535 < 6 bytes data, client => server 14:53:28.741563 'QUIT\r\n' 14:53:28.741818 Received DATA (on stdin) 14:53:28.741842 > 18 bytes data, server => client 14:53:28.741857 '221 bye bye baby\r\n' 14:53:28.742852 ====> Client disconnect 14:53:28.743035 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:29.696953 Running IPv4 version 14:53:29.696996 Listening on port 43781 14:53:29.697025 Wrote pid 94198 to log/6/server/ftp_sockdata.pid 14:53:29.697142 Received PING (on stdin) 14:53:29.697207 Received PORT (on stdin) 14:53:29.697434 ====> Client connect 14:53:29.698032 Received DATA (on stdin) 14:53:29.698043 > 17 bytes data, server => client 14:53:29.698052 'WE ROOLZ: 80241\r\n' 14:53:29.698071 Received DISC (on stdin) 14:53:29.698080 ====> Client forcibly disconnected 14:53:29.698210 Received QUIT (on stdin) 14:53:29.698220 quits 14:53:29.698266 ============> sockfilt quits === End of file ftp_sockdata.log === Start of fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind339 ../src/curl -q --output log/20/curl339.out --include --trace-ascii log/20/trace339 --trace-time http://127.0.0.1:39569/339 --etag-save log/20/etag339 > log/20/stdout339 2> log/20/stderr339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind338 ../src/curl -q --output log/13/curl338.out --include --trace-ascii log/13/trace338 --trace-time http://127.0.0.1:41533/338 --next http://127.0.0.1:41533/338 --anyauth -u foo:moo > log/13/stdout338 2> log/13/stderr338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind341 ../src/curl -q --output log/17/curl341.out --include --trace-ascii log/17/trace341 --trace-time http://127.0.0.1:45171/341 --etag-compare log/17/etag341 > log/17/stdout341 2> log/17/stderr341 le server.cmd REPLY EPSV 500 no such command REPLY SIZE 213 file: 213, Size =51 Testnum 337 === End of file server.cmd === Start of file valgrind337 ==94206== ==94206== Process terminating with default action of signal 4 (SIGILL) ==94206== Illegal opcode at address 0x4014B6F ==94206== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94206== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94206== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94206== by 0x4004266: main (tool_main.c:199) === End of file valgrind337 test 0339...[Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind339 ../src/curl -q --output log/20/curl339.out --include --trace-ascii log/20/trace339 --trace-time http://127.0.0.1:39569/339 --etag-save log/20/etag339 > log/20/stdout339 2> log/20/stderr339 339: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind339 ../src/curl -q --output log/20/curl339.out --include --trace-ascii log/20/trace339 --trace-time http://127.0.0.1:39569/339 --etag-save log/20/etag339 > log/20/stdout339 2> log/20/stderr339 === End of file commands.log === Start of file http_server.log 14:53:29.789610 ====> Client connect 14:53:29.789641 accept_connection 3 returned 4 14:53:29.789657 accept_connection 3 returned 0 14:53:29.789687 Read 93 bytes 14:53:29.789697 Process 93 bytes request 14:53:29.789711 Got request: GET /verifiedserver HTTP/1.1 14:53:29.789721 Are-we-friendly question received 14:53:29.789839 Wrote request (93 bytes) input to log/20/server.input 14:53:29.789857 Identifying ourselves as friends 14:53:29.789912 Response sent (56 bytes) and written to log/20/server.response 14:53:29.789922 special request received, no persistency 14:53:29.789932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind339 ==94307== ==94307== Process terminating with default action of signal 4 (SIGILL) ==94307== Illegal opcode at address 0x4014B6F ==94307== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94307== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94307== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94307== by 0x4004266: main (tool_main.c:199) === End of file valgrind339 test 0338...[ANYAUTH connection reuse of non-authed connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind338 ../src/curl -q --output log/13/curl338.out --include --trace-ascii log/13/trace338 --trace-time http://127.0.0.1:41533/338 --next http://127.0.0.1:41533/338 --anyauth -u foo:moo > log/13/stdout338 2> log/13/stderr338 338: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind338 ../src/curl -q --output log/13/curl338.out --include --trace-ascii log/13/trace338 --trace-time http://127.0.0.1:41533/338 --next http://127.0.0.1:41533/338 --anyauth -u foo:moo > log/13/stdout338 2> log/13/stderr338 === End of file commands.log === Start of file http_server.log 14:53:29.779003 ====> Client connect 14:53:29.779031 accept_connection 3 returned 4 14:53:29.779045 accept_connection 3 returned 0 14:53:29.779128 Read 93 bytes 14:53:29.779150 Process 93 bytes request 14:53:29.779166 Got request: GET /verifiedserver HTTP/1.1 14:53:29.779178 Are-we-friendly question received 14:53:29.779209 Wrote request (93 bytes) input to log/13/server.input 14:53:29.779229 Identifying ourselves as friends 14:53:29.779295 Response sent (56 bytes) and written to log/13/server.response 14:53:29.779308 special request received, no persistency 14:53:29.779319 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind338 ==94283== ==94283== Process terminating with default action of signal 4 (SIGILL) ==94283== Illegal opcode at address 0x4014B6F ==94283== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94283== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94283== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94283== by 0x4004266: main (tool_main.c:199) === End of file valgrind338 test 0341...[A non existing file with --etag-compare is just a blank] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind341 ../src/curl -q --output log/17/curl341.out --include --trace-ascii log/17/trace341 --trace-time http://127.0.0.1:45171/341 --etag-compare log/17/etag341 > log/17/stdout341 2> log/17/stderr341 341: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind341 ../src/curl -q --output log/17/curl341.out --include --trace-ascii log/17/trace341 --trace-time http://127.0.0.1:45171/341 --etag-compare log/17/etag341 > log/17/stdout341 2> log/17/stderr341 === End of file commands.log === Start of file http_server.log 14:53:29.824445 ====> Client connect 14:53:29.824475 accept_connection 3 returned 4 14:53:29.824491 accept_connection 3 returned 0 14:53:29.824506 Read 93 bytes 14:53:29.824516 Process 93 bytes request 14:53:29.824528 Got request: GET /verifiedserver HTTP/1.1 14:53:29.824539 Are-we-friendly question received 14:53:29.824561 Wrote request (93 bytes) input to log/17/server.input 14:53:29.824577 Identifying ourselves as friends 14:53:29.824626 Response sent (56 bytes) and written to log/17/server.response 14:53:29.824651 special request received, no persistency 14:53:29.824659 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind340 ../src/curl -q --output log/1/curl340.out --include --trace-ascii log/1/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:43113/%00first/second/third/340 > log/1/stdout340 2> log/1/stderr340 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:33503/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind345 ../src/curl -q --output log/18/curl345.out --include --trace-ascii log/18/trace345 --trace-time http://127.0.0.1:43297/345 --etag-compare log/18/etag345 --etag-save log/18/etag345 > log/18/stdout345 2> log/18/stderr345 ===> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind341 ==94412== ==94412== Process terminating with default action of signal 4 (SIGILL) ==94412== Illegal opcode at address 0x4014B6F ==94412== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94412== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94412== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94412== by 0x4004266: main (tool_main.c:199) === End of file valgrind341 test 0340...[FTP using %00 in path with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind340 ../src/curl -q --output log/1/curl340.out --include --trace-ascii log/1/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:43113/%00first/second/third/340 > log/1/stdout340 2> log/1/stderr340 340: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind340 ../src/curl -q --output log/1/curl340.out --include --trace-ascii log/1/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:43113/%00first/second/third/340 > log/1/stdout340 2> log/1/stderr340 === End of file commands.log === Start of file ftp_server.log 14:53:29.733678 ====> Client connect 14:53:29.733864 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:29.734235 < "USER anonymous" 14:53:29.734276 > "331 We are happy you popped in![CR][LF]" 14:53:29.734462 < "PASS ftp@example.com" 14:53:29.734493 > "230 Welcome you silly person[CR][LF]" 14:53:29.734672 < "PWD" 14:53:29.734706 > "257 "/" is current directory[CR][LF]" 14:53:29.734902 < "EPSV" 14:53:29.734932 ====> Passive DATA channel requested by client 14:53:29.734948 DATA sockfilt for passive data channel starting... 14:53:29.738228 DATA sockfilt for passive data channel started (pid 94363) 14:53:29.738332 DATA sockfilt for passive data channel listens on port 34533 14:53:29.738370 > "229 Entering Passive Mode (|||34533|)[LF]" 14:53:29.738388 Client has been notified that DATA conn will be accepted on port 34533 14:53:29.738626 Client connects to port 34533 14:53:29.738653 ====> Client established passive DATA connection on port 34533 14:53:29.738719 < "TYPE I" 14:53:29.738746 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:29.738893 < "SIZE verifiedserver" 14:53:29.738926 > "213 17[CR][LF]" 14:53:29.739066 < "RETR verifiedserver" 14:53:29.739095 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:29.739176 =====> Closing passive DATA connection... 14:53:29.739191 Server disconnects passive DATA connection 14:53:29.739424 Server disconnected passive DATA connection 14:53:29.739454 DATA sockfilt for passive data channel quits (pid 94363) 14:53:29.739705 DATA sockfilt for passive data channel quit (pid 94363) 14:53:29.739728 =====> Closed passive DATA connection 14:53:29.739756 > "226 File transfer complete[CR][LF]" 14:53:29.780639 < "QUIT" 14:53:29.780697 > "221 bye bye baby[CR][LF]" 14:53:29.781741 MAIN sockfilt said DISC 14:53:29.781776 ====> Client disconnected 14:53:29.781851 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:28.816358 ====> Client connect 14:53:28.816703 Received DATA (on stdin) 14:53:28.816721 > 160 bytes data, server => client 14:53:28.816734 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:28.816747 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:28.816758 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:28.816887 < 16 bytes data, client => server 14:53:28.816907 'USER anonymous\r\n' 14:53:28.817101 Received DATA (on stdin) 14:53:28.817116 > 33 bytes data, server => client 14:53:28.817128 '331 We are happy you popped in!\r\n' 14:53:28.817185 < 22 bytes data, client => server 14:53:28.817200 'PASS ftp@example.com\r\n' 14:53:28.817314 Received DATA (on stdin) 14:53:28.817328 > 30 bytes data, server => client 14:53:28.817340 '230 Welcome you silly person\r\n' 14:53:28.817393 < 5 bytes data, client => server 14:53:28.817409 'PWD\r\n' 14:53:28.817527 Received DATA (on stdin) 14:53:28.817542 > 30 bytes data, server => client 14:53:28.817554 '257 "/" is current directory\r\n' 14:53:28.817620 < 6 bytes data, client => server 14:53:28.817637 'EPSV\r\n' 14:53:28.821211 Received DATA (on stdin) 14:53:28.821225 > 38 bytes data, server => client 14:53:28.821238 '229 Entering Passive Mode (|||34533|)\n' 14:53:28.821392 < 8 bytes data, client => server 14:53:28.821404 'TYPE I\r\n' 14:53:28.821563 Received DATA (on stdin) 14:53:28.821575 > 33 bytes data, server => client 14:53:28.821586 '200 I modify TYPE as you wanted\r\n' 14:53:28.821631 < 21 bytes data, client => server 14:53:28.821642 'SIZE verifiedserver\r\n' 14:53:28.821741 Received DATA (on stdin) 14:53:28.821753 > 8 bytes data, server => client 14:53:28.821763 '213 17\r\n' 14:53:28.821807 < 21 bytes data, client => server 14:53:28.821818 'RETR verifiedserver\r\n' 14:53:28.822010 Received DATA (on stdin) 14:53:28.822022 > 29 bytes data, server => client 14:53:28.822034 '150 Binary junk (17 bytes).\r\n' 14:53:28.822574 Received DATA (on stdin) 14:53:28.822588 > 28 bytes data, server => client 14:53:28.822601 '226 File transfer complete\r\n' 14:53:28.863261 < 6 bytes data, client => server 14:53:28.863300 'QUIT\r\n' 14:53:28.863535 Received DATA (on stdin) 14:53:28.863547 > 18 bytes data, server => client 14:53:28.863558 '221 bye bye baby\r\n' 14:53:28.864504 ====> Client disconnect 14:53:28.864668 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:29.820734 Running IPv4 version 14:53:29.820795 Listening on port 34533 14:53:29.820834 Wrote pid 94363 to log/1/server/ftp_sockdata.pid 14:53:29.820988 Received PING (on stdin) 14:53:29.821068 Received PORT (on stdin) 14:53:29.821365 ====> Client connect 14:53:29.822058 Received DATA (on stdin) 14:53:29.822071 > 17 bytes data, server => client 14:53:29.822083 'WE ROOLZ: 80194\r\n' 14:53:29.822106 Received DISC (on stdin) 14:53:29.822118 ====> Client forcibly disconnected 14:53:29.822279 Received QUIT (on stdin) 14:53:29.822291 quits 14:53:29.822350 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==94490== ==94490== Process terminating with default action of signal 4 (SIGILL) ==94490== Illegal opcode at address 0x4014B6F ==94490== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94490== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94490== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94490== by 0x4004266: main (tool_main.c:199) === End of file valgrind340 test 0342...[Check if --etag-compare set correct etag in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind343 ../src/curl -q --output log/12/curl343.out --include --trace-ascii log/12/trace343 --trace-time http://127.0.0.1:43359/343 --etag-compare log/12/etag343 --etag-save log/12/out343 > log/12/stdout343 2> log/12/stderr343 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:33503/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 342: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:33503/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 14:53:29.878196 ====> Client connect 14:53:29.878234 accept_connection 3 returned 4 14:53:29.878252 accept_connection 3 returned 0 14:53:29.878402 Read 93 bytes 14:53:29.878417 Process 93 bytes request 14:53:29.878432 Got request: GET /verifiedserver HTTP/1.1 14:53:29.878443 Are-we-friendly question received 14:53:29.878472 Wrote request (93 bytes) input to log/11/server.input 14:53:29.878491 Identifying ourselves as friends 14:53:29.878548 Response sent (56 bytes) and written to log/11/server.response 14:53:29.878560 special request received, no persistency 14:53:29.878571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind342 ==94515== ==94515== Process terminating with default action of signal 4 (SIGILL) ==94515== Illegal opcode at address 0x4014B6F ==94515== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94515== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94515== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94515== by 0x4004266: main (tool_main.c:199) === End of file valgrind342 test 0343...[Both --etag-compare and --etag-save to save new Etag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind343 ../src/curl -q --output log/12/curl343.out --include --trace-ascii log/12/trace343 --trace-time http://127.0.0.1:43359/343 --etag-compare log/12/etag343 --etag-save log/12/out343 > log/12/stdout343 2> log/12/stderr343 343: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind343 ../src/curl -q --output log/12/curl343.out --include --trace-ascii log/12/trace343 --trace-time http://127.0.0.1:43359/343 --etag-compare log/12/etag343 --etag-save log/12/out343 > log/12/stdout343 2> log/12/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 14:53:29.885893 ====> Client connect 14:53:29.885952 accept_connection 3 returned 4 14:53:29.885982 accept_connection 3 returned 0 14:53:29.886152 Read 93 bytes 14:53:29.886170 Process 93 bytes request 14:53:29.886186 Got request: GET /verifiedserver HTTP/1.1 14:53:29.886197 Are-we-friendly question received 14:53:29.886232 Wrote request (93 bytes) input to log/12/server.input 14:53:29.886253 Identifying ourselves as friends 14:53:29.886314 Response sent (56 bytes) and written to log/12/server.response 14:53:29.886371 special request received, no persistency 14:53:29.886384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind343 ==94542== ==94542== Process terminating with default action of signal 4 (SIGILL) ==94542== Illegal opcode at address 0x4014B6F ==94542== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94542== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94542== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94542== by 0x4004266: main (tool_main.c:199) === End of file valgrind343 test 0345...[Both --etag-compare and -save store new Etag using one pre-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind345 ../src/curl -q --output log/18/curl345.out --include --trace-ascii log/18/trace345 --trace-time http://127.0.0.1:43297/345 --etag-compare log/18/etag345 --etag-save log/18/etag345 > log/18/stdout345 2> log/18/stderr345 345: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind345 ../src/curl -q --output log/18/curl345.out --include --trace-ascii log/18/trace345 --trace-time http://127.0.0.1:43297/345 --etag-compare log/18/etag345 --etag-save log/18/etag345 > log/18/stdout345 2> log/18/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 14:53:29.922883 ====> Client connect 14:53:29.922928 accept_connection 3 returned 4 14:53:29.922947 accept_connection 3 returned 0 14:53:29.923105 Read 93 bytes 14:53:29.923123 Process 93 bytes request 14:53:29.923137 Got request: GET /verifiedserver HTTP/1.1 14:53:29.923148 Are-we-friendly question received 14:53:29.923183 Wrote request (93 bytes) input to log/18/server.input 14:53:29.923203 Identifying ourselves as friends 14:53:29.923266 Response sent (56 bytes) and written to log/18/server.response 14:53:29.923278 special request received, no persistency 14:53:29.923289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 57088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * ConnectioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind344 ../src/curl -q --output log/2/curl344.out --include --trace-ascii log/2/trace344 --trace-time http://127.0.0.1:37587/344 --etag-compare log/2/etag344 --etag-save log/2/etag344 > log/2/stdout344 2> log/2/stderr344 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind346 ../src/curl -q --output log/16/curl346.out --include --trace-ascii log/16/trace346 --trace-time -x http://127.0.0.1:34475/346 -U puser: -u suser: http://remote.example/346 > log/16/stdout346 2> log/16/stderr346 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind347 ../src/curl -q --output log/5/curl347.out --include --trace-ascii log/5/trace347 --trace-time http://127.0.0.1:46041/347 --etag-save log/5/etag347 > log/5/stdout347 2> log/5/stderr347 n #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind345 ==94660== ==94660== Process terminating with default action of signal 4 (SIGILL) ==94660== Illegal opcode at address 0x4014B6F ==94660== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94660== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94660== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94660== by 0x4004266: main (tool_main.c:199) === End of file valgrind345 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/14/server/http_ipv6_server.pid" --logfile "log/14/http_ipv6_server.log" --logdir "log/14" --portfile log/14/server/http_ipv6_server.port --config log/14/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 89231 port 43953 * pid http-ipv6 => 89231 89231 prechecked ./server/servers resolve --ipv6 ip6-localhost test 0241 SKIPPED: Resolving IPv6 'ip6-localhost' didn't work test 0344...[Both --etag-compare and -save store new Etag using non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind344 ../src/curl -q --output log/2/curl344.out --include --trace-ascii log/2/trace344 --trace-time http://127.0.0.1:37587/344 --etag-compare log/2/etag344 --etag-save log/2/etag344 > log/2/stdout344 2> log/2/stderr344 344: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind344 ../src/curl -q --output log/2/curl344.out --include --trace-ascii log/2/trace344 --trace-time http://127.0.0.1:37587/344 --etag-compare log/2/etag344 --etag-save log/2/etag344 > log/2/stdout344 2> log/2/stderr344 === End of file commands.log === Start of file http_server.log 14:53:29.920127 ====> Client connect 14:53:29.920158 accept_connection 3 returned 4 14:53:29.920274 accept_connection 3 returned 0 14:53:29.920302 Read 93 bytes 14:53:29.920315 Process 93 bytes request 14:53:29.920333 Got request: GET /verifiedserver HTTP/1.1 14:53:29.920344 Are-we-friendly question received 14:53:29.920372 Wrote request (93 bytes) input to log/2/server.input 14:53:29.920392 Identifying ourselves as friends 14:53:29.920459 Response sent (56 bytes) and written to log/2/server.response 14:53:29.920471 special request received, no persistency 14:53:29.920481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind344 ==94649== ==94649== Process terminating with default action of signal 4 (SIGILL) ==94649== Illegal opcode at address 0x4014B6F ==94649== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94649== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94649== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94649== by 0x4004266: main (tool_main.c:199) === End of file valgrind344 test 0346...[HTTP GET over proxy with credentials using blank passwords] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind346 ../src/curl -q --output log/16/curl346.out --include --trace-ascii log/16/trace346 --trace-time -x http://127.0.0.1:34475/346 -U puser: -u suser: http://remote.example/346 > log/16/stdout346 2> log/16/stderr346 346: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind346 ../src/curl -q --output log/16/curl346.out --include --trace-ascii log/16/trace346 --trace-time -x http://127.0.0.1:34475/346 -U puser: -u suser: http://remote.example/346 > log/16/stdout346 2> log/16/stderr346 === End of file commands.log === Start of file http_server.log 14:53:30.008239 ====> Client connect 14:53:30.008283 accept_connection 3 returned 4 14:53:30.008304 accept_connection 3 returned 0 14:53:30.008322 Read 93 bytes 14:53:30.008335 Process 93 bytes request 14:53:30.008351 Got request: GET /verifiedserver HTTP/1.1 14:53:30.008363 Are-we-friendly question received 14:53:30.008392 Wrote request (93 bytes) input to log/16/server.input 14:53:30.008413 Identifying ourselves as friends 14:53:30.008477 Response sent (56 bytes) and written to log/16/server.response 14:53:30.008491 special request received, no persistency 14:53:30.008502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind346 ==94815== ==94815== Process terminating with default action of signal 4 (SIGILL) ==94815== Illegal opcode at address 0x4014B6F ==94815== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94815== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94815== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94815== by 0x4004266: main (tool_main.c:199) === End of file valgrind346 test 0347...[--etag-save with blank incoming header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind347 ../src/curl -q --output log/5/curl347.out --include --trace-ascii log/5/trace347 --trace-time http://127.0.0.1:46041/347 --etag-save log/5/etag347 > log/5/stdout347 2> log/5/stderr347 347: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind347 ../src/curl -q --output log/5/curl347.out --include --trace-ascii log/5/traceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind348 ../src/curl -q --output log/7/curl348.out --include --trace-ascii log/7/trace348 --trace-time ftp://127.0.0.1:37495/348 -T log/7/test348.txt > log/7/stdout348 2> log/7/stderr348 347 --trace-time http://127.0.0.1:46041/347 --etag-save log/5/etag347 > log/5/stdout347 2> log/5/stderr347 === End of file commands.log === Start of file http_server.log 14:53:30.039034 ====> Client connect 14:53:30.039070 accept_connection 3 returned 4 14:53:30.039089 accept_connection 3 returned 0 14:53:30.039106 Read 93 bytes 14:53:30.039118 Process 93 bytes request 14:53:30.039133 Got request: GET /verifiedserver HTTP/1.1 14:53:30.039144 Are-we-friendly question received 14:53:30.039171 Wrote request (93 bytes) input to log/5/server.input 14:53:30.039189 Identifying ourselves as friends 14:53:30.039246 Response sent (56 bytes) and written to log/5/server.response 14:53:30.039257 special request received, no persistency 14:53:30.039267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 43702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind347 ==94872== ==94872== Process terminating with default action of signal 4 (SIGILL) ==94872== Illegal opcode at address 0x4014B6F ==94872== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94872== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94872== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94872== by 0x4004266: main (tool_main.c:199) === End of file valgrind347 test 0348...[FTP upload file with 552 disk full response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind348 ../src/curl -q --output log/7/curl348.out --include --trace-ascii log/7/trace348 --trace-time ftp://127.0.0.1:37495/348 -T log/7/test348.txt > log/7/stdout348 2> log/7/stderr348 348: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind348 ../src/curl -q --output log/7/curl348.out --include --trace-ascii log/7/trace348 --trace-time ftp://127.0.0.1:37495/348 -T log/7/test348.txt > log/7/stdout348 2> log/7/stderr348 === End of file commands.log === Start of file ftp_server.log 14:53:30.071491 ====> Client connect 14:53:30.071655 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.071989 < "USER anonymous" 14:53:30.072023 > "331 We are happy you popped in![CR][LF]" 14:53:30.072157 < "PASS ftp@example.com" 14:53:30.072178 > "230 Welcome you silly person[CR][LF]" 14:53:30.072296 < "PWD" 14:53:30.072320 > "257 "/" is current directory[CR][LF]" 14:53:30.072445 < "EPSV" 14:53:30.072465 ====> Passive DATA channel requested by client 14:53:30.072476 DATA sockfilt for passive data channel starting... 14:53:30.073801 DATA sockfilt for passive data channel started (pid 94951) 14:53:30.073915 DATA sockfilt for passive data channel listens on port 43055 14:53:30.073968 > "229 Entering Passive Mode (|||43055|)[LF]" 14:53:30.073990 Client has been notified that DATA conn will be accepted on port 43055 14:53:30.074134 Client connects to port 43055 14:53:30.074160 ====> Client established passive DATA connection on port 43055 14:53:30.074223 < "TYPE I" 14:53:30.074245 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.074372 < "SIZE verifiedserver" 14:53:30.074398 > "213 17[CR][LF]" 14:53:30.074512 < "RETR verifiedserver" 14:53:30.074537 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.074600 =====> Closing passive DATA connection... 14:53:30.074612 Server disconnects passive DATA connection 14:53:30.074798 Server disconnected passive DATA connection 14:53:30.074819 DATA sockfilt for passive data channel quits (pid 94951) 14:53:30.074980 DATA sockfilt for passive data channel quit (pid 94951) 14:53:30.074998 =====> Closed passive DATA connection 14:53:30.075019 > "226 File transfer complete[CR][LF]" 14:53:30.120419 < "QUIT" 14:53:30.120482 > "221 bye bye baby[CR][LF]" 14:53:30.121575 MAIN sockfilt said DISC 14:53:30.121607 ====> Client disconnected 14:53:30.121693 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:29.154194 ====> Client connect 14:53:29.154490 Received DATA (on stdin) 14:53:29.154506 > 160 bytes data, server => client 14:53:29.154518 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:29.154529 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:29.154539 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:29.154615 < 16 bytes data, client => server 14:53:29.154625 'USER anonymous\r\n' 14:53:29.154839 Received DATA (on stdin) 14:53:29.154850 > 33 bytes data, server => client 14:53:29.154859 '331 We are happy you popped in!\r\n' 14:53:29.154901 < 22 bytes data, client => server 14:53:29.154910 'PASS ftp@example.com\r\n' 14:53:29.154990 Received DATA (on stdin) 14:53:29.155000 > 30 bytes data, server => client 14:53:29.155009 '230 Welcome you silly person\r\n' 14:53:29.155045 < 5 bytes data, client => server 14:53:29.155054 'PWD\r\n' 14:53:29.155132 Received DATA (on stdin) 14:53:29.155141 > 30 bytes data, server => client 14:53:29.155150 '257 "/" is current directory\r\n' 14:53:29.155195 < 6 bytes data, client => server 14:53:29.155204 'EPSV\r\n' 14:53:29.156765 Received DATA (on stdin) 14:53:29.156784 > 38 bytes data, server => client 14:53:29.156797 '229 Entering Passive Mode (|||43055|)\n' 14:53:29.156899 < 8 bytes data, client => server 14:53:29.156916 'TYPE I\r\n' 14:53:29.157059 Received DATA (on stdin) 14:53:29.157070 > 33 bytes data, server => client 14:53:29.157079 '200 I modify TYPE as you wanted\r\n' 14:53:29.157120 < 21 bytes data, client => server 14:53:29.157129 'SIZE verifiedserver\r\n' 14:53:29.157210 Received DATA (on stdin) 14:53:29.157219 > 8 bytes data, server => client 14:53:29.157228 '213 17\r\n' 14:53:29.157264 < 21 bytes data, client => server 14:53:29.157273 'RETR verifiedserver\r\n' 14:53:29.157426 Received DATA (on stdin) 14:53:29.157436 > 29 bytes data, server => client 14:53:29.157444 '150 Binary junk (17 bytes).\r\n' 14:53:29.157832 Received DATA (on stdin) 14:53:29.157843 > 28 bytes data, server => client 14:53:29.157853 '226 File transfer complete\r\n' 14:53:29.203032 < 6 bytes data, client => server 14:53:29.203076 'QUIT\r\n' 14:53:29.203314 Received DATA (on stdin) 14:53:29.203338 > 18 bytes data, server => client 14:53:29.203350 '221 bye bye baby\r\n' 14:53:29.204336 ====> Client disconnect 14:53:29.204516 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.156474 Running IPv4 version 14:53:30.156519 Listening on port 43055 14:53:30.156546 Wrote pid 94951 to log/7/server/ftp_sockdata.pid 14:53:30.156564 Received PING (on stdin) 14:53:30.156640 Received PORT (on stdin) 14:53:30.156902 ====> Client connect 14:53:30.157464 Received DATA (on stdin) 14:53:30.157475 > 17 bytes data, server => client 14:53:30.157484 'WE ROOLZ: 80245\r\n' 14:53:30.157503 Received DISC (on stdin) 14:53:30.157512 ====> Client forcibly disconnected 14:53:30.157638 Received QUIT (on stdin) 14:53:30.157648 quits 14:53:30.157692 ======CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind349 ../src/curl -q --output log/22/curl349.out --include --trace-ascii log/22/trace349 --trace-time http://127.0.0.1:42027/349 --fail-with-body > log/22/stdout349 2> log/22/stderr349 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind332 ../src/curl -q --output log/4/curl332.out --include --trace-ascii log/4/trace332 --trace-time tftp://127.0.0.1:60469//332 --tftp-blksize 400 > log/4/stdout332 2> log/4/stderr332 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind353 ../src/curl -q --output log/8/curl353.out --include --trace-ascii log/8/trace353 --trace-time ftp://127.0.0.1:37557/ --ftp-method singlecwd > log/8/stdout353 2> log/8/stderr353 ======> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd STOR 552 disk full Testnum 348 === End of file server.cmd === Start of file test348.txt data to see that FTP works so does it? === End of file test348.txt === Start of file valgrind348 ==94955== ==94955== Process terminating with default action of signal 4 (SIGILL) ==94955== Illegal opcode at address 0x4014B6F ==94955== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==94955== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==94955== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==94955== by 0x4004266: main (tool_main.c:199) === End of file valgrind348 test 0349...[HTTP GET --fail-with-body on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind349 ../src/curl -q --output log/22/curl349.out --include --trace-ascii log/22/trace349 --trace-time http://127.0.0.1:42027/349 --fail-with-body > log/22/stdout349 2> log/22/stderr349 349: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind349 ../src/curl -q --output log/22/curl349.out --include --trace-ascii log/22/trace349 --trace-time http://127.0.0.1:42027/349 --fail-with-body > log/22/stdout349 2> log/22/stderr349 === End of file commands.log === Start of file http_server.log 14:53:30.270777 ====> Client connect 14:53:30.270813 accept_connection 3 returned 4 14:53:30.270833 accept_connection 3 returned 0 14:53:30.270950 Read 93 bytes 14:53:30.270965 Process 93 bytes request 14:53:30.270982 Got request: GET /verifiedserver HTTP/1.1 14:53:30.270993 Are-we-friendly question received 14:53:30.271048 Wrote request (93 bytes) input to log/22/server.input 14:53:30.271070 Identifying ourselves as friends 14:53:30.271137 Response sent (56 bytes) and written to log/22/server.response 14:53:30.271150 special request received, no persistency 14:53:30.271161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 349 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind349 ==95091== ==95091== Process terminating with default action of signal 4 (SIGILL) ==95091== Illegal opcode at address 0x4014B6F ==95091== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95091== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95091== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95091== by 0x4004266: main (tool_main.c:199) === End of file valgrind349 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/4/server/tftp_server.pid" --portfile "log/4/server/tftp_server.port" --logfile "log/4/tftp_server.log" --logdir "log/4" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 93769 port 60469 * pid tftp => 93769 93769 test 0332...[TFTP retrieve with blksize 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind332 ../src/curl -q --output log/4/curl332.out --include --trace-ascii log/4/trace332 --trace-time tftp://127.0.0.1:60469//332 --tftp-blksize 400 > log/4/stdout332 2> log/4/stderr332 332: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind332 ../src/curl -q --output log/4/curl332.out --include --trace-ascii log/4/trace332 --trace-time tftp://127.0.0.1:60469//332 --tftp-blksize 400 > log/4/stdout332 2> log/4/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 14:53:29.292045 Wrote pid 93769 to log/4/server/tftp_server.pid 14:53:29.292089 Wrote port 60469 to log/4/server/tftp_server.port 14:53:29.292101 Running IPv4 version on port UDP/60469 === End of file tftp_server.log === Start of file valgrind332 ==95105== ==95105== Process terminating with default action of signal 4 (SIGILL) ==95105== Illegal opcode at address 0x4014B6F ==95105== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95105== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95105== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95105== by 0x4004266: main (tool_main.c:199) === End of file valgrind332 test 0353...[FTP home dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind353 ../src/curl -q --output log/8/curl353.out --include --trace-ascii log/8/trace353 --trace-time ftp://127.0.0.1:37557/ --ftp-method singlecwd > log/8/stdout353 2> log/8/stderr353 353: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind353 ../src/curl -q --output log/8/curl353.out --include --trace-ascii log/8/trace353 --trace-time ftp://127.0.0.1:37557/ --ftp-method singlecwd > log/8/stdout353 2> log/8/stderr353 === End of file commands.log === Start of file ftp_server.log 14:53:30.200838 ====> Client connect 14:53:30.200971 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.201578 < "USER anonymous" 14:53:30.201613 > "331 We are happy you popped in![CR][LF]" 14:53:30.201859 < "PASS ftp@example.com" 14:53:30.201905 > "230 Welcome you silly person[CR][LF]" 14:53:30.202096 < "PWD" 14:53:30.202129 > "257 "/" is current directory[CR][LF]" 14:53:30.202310 < "EPSV" 14:53:30.202337 ====> Passive DATA channel requested by client 14:53:30.202355 DATA sockfilt for passive data channel starting... 14:53:30.205335 DATA sockfilt for passive data channel started (pid 95103) 14:53:30.205452 DATA sockfilt for passive data channel listens on port 40451 14:53:30.205493 > "229 Entering Passive Mode (|||40451|)[LF]" 14:53:30.205514 Client has been notified that DATA conn will be accepted on port 40451 14:53:30.205758 Client connects to port 40451 14:53:30.205808 ====> Client established passive DATA connection on port 40451 14:53:30.206012 < "TYPE I" 14:53:30.206052 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.206225 < "SIZE verifiedserver" 14:53:30.206261 > "213 17[CR][LF]" 14:53:30.206460 < "RETR verifiedserver" 14:53:30.206519 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.206589 ====CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind352 ../src/curl -q --output log/15/curl352.out --include --trace-ascii log/15/trace352 --trace-time ftp://127.0.0.1:44241// --ftp-method singlecwd > log/15/stdout352 2> log/15/stderr352 => Closing passive DATA connection... 14:53:30.206604 Server disconnects passive DATA connection 14:53:30.206663 Server disconnected passive DATA connection 14:53:30.206678 DATA sockfilt for passive data channel quits (pid 95103) 14:53:30.206860 DATA sockfilt for passive data channel quit (pid 95103) 14:53:30.206926 =====> Closed passive DATA connection 14:53:30.206977 > "226 File transfer complete[CR][LF]" 14:53:30.247174 < "QUIT" 14:53:30.247231 > "221 bye bye baby[CR][LF]" 14:53:30.248178 MAIN sockfilt said DISC 14:53:30.248212 ====> Client disconnected 14:53:30.248323 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:30.283550 ====> Client connect 14:53:30.283802 Received DATA (on stdin) 14:53:30.283823 > 160 bytes data, server => client 14:53:30.283836 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:30.283859 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:30.283877 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:30.284235 < 16 bytes data, client => server 14:53:30.284251 'USER anonymous\r\n' 14:53:30.284434 Received DATA (on stdin) 14:53:30.284459 > 33 bytes data, server => client 14:53:30.284472 '331 We are happy you popped in!\r\n' 14:53:30.284541 < 22 bytes data, client => server 14:53:30.284554 'PASS ftp@example.com\r\n' 14:53:30.284730 Received DATA (on stdin) 14:53:30.284745 > 30 bytes data, server => client 14:53:30.284757 '230 Welcome you silly person\r\n' 14:53:30.284813 < 5 bytes data, client => server 14:53:30.284827 'PWD\r\n' 14:53:30.284949 Received DATA (on stdin) 14:53:30.284963 > 30 bytes data, server => client 14:53:30.284975 '257 "/" is current directory\r\n' 14:53:30.285035 < 6 bytes data, client => server 14:53:30.285049 'EPSV\r\n' 14:53:30.288336 Received DATA (on stdin) 14:53:30.288353 > 38 bytes data, server => client 14:53:30.288365 '229 Entering Passive Mode (|||40451|)\n' 14:53:30.288523 < 8 bytes data, client => server 14:53:30.288602 'TYPE I\r\n' 14:53:30.288873 Received DATA (on stdin) 14:53:30.288887 > 33 bytes data, server => client 14:53:30.288899 '200 I modify TYPE as you wanted\r\n' 14:53:30.288955 < 21 bytes data, client => server 14:53:30.288969 'SIZE verifiedserver\r\n' 14:53:30.289078 Received DATA (on stdin) 14:53:30.289091 > 8 bytes data, server => client 14:53:30.289102 '213 17\r\n' 14:53:30.289153 < 21 bytes data, client => server 14:53:30.289168 'RETR verifiedserver\r\n' 14:53:30.289374 Received DATA (on stdin) 14:53:30.289393 > 29 bytes data, server => client 14:53:30.289405 '150 Binary junk (17 bytes).\r\n' 14:53:30.289796 Received DATA (on stdin) 14:53:30.289810 > 28 bytes data, server => client 14:53:30.289822 '226 File transfer complete\r\n' 14:53:30.329814 < 6 bytes data, client => server 14:53:30.329840 'QUIT\r\n' 14:53:30.330054 Received DATA (on stdin) 14:53:30.330068 > 18 bytes data, server => client 14:53:30.330080 '221 bye bye baby\r\n' 14:53:30.330944 ====> Client disconnect 14:53:30.331040 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.287993 Running IPv4 version 14:53:30.288044 Listening on port 40451 14:53:30.288075 Wrote pid 95103 to log/8/server/ftp_sockdata.pid 14:53:30.288095 Received PING (on stdin) 14:53:30.288182 Received PORT (on stdin) 14:53:30.288489 ====> Client connect 14:53:30.289346 Received DATA (on stdin) 14:53:30.289363 > 17 bytes data, server => client 14:53:30.289374 'WE ROOLZ: 80267\r\n' 14:53:30.289422 Received DISC (on stdin) 14:53:30.289435 ====> Client forcibly disconnected 14:53:30.289494 Received QUIT (on stdin) 14:53:30.289503 quits 14:53:30.289555 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==95228== ==95228== Process terminating with default action of signal 4 (SIGILL) ==95228== Illegal opcode at address 0x4014B6F ==95228== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95228== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95228== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95228== by 0x4004266: main (tool_main.c:199) === End of file valgrind353 test 0352...[FTP root dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind352 ../src/curl -q --output log/15/curl352.out --include --trace-ascii log/15/trace352 --trace-time ftp://127.0.0.1:44241// --ftp-method singlecwd > log/15/stdout352 2> log/15/stderr352 352: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind352 ../src/curl -q --output log/15/curl352.out --include --trace-ascii log/15/trace352 --trace-time ftp://127.0.0.1:44241// --ftp-method singlecwd > log/15/stdout352 2> log/15/stderr352 === End of file commands.log === Start of file ftp_server.log 14:53:30.198314 ====> Client connect 14:53:30.198466 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.198764 < "USER anonymous" 14:53:30.198802 > "331 We are happy you popped in![CR][LF]" 14:53:30.198993 < "PASS ftp@example.com" 14:53:30.199022 > "230 Welcome you silly person[CR][LF]" 14:53:30.199205 < "PWD" 14:53:30.199238 > "257 "/" is current directory[CR][LF]" 14:53:30.199432 < "EPSV" 14:53:30.199458 ====> Passive DATA channel requested by client 14:53:30.199473 DATA sockfilt for passive data channel starting... 14:53:30.202731 DATA sockfilt for passive data channel started (pid 95093) 14:53:30.202837 DATA sockfilt for passive data channel listens on port 40039 14:53:30.202872 > "229 Entering Passive Mode (|||40039|)[LF]" 14:53:30.202889 Client has been notified that DATA conn will be accepted on port 40039 14:53:30.203090 Client connects to port 40039 14:53:30.203119 ====> Client established passive DATA connection on port 40039 14:53:30.203207 < "TYPE I" 14:53:30.203236 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.203396 < "SIZE verifiedserver" 14:53:30.203436 > "213 17[CR][LF]" 14:53:30.203727 < "RETR verifiedserver" 14:53:30.203780 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.203870 =====> Closing passive DATA connection... 14:53:30.203887 Server disconnects passive DATA connection 14:53:30.204735 Server disconnected passive DATA connection 14:53:30.204770 DATA sockfilt for passive data channel quits (pid 95093) 14:53:30.205024 DATA sockfilt for passive data channel quit (pid 95093) 14:53:30.205050 =====> Closed passive DATA connection 14:53:30.205080 > "226 File transfer complete[CR][LF]" 14:53:30.247305 < "QUIT" 14:53:30.247361 > "221 bye bye baby[CR][LF]" 14:53:30.248175 MAIN sockfilt said DISC 14:53:30.248208 ====> Client disconnected 14:53:30.248338 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:30.281030 ====> Client connect 14:53:30.281300 Received DATA (on stdin) 14:53:30.281319 > 160 bytes data, server => client 14:53:30.281333 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:30.281346 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:30.281359 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:30.281435 < 16 bytes data, client => server 14:53:30.281452 'USER anonymous\r\n' 14:53:30.281625 Received DATA (on stdin) 14:53:30.281640 > 33 bytes data, server => client 14:53:30.281653 '331 We are happy you popped in!\r\n' 14:53:30.281711 < 22 bytes data, client => server 14:53:30.281727 'PASS ftp@example.com\r\n' 14:53:30.281842 Received DATA (on stdin) 14:53:30.281858 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind355 ../src/curl -q --output log/21/curl355.out --include --trace-ascii log/21/trace355 --trace-time http://127.0.0.1:34037/355 --alt-svc "" > log/21/stdout355 2> log/21/stderr355 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-time ftp://127.0.0.1:46729// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 30 bytes data, server => client 14:53:30.281871 '230 Welcome you silly person\r\n' 14:53:30.281926 < 5 bytes data, client => server 14:53:30.281942 'PWD\r\n' 14:53:30.282059 Received DATA (on stdin) 14:53:30.282074 > 30 bytes data, server => client 14:53:30.282087 '257 "/" is current directory\r\n' 14:53:30.282154 < 6 bytes data, client => server 14:53:30.282170 'EPSV\r\n' 14:53:30.285711 Received DATA (on stdin) 14:53:30.285725 > 38 bytes data, server => client 14:53:30.285736 '229 Entering Passive Mode (|||40039|)\n' 14:53:30.285853 < 8 bytes data, client => server 14:53:30.285872 'TYPE I\r\n' 14:53:30.286055 Received DATA (on stdin) 14:53:30.286068 > 33 bytes data, server => client 14:53:30.286079 '200 I modify TYPE as you wanted\r\n' 14:53:30.286129 < 21 bytes data, client => server 14:53:30.286141 'SIZE verifiedserver\r\n' 14:53:30.286256 Received DATA (on stdin) 14:53:30.286271 > 8 bytes data, server => client 14:53:30.286285 '213 17\r\n' 14:53:30.286401 < 21 bytes data, client => server 14:53:30.286424 'RETR verifiedserver\r\n' 14:53:30.286723 Received DATA (on stdin) 14:53:30.286737 > 29 bytes data, server => client 14:53:30.286750 '150 Binary junk (17 bytes).\r\n' 14:53:30.287902 Received DATA (on stdin) 14:53:30.287917 > 28 bytes data, server => client 14:53:30.287929 '226 File transfer complete\r\n' 14:53:30.329960 < 6 bytes data, client => server 14:53:30.329981 'QUIT\r\n' 14:53:30.330185 Received DATA (on stdin) 14:53:30.330199 > 18 bytes data, server => client 14:53:30.330210 '221 bye bye baby\r\n' 14:53:30.330940 ====> Client disconnect 14:53:30.331074 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.285147 Running IPv4 version 14:53:30.285216 Listening on port 40039 14:53:30.285253 Wrote pid 95093 to log/15/server/ftp_sockdata.pid 14:53:30.285478 Received PING (on stdin) 14:53:30.285574 Received PORT (on stdin) 14:53:30.285854 ====> Client connect 14:53:30.287437 Received DATA (on stdin) 14:53:30.287457 > 17 bytes data, server => client 14:53:30.287469 'WE ROOLZ: 80266\r\n' 14:53:30.287503 Received DISC (on stdin) 14:53:30.287515 ====> Client forcibly disconnected 14:53:30.287604 Received QUIT (on stdin) 14:53:30.287617 quits 14:53:30.287674 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==95229== ==95229== Process terminating with default action of signal 4 (SIGILL) ==95229== Illegal opcode at address 0x4014B6F ==95229== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95229== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95229== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95229== by 0x4004266: main (tool_main.c:199) === End of file valgrind352 test 0355...[load Alt-Svc from file and use] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind355 ../src/curl -q --output log/21/curl355.out --include --trace-ascii log/21/trace355 --trace-time http://127.0.0.1:34037/355 --alt-svc "" > log/21/stdout355 2> log/21/stderr355 355: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 34037 "20290222 22:19:28" 0 0 === End of file altsvc-355 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind355 ../src/curl -q --output log/21/curl355.out --include --trace-ascii log/21/trace355 --trace-time http://127.0.0.1:34037/355 --alt-svc "" > log/21/stdout355 2> log/21/stderr355 === End of file commands.log === Start of file http_server.log 14:53:30.345771 ====> Client connect 14:53:30.345806 accept_connection 3 returned 4 14:53:30.345827 accept_connection 3 returned 0 14:53:30.345843 Read 93 bytes 14:53:30.345855 Process 93 bytes request 14:53:30.345871 Got request: GET /verifiedserver HTTP/1.1 14:53:30.345882 Are-we-friendly question received 14:53:30.345909 Wrote request (93 bytes) input to log/21/server.input 14:53:30.345930 Identifying ourselves as friends 14:53:30.345991 Response sent (56 bytes) and written to log/21/server.response 14:53:30.346004 special request received, no persistency 14:53:30.346015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 51006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 355 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind355 ==95293== ==95293== Process terminating with default action of signal 4 (SIGILL) ==95293== Illegal opcode at address 0x4014B6F ==95293== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95293== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95293== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95293== by 0x4004266: main (tool_main.c:199) === End of file valgrind355 test 0350...[FTP root dir list multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-time ftp://127.0.0.1:46729// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 350: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-time ftp://127.0.0.1:46729// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 === End of file commands.log === Start of file ftp_server.log 14:53:30.193082 ====> Client connect 14:53:30.193241 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.193523 < "USER anonymous" 14:53:30.193573 > "331 We are happy you popped in![CR][LF]" 14:53:30.193738 < "PASS ftp@example.com" 14:53:30.193764 > "230 Welcome you silly person[CR][LF]" 14:53:30.194027 < "PWD" 14:53:30.194210 > "257 "/" is current directory[CR][LF]" 14:53:30.194390 < "EPSV" 14:53:30.194416 ====> Passive DATA channel requested by client 14:53:30.194430 DATA sockfilt for passive data channel starting... 14:53:30.196197 DATA sockfilt for passive data channel started (pid 95085) 14:53:30.196301 DATA sockfilt for passive data channel listens on port 37031 14:53:30.196340 > "229 Entering Passive Mode (|||37031|)[LF]" 14:53:30.196361 Client has been notified that DATA conn will be accepted on port 37031 14:53:30.196556 Client connects to port 37031 14:53:30.196587 ====> Client established passive DATA connection on port 37031 14:53:30.196693 < "TYPE I" 14:53:30.196721 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.197197 < "SIZE verifiedserver" 14:53:30.1972CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind351 ../src/curl -q --output log/24/curl351.out --include --trace-ascii log/24/trace351 --trace-time ftp://127.0.0.1:42919// --ftp-method nocwd > log/24/stdout351 2> log/24/stderr351 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind354 ../src/curl -q --output log/9/curl354.out --include --trace-ascii log/9/trace354 --trace-time ftp://127.0.0.1:37027/354 > log/9/stdout354 2> log/9/stderr354 39 > "213 17[CR][LF]" 14:53:30.197400 < "RETR verifiedserver" 14:53:30.197441 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.197729 =====> Closing passive DATA connection... 14:53:30.197753 Server disconnects passive DATA connection 14:53:30.197835 Server disconnected passive DATA connection 14:53:30.197855 DATA sockfilt for passive data channel quits (pid 95085) 14:53:30.198256 DATA sockfilt for passive data channel quit (pid 95085) 14:53:30.198283 =====> Closed passive DATA connection 14:53:30.198368 > "226 File transfer complete[CR][LF]" 14:53:30.240978 < "QUIT" 14:53:30.241035 > "221 bye bye baby[CR][LF]" 14:53:30.242544 MAIN sockfilt said DISC 14:53:30.242585 ====> Client disconnected 14:53:30.242650 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:30.275802 ====> Client connect 14:53:30.276072 Received DATA (on stdin) 14:53:30.276089 > 160 bytes data, server => client 14:53:30.276103 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:30.276115 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:30.276127 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:30.276201 < 16 bytes data, client => server 14:53:30.276216 'USER anonymous\r\n' 14:53:30.276394 Received DATA (on stdin) 14:53:30.276407 > 33 bytes data, server => client 14:53:30.276419 '331 We are happy you popped in!\r\n' 14:53:30.276470 < 22 bytes data, client => server 14:53:30.276481 'PASS ftp@example.com\r\n' 14:53:30.276580 Received DATA (on stdin) 14:53:30.276592 > 30 bytes data, server => client 14:53:30.276603 '230 Welcome you silly person\r\n' 14:53:30.276671 < 5 bytes data, client => server 14:53:30.276704 'PWD\r\n' 14:53:30.277030 Received DATA (on stdin) 14:53:30.277044 > 30 bytes data, server => client 14:53:30.277057 '257 "/" is current directory\r\n' 14:53:30.277119 < 6 bytes data, client => server 14:53:30.277131 'EPSV\r\n' 14:53:30.279183 Received DATA (on stdin) 14:53:30.279197 > 38 bytes data, server => client 14:53:30.279210 '229 Entering Passive Mode (|||37031|)\n' 14:53:30.279415 < 8 bytes data, client => server 14:53:30.279428 'TYPE I\r\n' 14:53:30.279538 Received DATA (on stdin) 14:53:30.279550 > 33 bytes data, server => client 14:53:30.279562 '200 I modify TYPE as you wanted\r\n' 14:53:30.279609 < 21 bytes data, client => server 14:53:30.279621 'SIZE verifiedserver\r\n' 14:53:30.280058 Received DATA (on stdin) 14:53:30.280071 > 8 bytes data, server => client 14:53:30.280083 '213 17\r\n' 14:53:30.280134 < 21 bytes data, client => server 14:53:30.280146 'RETR verifiedserver\r\n' 14:53:30.280314 Received DATA (on stdin) 14:53:30.280328 > 29 bytes data, server => client 14:53:30.280340 '150 Binary junk (17 bytes).\r\n' 14:53:30.281118 Received DATA (on stdin) 14:53:30.281133 > 28 bytes data, server => client 14:53:30.281146 '226 File transfer complete\r\n' 14:53:30.323624 < 6 bytes data, client => server 14:53:30.323649 'QUIT\r\n' 14:53:30.323833 Received DATA (on stdin) 14:53:30.323850 > 18 bytes data, server => client 14:53:30.323861 '221 bye bye baby\r\n' 14:53:30.324802 ====> Client disconnect 14:53:30.325472 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.278727 Running IPv4 version 14:53:30.278784 Listening on port 37031 14:53:30.278818 Wrote pid 95085 to log/19/server/ftp_sockdata.pid 14:53:30.278960 Received PING (on stdin) 14:53:30.279039 Received PORT (on stdin) 14:53:30.279322 ====> Client connect 14:53:30.280373 Received DATA (on stdin) 14:53:30.280395 > 17 bytes data, server => client 14:53:30.280407 'WE ROOLZ: 80256\r\n' 14:53:30.280573 Received DISC (on stdin) 14:53:30.280587 ====> Client forcibly disconnected 14:53:30.280727 Received QUIT (on stdin) 14:53:30.280740 quits 14:53:30.280907 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==95213== ==95213== Process terminating with default action of signal 4 (SIGILL) ==95213== Illegal opcode at address 0x4014B6F ==95213== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95213== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95213== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95213== by 0x4004266: main (tool_main.c:199) === End of file valgrind350 test 0351...[FTP root dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind351 ../src/curl -q --output log/24/curl351.out --include --trace-ascii log/24/trace351 --trace-time ftp://127.0.0.1:42919// --ftp-method nocwd > log/24/stdout351 2> log/24/stderr351 351: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind351 ../src/curl -q --output log/24/curl351.out --include --trace-ascii log/24/trace351 --trace-time ftp://127.0.0.1:42919// --ftp-method nocwd > log/24/stdout351 2> log/24/stderr351 === End of file commands.log === Start of file ftp_server.log 14:53:30.196480 ====> Client connect 14:53:30.196618 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.196885 < "USER anonymous" 14:53:30.196920 > "331 We are happy you popped in![CR][LF]" 14:53:30.197085 < "PASS ftp@example.com" 14:53:30.197111 > "230 Welcome you silly person[CR][LF]" 14:53:30.197291 < "PWD" 14:53:30.197319 > "257 "/" is current directory[CR][LF]" 14:53:30.197534 < "EPSV" 14:53:30.197557 ====> Passive DATA channel requested by client 14:53:30.197571 DATA sockfilt for passive data channel starting... 14:53:30.199377 DATA sockfilt for passive data channel started (pid 95089) 14:53:30.199485 DATA sockfilt for passive data channel listens on port 45039 14:53:30.199526 > "229 Entering Passive Mode (|||45039|)[LF]" 14:53:30.199547 Client has been notified that DATA conn will be accepted on port 45039 14:53:30.199799 Client connects to port 45039 14:53:30.199826 ====> Client established passive DATA connection on port 45039 14:53:30.199896 < "TYPE I" 14:53:30.199923 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.200393 < "SIZE verifiedserver" 14:53:30.200432 > "213 17[CR][LF]" 14:53:30.200617 < "RETR verifiedserver" 14:53:30.200651 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.200732 =====> Closing passive DATA connection... 14:53:30.200748 Server disconnects passive DATA connection 14:53:30.201294 Server disconnected passive DATA connection 14:53:30.201341 DATA sockfilt for passive data channel quits (pid 95089) 14:53:30.201781 DATA sockfilt for passive data channel quit (pid 95089) 14:53:30.201807 =====> Closed passive DATA connection 14:53:30.201831 > "226 File transfer complete[CR][LF]" 14:53:30.247400 < "QUIT" 14:53:30.247453 > "221 bye bye baby[CR][LF]" 14:53:30.248573 MAIN sockfilt said DISC 14:53:30.248601 ====> Client disconnected 14:53:30.248663 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:30.279203 ====> Client connect 14:53:30.279445 Received DATA (on stdin) 14:53:30.279461 > 160 bytes data, server => client 14:53:30.279475 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:30.279487 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:30.279498 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:30.279562 < 16 bytes data, client => server 14:53:30.279575 'USER anonymous\r\n' 14:53:30.279739 Received DATA (on stdin) 14:53:30.279753 > 33 bytes data, server => client 14:53:30.279765 '331 We are happy you popped in!\r\n' 14:53:30.279814 < 22 bytes data, client => server 14:53:30.279827 'PASS ftp@example.com\r\n' 14:53:30.279927 Received DATA (on stdin) 14:53:30.279939 > 30 bytes data, server => client 14:53:30.279951 '230 Welcome you silly person\r\n' 14:53:30.279996 < 5 bytes data, client => server 14:53:30.280007 'PWD\r\n' 14:53:30.280135 Received DATA (on stdin) 14:53:30.280147 > 30 bytes data, server => client 14:53:30.280159 '257 "/" is current directory\r\n' 14:53:30.280234 < 6 bytes data, client => server 14:53:30.280247 'EPSV\r\n' 14:53:30.282383 Received DATA (on stdin) 14:53:30.282398 > 38 bytes data, server => client 14:53:30.282411 '229 Entering Passive Mode (|||45039|)\n' 14:53:30.282561 < 8 bytes data, client => server 14:53:30.282573 'TYPE I\r\n' 14:53:30.282740 Received DATA (on stdin) 14:53:30.282753 > 33 bytes data, server => client 14:53:30.282764 '200 I modify TYPE as you wanted\r\n' 14:53:30.282811 < 21 bytes data, client => server 14:53:30.282822 'SIZE verifiedserver\r\n' 14:53:30.283252 Received DATA (on stdin) 14:53:30.283266 > 8 bytes data, server => client 14:53:30.283278 '213 17\r\n' 14:53:30.283345 < 21 bytes data, client => server 14:53:30.283360 'RETR verifiedserver\r\n' 14:53:30.283804 Received DATA (on stdin) 14:53:30.283847 > 29 bytes data, server => client 14:53:30.283876 '150 Binary junk (17 bytes).\r\n' 14:53:30.284654 Received DATA (on stdin) 14:53:30.284668 > 28 bytes data, server => client 14:53:30.284687 '226 File transfer complete\r\n' 14:53:30.329793 < 6 bytes data, client => server 14:53:30.329819 'QUIT\r\n' 14:53:30.330281 Received DATA (on stdin) 14:53:30.330301 > 18 bytes data, server => client 14:53:30.330314 '221 bye bye baby\r\n' 14:53:30.331337 ====> Client disconnect 14:53:30.331480 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.282009 Running IPv4 version 14:53:30.282064 Listening on port 45039 14:53:30.282100 Wrote pid 95089 to log/24/server/ftp_sockdata.pid 14:53:30.282122 Received PING (on stdin) 14:53:30.282219 Received PORT (on stdin) 14:53:30.282532 ====> Client connect 14:53:30.283917 Received DATA (on stdin) 14:53:30.283954 > 17 bytes data, server => client 14:53:30.283976 'WE ROOLZ: 80263\r\n' 14:53:30.284016 Received DISC (on stdin) 14:53:30.284046 ====> Client forcibly disconnected 14:53:30.284166 Received QUIT (on stdin) 14:53:30.284186 quits 14:53:30.284242 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==95242== ==95242== Process terminating with default action of signal 4 (SIGILL) ==95242== Illegal opcode at address 0x4014B6F ==95242== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95242== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95242== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95242== by 0x4004266: main (tool_main.c:199) === End of file valgrind351 test 0354...[FTP without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind354 ../src/curl -q --output log/9/curl354.out --include --trace-ascii log/9/trace354 --trace-time ftp://127.0.0.1:37027/354 > log/9/stdout354 2> log/9/stderr354 354: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind354 ../src/curl -q --output log/9/curl354.out --include --trace-ascii log/9/trace354 --trace-time ftp://127.0.0.1:37027/354 > log/9/stdout354 2> log/9/stderr354 === End of file commands.log === Start of file ftp_server.log 14:53:30.211343 ====> Client connect 14:53:30.211477 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.211720 < "USER anonymous" 14:53:30.211753 > "331 We are happy you popped in![CR][LF]" 14:53:30.211909 < "PASS ftp@example.com" 14:53:30.211931 > "230 Welcome you silly person[CR][LF]" 14:53:30.212070 < "PWD" 14:53:30.212105 > "257 "/" is current directory[CR][LF]" 14:53:30.212382 < "EPSV" 14:53:30.212423 ====> Passive DATA channel requested by client 14:53:30.212440 DATA sockfilt for passive data channel starting... 14:53:30.214312 DATA sockfilt for passive data channel started (pid 95133) 14:53:30.214442 DATA sockfilt for passive data channel listens on port 37599 14:53:30.214486 > "229 Entering Passive Mode (|||37599|)[LF]" 14:53:30.214506 Client has been notified that DATA conn will be accepted on port 37599 14:53:30.214739 Client connects to port 37599 14:53:30.214770 ====> Client established passive DATA connection on port 37599 14:53:30.214847 < "TYPE I" 14:53:30.214875 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.215034 < "SIZE verifiedserver" 14:53:30.215069 > "213 17[CR][LF]" 14:53:30.215221 < "RETR verifiedserver" 14:53:30.215253 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.215337 =====> Closing passive DATA connection... 14:53:30.215353 Server disconnects passive DATA connection 14:53:30.215584 Server disconnected passive DATA connection 14:53:30.215612 DATA sockfilt for passive data channel quits (pid 95133) 14:53:30.215811 DATA sockfilt for passive data channel quit (pid 95133) 14:53:30.215833 =====> Closed passive DATA connection 14:53:30.215860 > "226 File transfer complete[CR][LF]" 14:53:30.261135 < "QUIT" 14:53:30.261249 > "221 bye bye baby[CR][LF]" 14:53:30.262600 MAIN sockfilt said DISC 14:53:30.262645 ====> Client disconnected 14:53:30.262720 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:30.294065 ====> Client connect 14:53:30.294305 Received DATA (on stdin) 14:53:30.294318 > 160 bytes data, server => client 14:53:30.294331 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:30.294341 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:30.294352 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:30.294413 < 16 bytes data, client => server 14:53:30.294425 'USER anonymous\r\n' 14:53:30.294573 Received DATA (on stdin) 14:53:30.294585 > 33 bytes data, server => client 14:53:30.294596 '331 We are happy you popped in!\r\n' 14:53:30.294644 < 22 bytes data, client => server 14:53:30.294655 'PASS ftp@example.com\r\n' 14:53:30.294745 Received DATA (on stdin) 14:53:30.294757 > 30 bytes data, server => client 14:53:30.294767 '230 Welcome you silly person\r\n' 14:53:30.294811 < 5 bytes data, client => server 14:53:30.294822 'PWD\r\n' 14:53:30.294910 Received DATA (on stdin) 14:53:30.294941 > 30 bytes data, server => client 14:53:30.294955 '257 "/" is current directory\r\n' 14:53:30.295050 < 6 bytes data, client => server 14:53:30.295067 'EPSV\r\n' 14:53:30.297333 Received DATA (on stdin) 14:53:30.297349 > 38 bytes data, server => client 14:53:30.297362 '229 Entering Passive Mode (|||37599|)\n' 14:53:30.297476 < 8 bytes data, client => server 14:53:30.297492 'TYPE I\r\n' 14:53:30.297693 Received DATA (on stdin) 14:53:30.297705 > 33 bytes data, server => client 14:53:30.297718 '200 I modify TYPE as you wanted\r\n' 14:53:30.297767 < 21 bytes data, client => server 14:53:30.297779 'SIZE verifiedserver\r\n' 14:53:30.297886 Received DATA (on stdin) 14:53:30.297898 > 8 bytes data, server => client 14:53:30.297909 '213 17\r\n' 14:53:30.297957 < 21 bytes data, client => server 14:53:30.297969 'RETR verifiedserver\r\n' 14:53:30.298172 Received DATA (on stdin) 14:53:30.298184 > 29 bytes data, server => client 14:53:30.298196 '150 Binary junk (17 bytes).\r\n' 14:53:30.298679 Received DATA (on stdin) 14:53:30.298693 > 28 bytes data, server => client 14:53:30.298705 '226 File transfer completCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind361 ../src/curl -q --output log/10/curl361.out --include --trace-ascii log/10/trace361 --trace-time http://127.0.0.1:35893/361 http://127.0.0.1:35893/361 --fail-with-body > log/10/stdout361 2> log/10/stderr361 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind360 ../src/curl -q --output log/23/curl360.out --include --trace-ascii log/23/trace360 --trace-time http://127.0.0.1:38851/360 --fail-with-body --fail > log/23/stdout360 2> log/23/stderr360 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind357 ../src/curl -q --output log/3/curl357.out --include --trace-ascii log/3/trace357 --trace-time http://127.0.0.1:46791/we/want/357 -T log/3/test357.txt --expect100-timeout 99 > log/3/stdout357 2> log/3/stderr357 e\r\n' 14:53:30.343696 < 6 bytes data, client => server 14:53:30.343734 'QUIT\r\n' 14:53:30.344074 Received DATA (on stdin) 14:53:30.344088 > 18 bytes data, server => client 14:53:30.344100 '221 bye bye baby\r\n' 14:53:30.345166 ====> Client disconnect 14:53:30.345539 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.296920 Running IPv4 version 14:53:30.296982 Listening on port 37599 14:53:30.297043 Wrote pid 95133 to log/9/server/ftp_sockdata.pid 14:53:30.297065 Received PING (on stdin) 14:53:30.297168 Received PORT (on stdin) 14:53:30.297511 ====> Client connect 14:53:30.298221 Received DATA (on stdin) 14:53:30.298235 > 17 bytes data, server => client 14:53:30.298246 'WE ROOLZ: 80262\r\n' 14:53:30.298272 Received DISC (on stdin) 14:53:30.298284 ====> Client forcibly disconnected 14:53:30.298436 Received QUIT (on stdin) 14:53:30.298449 quits 14:53:30.298503 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 200 fine, proceed without password Testnum 354 === End of file server.cmd === Start of file valgrind354 ==95282== ==95282== Process terminating with default action of signal 4 (SIGILL) ==95282== Illegal opcode at address 0x4014B6F ==95282== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95282== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95282== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95282== by 0x4004266: main (tool_main.c:199) === End of file valgrind354 test 0361...[HTTP GET --fail-with-body on HTTP error return - twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind361 ../src/curl -q --output log/10/curl361.out --include --trace-ascii log/10/trace361 --trace-time http://127.0.0.1:35893/361 http://127.0.0.1:35893/361 --fail-with-body > log/10/stdout361 2> log/10/stderr361 361: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind361 ../src/curl -q --output log/10/curl361.out --include --trace-ascii log/10/trace361 --trace-time http://127.0.0.1:35893/361 http://127.0.0.1:35893/361 --fail-with-body > log/10/stdout361 2> log/10/stderr361 === End of file commands.log === Start of file http_server.log 14:53:30.508265 ====> Client connect 14:53:30.508298 accept_connection 3 returned 4 14:53:30.508317 accept_connection 3 returned 0 14:53:30.508333 Read 93 bytes 14:53:30.508344 Process 93 bytes request 14:53:30.508357 Got request: GET /verifiedserver HTTP/1.1 14:53:30.508368 Are-we-friendly question received 14:53:30.508395 Wrote request (93 bytes) input to log/10/server.input 14:53:30.508413 Identifying ourselves as friends 14:53:30.508468 Response sent (56 bytes) and written to log/10/server.response 14:53:30.508479 special request received, no persistency 14:53:30.508490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 361 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind361 ==95580== ==95580== Process terminating with default action of signal 4 (SIGILL) ==95580== Illegal opcode at address 0x4014B6F ==95580== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95580== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95580== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95580== by 0x4004266: main (tool_main.c:199) === End of file valgrind361 test 0360...[Error on both --fail-with-body and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind360 ../src/curl -q --output log/23/curl360.out --include --trace-ascii log/23/trace360 --trace-time http://127.0.0.1:38851/360 --fail-with-body --fail > log/23/stdout360 2> log/23/stderr360 curl returned 132, when expecting 2 360: exit FAILED == Contents of files in the log/23/ dir after test 360 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind360 ../src/curl -q --output log/23/curl360.out --include --trace-ascii log/23/trace360 --trace-time http://127.0.0.1:38851/360 --fail-with-body --fail > log/23/stdout360 2> log/23/stderr360 === End of file commands.log === Start of file http_server.log 14:53:30.509987 ====> Client connect 14:53:30.510023 accept_connection 3 returned 4 14:53:30.510040 accept_connection 3 returned 0 14:53:30.510054 Read 93 bytes 14:53:30.510064 Process 93 bytes request 14:53:30.510076 Got request: GET /verifiedserver HTTP/1.1 14:53:30.510085 Are-we-friendly question received 14:53:30.510108 Wrote request (93 bytes) input to log/23/server.input 14:53:30.510125 Identifying ourselves as friends 14:53:30.510183 Response sent (56 bytes) and written to log/23/server.response 14:53:30.510193 special request received, no persistency 14:53:30.510204 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 360 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind360 ==95579== ==95579== Process terminating with default action of signal 4 (SIGILL) ==95579== Illegal opcode at address 0x4014B6F ==95579== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95579== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95579== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95579== by 0x4004266: main (tool_main.c:199) === End of file valgrind360 test 0357...[HTTP PUT with Expect: 100-continue and 417 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind357 ../src/curl -q --output log/3/curl357.out --include --trace-ascii log/3/trace357 --trace-time http://127.0.0.1:46791/we/want/357 -T log/3/test357.txt --expect100-timeout 99 > log/3/stdout357 2> log/3/stderr357 357: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind357 ../src/curl -q --output log/3/curl357.out --include --trace-ascii log/3/trace357 --trace-time http://127.0.0.1:46791/we/want/357 -T log/3/test357.txt --expect100-timeout 99 > log/3/stdout357 2> log/3/stderr357 === End of file commands.log === Start of file http_server.log 14:53:30.505212 ====> Client connect 14:53:30.505240 accept_connection 3 returned 4 14:53:30.505254 accept_connection 3 returned 0 14:53:30.505267 Read 93 bytes 14:53:30.505276 Process 93 bytes request 14:53:30.505289 Got request: GET /verifiedserver HTTP/1.1 14:53:30.505297 Are-we-friendly question received 14:53:30.505319 Wrote request (93 bytes) input to log/3/server.input 14:53:30.505333 Identifying ourselves as friends 14:53:30.505382 Response sent (56 bytes) and written to log/3/server.response 14:53:30.505391 special request received, no persistency 14:53:30.505399 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd no-expect Testnum 357 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind365 ../src/curl -q --output log/20/curl365.out --include --trace-ascii log/20/trace365 --trace-time http://127.0.0.1:39569/365 > log/20/stdout365 2> log/20/stderr365 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==95600== ==95600== Process terminating with default action of signal 4 (SIGILL) ==95600== Illegal opcode at address 0x4014B6F ==95600== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95600== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95600== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95600== by 0x4004266: main (tool_main.c:199) === End of file valgrind357 test 0365...[HTTP/1.1 with chunked AND Content-Length headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind365 ../src/curl -q --output log/20/curl365.out --include --trace-ascii log/20/trace365 --trace-time http://127.0.0.1:39569/365 > log/20/stdout365 2> log/20/stderr365 365: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind365 ../src/curl -q --output log/20/curl365.out --include --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind366 ../src/curl -q --output log/13/curl366.out --include --trace-ascii log/13/trace366 --trace-time http://127.0.0.1:41533/366 --retry 2 --retry-max-time 10 > log/13/stdout366 2> log/13/stderr366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind367 ../src/curl -q --output log/17/curl367.out --include --trace-ascii log/17/trace367 --trace-time http://:example@127.0.0.1:45171/367 > log/17/stdout367 2> log/17/stderr367 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind370 ../src/curl -q --output log/18/curl370.out --include --trace-ascii log/18/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/18/nowhere/etag370 > log/18/stdout370 2> log/18/stderr370 trace-ascii log/20/trace365 --trace-time http://127.0.0.1:39569/365 > log/20/stdout365 2> log/20/stderr365 === End of file commands.log === Start of file http_server.log 14:53:30.794881 ====> Client connect 14:53:30.794915 accept_connection 3 returned 4 14:53:30.794932 accept_connection 3 returned 0 14:53:30.794947 Read 93 bytes 14:53:30.794959 Process 93 bytes request 14:53:30.794973 Got request: GET /verifiedserver HTTP/1.1 14:53:30.794984 Are-we-friendly question received 14:53:30.795011 Wrote request (93 bytes) input to log/20/server.input 14:53:30.795028 Identifying ourselves as friends 14:53:30.795086 Response sent (56 bytes) and written to log/20/server.response 14:53:30.795096 special request received, no persistency 14:53:30.795106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind365 ==95788== ==95788== Process terminating with default action of signal 4 (SIGILL) ==95788== Illegal opcode at address 0x4014B6F ==95788== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95788== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95788== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95788== by 0x4004266: main (tool_main.c:199) === End of file valgrind365 test 0366...[HTTP --retry-max-time with too long Retry-After] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind366 ../src/curl -q --output log/13/curl366.out --include --trace-ascii log/13/trace366 --trace-time http://127.0.0.1:41533/366 --retry 2 --retry-max-time 10 > log/13/stdout366 2> log/13/stderr366 366: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind366 ../src/curl -q --output log/13/curl366.out --include --trace-ascii log/13/trace366 --trace-time http://127.0.0.1:41533/366 --retry 2 --retry-max-time 10 > log/13/stdout366 2> log/13/stderr366 === End of file commands.log === Start of file http_server.log 14:53:30.803700 ====> Client connect 14:53:30.803739 accept_connection 3 returned 4 14:53:30.803758 accept_connection 3 returned 0 14:53:30.803775 Read 93 bytes 14:53:30.803786 Process 93 bytes request 14:53:30.803800 Got request: GET /verifiedserver HTTP/1.1 14:53:30.803811 Are-we-friendly question received 14:53:30.803841 Wrote request (93 bytes) input to log/13/server.input 14:53:30.803860 Identifying ourselves as friends 14:53:30.803919 Response sent (56 bytes) and written to log/13/server.response 14:53:30.803931 special request received, no persistency 14:53:30.803942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind366 ==95801== ==95801== Process terminating with default action of signal 4 (SIGILL) ==95801== Illegal opcode at address 0x4014B6F ==95801== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95801== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95801== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95801== by 0x4004266: main (tool_main.c:199) === End of file valgrind366 test 0367...[Empty user name provided in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind367 ../src/curl -q --output log/17/curl367.out --include --trace-ascii log/17/trace367 --trace-time http://:example@127.0.0.1:45171/367 > log/17/stdout367 2> log/17/stderr367 367: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind367 ../src/curl -q --output log/17/curl367.out --include --trace-ascii log/17/trace367 --trace-time http://:example@127.0.0.1:45171/367 > log/17/stdout367 2> log/17/stderr367 === End of file commands.log === Start of file http_server.log 14:53:30.832502 ====> Client connect 14:53:30.832535 accept_connection 3 returned 4 14:53:30.832554 accept_connection 3 returned 0 14:53:30.832571 Read 93 bytes 14:53:30.832583 Process 93 bytes request 14:53:30.832598 Got request: GET /verifiedserver HTTP/1.1 14:53:30.832610 Are-we-friendly question received 14:53:30.832635 Wrote request (93 bytes) input to log/17/server.input 14:53:30.832653 Identifying ourselves as friends 14:53:30.832707 Response sent (56 bytes) and written to log/17/server.response 14:53:30.832718 special request received, no persistency 14:53:30.832729 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind367 ==95877== ==95877== Process terminating with default action of signal 4 (SIGILL) ==95877== Illegal opcode at address 0x4014B6F ==95877== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95877== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95877== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95877== by 0x4004266: main (tool_main.c:199) === End of file valgrind367 test 0370...[--etag-save with bad path - no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind370 ../src/curl -q --output log/18/curl370.out --include --trace-ascii log/18/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/18/nowhere/etag370 > log/18/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:36077/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind371 ../src/curl -q --output log/12/curl371.out --include --trace-ascii log/12/trace371 --trace-time http://127.0.0.1:43359/371 -o log/12/dump -o log/12/dump2 --no-progress-meter > log/12/stdout371 2> log/12/stderr371 out370 2> log/18/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/18/ dir after test 370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind370 ../src/curl -q --output log/18/curl370.out --include --trace-ascii log/18/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/18/nowhere/etag370 > log/18/stdout370 2> log/18/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==95980== ==95980== Process terminating with default action of signal 4 (SIGILL) ==95980== Illegal opcode at address 0x4014B6F ==95980== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95980== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95980== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95980== by 0x4004266: main (tool_main.c:199) === End of file valgrind370 test 0362...[FTP resume upload file with nothing to start from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:36077/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 362: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:36077/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 === End of file commands.log === Start of file ftp_server.log 14:53:30.674332 ====> Client connect 14:53:30.674508 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:30.674889 < "USER anonymous" 14:53:30.674923 > "331 We are happy you popped in![CR][LF]" 14:53:30.675096 < "PASS ftp@example.com" 14:53:30.675121 > "230 Welcome you silly person[CR][LF]" 14:53:30.675270 < "PWD" 14:53:30.675298 > "257 "/" is current directory[CR][LF]" 14:53:30.675458 < "EPSV" 14:53:30.675481 ====> Passive DATA channel requested by client 14:53:30.675494 DATA sockfilt for passive data channel starting... 14:53:30.677499 DATA sockfilt for passive data channel started (pid 95753) 14:53:30.677659 DATA sockfilt for passive data channel listens on port 36289 14:53:30.677709 > "229 Entering Passive Mode (|||36289|)[LF]" 14:53:30.677728 Client has been notified that DATA conn will be accepted on port 36289 14:53:30.678028 Client connects to port 36289 14:53:30.678060 ====> Client established passive DATA connection on port 36289 14:53:30.678155 < "TYPE I" 14:53:30.678188 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:30.678366 < "SIZE verifiedserver" 14:53:30.678406 > "213 17[CR][LF]" 14:53:30.678569 < "RETR verifiedserver" 14:53:30.678605 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:30.678690 =====> Closing passive DATA connection... 14:53:30.678706 Server disconnects passive DATA connection 14:53:30.678948 Server disconnected passive DATA connection 14:53:30.678973 DATA sockfilt for passive data channel quits (pid 95753) 14:53:30.679149 DATA sockfilt for passive data channel quit (pid 95753) 14:53:30.679167 =====> Closed passive DATA connection 14:53:30.679191 > "226 File transfer complete[CR][LF]" 14:53:30.724387 < "QUIT" 14:53:30.724437 > "221 bye bye baby[CR][LF]" 14:53:30.725752 MAIN sockfilt said DISC 14:53:30.725795 ====> Client disconnected 14:53:30.725914 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:29.757014 ====> Client connect 14:53:29.757426 Received DATA (on stdin) 14:53:29.757444 > 160 bytes data, server => client 14:53:29.757458 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:29.757471 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:29.757482 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:29.757562 < 16 bytes data, client => server 14:53:29.757576 'USER anonymous\r\n' 14:53:29.757744 Received DATA (on stdin) 14:53:29.757758 > 33 bytes data, server => client 14:53:29.757770 '331 We are happy you popped in!\r\n' 14:53:29.757825 < 22 bytes data, client => server 14:53:29.757838 'PASS ftp@example.com\r\n' 14:53:29.757937 Received DATA (on stdin) 14:53:29.757950 > 30 bytes data, server => client 14:53:29.757962 '230 Welcome you silly person\r\n' 14:53:29.758008 < 5 bytes data, client => server 14:53:29.758019 'PWD\r\n' 14:53:29.758115 Received DATA (on stdin) 14:53:29.758127 > 30 bytes data, server => client 14:53:29.758140 '257 "/" is current directory\r\n' 14:53:29.758196 < 6 bytes data, client => server 14:53:29.758207 'EPSV\r\n' 14:53:29.760557 Received DATA (on stdin) 14:53:29.760576 > 38 bytes data, server => client 14:53:29.760589 '229 Entering Passive Mode (|||36289|)\n' 14:53:29.760786 < 8 bytes data, client => server 14:53:29.760800 'TYPE I\r\n' 14:53:29.761009 Received DATA (on stdin) 14:53:29.761023 > 33 bytes data, server => client 14:53:29.761036 '200 I modify TYPE as you wanted\r\n' 14:53:29.761093 < 21 bytes data, client => server 14:53:29.761105 'SIZE verifiedserver\r\n' 14:53:29.761225 Received DATA (on stdin) 14:53:29.761239 > 8 bytes data, server => client 14:53:29.761251 '213 17\r\n' 14:53:29.761301 < 21 bytes data, client => server 14:53:29.761314 'RETR verifiedserver\r\n' 14:53:29.761620 Received DATA (on stdin) 14:53:29.761634 > 29 bytes data, server => client 14:53:29.761646 '150 Binary junk (17 bytes).\r\n' 14:53:29.762006 Received DATA (on stdin) 14:53:29.762017 > 28 bytes data, server => client 14:53:29.762027 '226 File transfer complete\r\n' 14:53:29.807041 < 6 bytes data, client => server 14:53:29.807067 'QUIT\r\n' 14:53:29.807261 Received DATA (on stdin) 14:53:29.807277 > 18 bytes data, server => client 14:53:29.807288 '221 bye bye baby\r\n' 14:53:29.808480 ====> Client disconnect 14:53:29.808643 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:30.760089 Running IPv4 version 14:53:30.760177 Listening on port 36289 14:53:30.760218 Wrote pid 95753 to log/6/server/ftp_sockdata.pid 14:53:30.760241 Received PING (on stdin) 14:53:30.760372 Received PORT (on stdin) 14:53:30.760754 ====> Client connect 14:53:30.761527 Received DATA (on stdin) 14:53:30.761541 > 17 bytes data, server => client 14:53:30.761553 'WE ROOLZ: 80241\r\n' 14:53:30.761581 Received DISC (on stdin) 14:53:30.761594 ====> Client forcibly disconnected 14:53:30.761797 Received QUIT (on stdin) 14:53:30.761807 quits 14:53:30.761855 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 362 === End of file server.cmd === Start of file test362.txt data to see that FTP works so does it? === End of file test362.txt === Start of file valgrind362 ==95938== ==95938== Process terminating with default action of signal 4 (SIGILL) ==95938== Illegal opcode at address 0x4014B6F ==95938== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==95938== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==95938== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==95938== by 0x4004266: main (tool_main.c:199) === End of file valgrind362 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind369 ../src/curl -q --output log/11/curl369.out --include --trace-ascii log/11/trace369 --trace-time http://127.0.0.1:33503/369 --etag-save log/11/nowhere/etag369 --next http://127.0.0.1:33503/369 --include --output log/11/curl369.out > log/11/stdout369 2> log/11/stderr369 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-time http://127.0.0.1:44029/368 -r 4 > log/1/stdout368 2> log/1/stderr368 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind372 ../src/curl -q --output log/14/curl372.out --include --trace-ascii log/14/trace372 --trace-time --raw http://127.0.0.1:46043/binary-zero-in-data-section/372 > log/14/stdout372 2> log/14/stderr372 test 0371...[using more -o than URLs in the command line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind371 ../src/curl -q --output log/12/curl371.out --include --trace-ascii log/12/trace371 --trace-time http://127.0.0.1:43359/371 -o log/12/dump -o log/12/dump2 --no-progress-meter > log/12/stdout371 2> log/12/stderr371 371: stderr FAILED: --- log/12/check-expected 2025-09-11 14:53:31.818864002 +0000 +++ log/12/check-generated 2025-09-11 14:53:31.818864002 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/12/ dir after test 371 === Start of file check-expected Warning: Got more output options than URLs[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind371 ../src/curl -q --output log/12/curl371.out --include --trace-ascii log/12/trace371 --trace-time http://127.0.0.1:43359/371 -o log/12/dump -o log/12/dump2 --no-progress-meter > log/12/stdout371 2> log/12/stderr371 === End of file commands.log === Start of file http_server.log 14:53:30.898818 ====> Client connect 14:53:30.898850 accept_connection 3 returned 4 14:53:30.898866 accept_connection 3 returned 0 14:53:30.898881 Read 93 bytes 14:53:30.898892 Process 93 bytes request 14:53:30.898906 Got request: GET /verifiedserver HTTP/1.1 14:53:30.898916 Are-we-friendly question received 14:53:30.898964 Wrote request (93 bytes) input to log/12/server.input 14:53:30.898979 Identifying ourselves as friends 14:53:30.899027 Response sent (56 bytes) and written to log/12/server.response 14:53:30.899035 special request received, no persistency 14:53:30.899043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind371 ==96086== ==96086== Process terminating with default action of signal 4 (SIGILL) ==96086== Illegal opcode at address 0x4014B6F ==96086== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96086== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96086== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96086== by 0x4004266: main (tool_main.c:199) === End of file valgrind371 test 0369...[--etag-save with bad path then working transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind369 ../src/curl -q --output log/11/curl369.out --include --trace-ascii log/11/trace369 --trace-time http://127.0.0.1:33503/369 --etag-save log/11/nowhere/etag369 --next http://127.0.0.1:33503/369 --include --output log/11/curl369.out > log/11/stdout369 2> log/11/stderr369 369: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind369 ../src/curl -q --output log/11/curl369.out --include --trace-ascii log/11/trace369 --trace-time http://127.0.0.1:33503/369 --etag-save log/11/nowhere/etag369 --next http://127.0.0.1:33503/369 --include --output log/11/curl369.out > log/11/stdout369 2> log/11/stderr369 === End of file commands.log === Start of file http_server.log 14:53:30.891078 ====> Client connect 14:53:30.891110 accept_connection 3 returned 4 14:53:30.891128 accept_connection 3 returned 0 14:53:30.891144 Read 93 bytes 14:53:30.891155 Process 93 bytes request 14:53:30.891168 Got request: GET /verifiedserver HTTP/1.1 14:53:30.891179 Are-we-friendly question received 14:53:30.891205 Wrote request (93 bytes) input to log/11/server.input 14:53:30.891224 Identifying ourselves as friends 14:53:30.891280 Response sent (56 bytes) and written to log/11/server.response 14:53:30.891291 special request received, no persistency 14:53:30.891301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind369 ==96064== ==96064== Process terminating with default action of signal 4 (SIGILL) ==96064== Illegal opcode at address 0x4014B6F ==96064== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96064== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96064== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96064== by 0x4004266: main (tool_main.c:199) === End of file valgrind369 test 0368...[Append dash if -r range specified without one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-time http://127.0.0.1:44029/368 -r 4 > log/1/stdout368 2> log/1/stderr368 368: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-time http://127.0.0.1:44029/368 -r 4 > log/1/stdout368 2> log/1/stderr368 === End of file commands.log === Start of file http_server.log 14:53:30.885869 ====> Client connect 14:53:30.885900 accept_connection 3 returned 4 14:53:30.885917 accept_connection 3 returned 0 14:53:30.885933 Read 93 bytes 14:53:30.885943 Process 93 bytes request 14:53:30.885957 Got request: GET /verifiedserver HTTP/1.1 14:53:30.885968 Are-we-friendly question received 14:53:30.885991 Wrote request (93 bytes) input to log/1/server.input 14:53:30.886008 Identifying ourselves as friends 14:53:30.886059 Response sent (56 bytes) and written to log/1/server.response 14:53:30.886070 special request received, no persistency 14:53:30.886080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > AccepCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-time http://127.0.0.1:34475/gif/374 > log/16/stdout374 2> log/16/stderr374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind373 ../src/curl -q --output log/2/curl373.out --include --trace-ascii log/2/trace373 --trace-time http://127.0.0.1:37587/chunked-transfer-encoding/373 > log/2/stdout373 2> log/2/stderr373 t: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind368 ==96043== ==96043== Process terminating with default action of signal 4 (SIGILL) ==96043== Illegal opcode at address 0x4014B6F ==96043== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96043== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96043== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96043== by 0x4004266: main (tool_main.c:199) === End of file valgrind368 test 0372...[Binary zero in data element.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind372 ../src/curl -q --output log/14/curl372.out --include --trace-ascii log/14/trace372 --trace-time --raw http://127.0.0.1:46043/binary-zero-in-data-section/372 > log/14/stdout372 2> log/14/stderr372 372: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind372 ../src/curl -q --output log/14/curl372.out --include --trace-ascii log/14/trace372 --trace-time --raw http://127.0.0.1:46043/binary-zero-in-data-section/372 > log/14/stdout372 2> log/14/stderr372 === End of file commands.log === Start of file http_server.log 14:53:30.924562 ====> Client connect 14:53:30.924601 accept_connection 3 returned 4 14:53:30.924620 accept_connection 3 returned 0 14:53:30.924912 Read 93 bytes 14:53:30.924930 Process 93 bytes request 14:53:30.924945 Got request: GET /verifiedserver HTTP/1.1 14:53:30.924956 Are-we-friendly question received 14:53:30.924989 Wrote request (93 bytes) input to log/14/server.input 14:53:30.925008 Identifying ourselves as friends 14:53:30.925099 Response sent (56 bytes) and written to log/14/server.response 14:53:30.925110 special request received, no persistency 14:53:30.925121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 49408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind372 ==96195== ==96195== Process terminating with default action of signal 4 (SIGILL) ==96195== Illegal opcode at address 0x4014B6F ==96195== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96195== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96195== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96195== by 0x4004266: main (tool_main.c:199) === End of file valgrind372 test 0374...[Valid gif with two frames. No new line in data section.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-time http://127.0.0.1:34475/gif/374 > log/16/stdout374 2> log/16/stderr374 374: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-time http://127.0.0.1:34475/gif/374 > log/16/stdout374 2> log/16/stderr374 === End of file commands.log === Start of file http_server.log 14:53:30.996385 ====> Client connect 14:53:30.996428 accept_connection 3 returned 4 14:53:30.996448 accept_connection 3 returned 0 14:53:30.996467 Read 93 bytes 14:53:30.996480 Process 93 bytes request 14:53:30.996498 Got request: GET /verifiedserver HTTP/1.1 14:53:30.996509 Are-we-friendly question received 14:53:30.996537 Wrote request (93 bytes) input to log/16/server.input 14:53:30.996557 Identifying ourselves as friends 14:53:30.996614 Response sent (56 bytes) and written to log/16/server.response 14:53:30.996626 special request received, no persistency 14:53:30.996637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind374 ==96347== ==96347== Process terminating with default action of signal 4 (SIGILL) ==96347== Illegal opcode at address 0x4014B6F ==96347== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96347== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96347== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96347== by 0x4004266: main (tool_main.c:199) === End of file valgrind374 test 0373...[Chunked transfer encoding - Multiple valid chunks with binary zeros.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind373 ../src/curl -q --output log/2/curl373.out --include --trace-ascii log/2/trace373 --trace-time http://127.0.0.1:37587/chunked-transfer-encoding/373 > log/2/stdout373 2> log/2/stderr373 373: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind373 ../src/curl -q --output log/2/curl373.out --include --trace-ascii log/2/trace373 --trace-time http://127.0.0.1:37587/chunked-transfer-encoding/373 > log/2/stdout373 2> log/2/stderr373 === End of file commands.log === Start of file http_server.log 14:53:30.997813 ====> Client connect 14:53:30.997844 accept_connection 3 returned 4 14:53:30.997863 accept_connection 3 returned 0 14:53:30.997878 Read 93 bytes 14:53:30.997889 Process 93 bytes request 14:53:30.997901 Got request: GET /verifiedserver HTTP/1.1 14:53:30.997912 Are-we-friendly question received 14:53:30.997944 Wrote request (93 bytes) input to log/2/server.input 14:53:30.997962 IdentifyinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:46041/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 g ourselves as friends 14:53:30.998014 Response sent (56 bytes) and written to log/2/server.response 14:53:30.998025 special request received, no persistency 14:53:30.998035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind373 ==96357== ==96357== Process terminating with default action of signal 4 (SIGILL) ==96357== Illegal opcode at address 0x4014B6F ==96357== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96357== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96357== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96357== by 0x4004266: main (tool_main.c:199) === End of file valgrind373 test 0376...[--remove-on-error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:46041/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 376: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:46041/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 === End of file commands.log === Start of file http_server.log 14:53:31.046400 ====> Client connect 14:53:31.046448 accept_connection 3 returned 4 14:53:31.046470 accept_connection 3 returned 0 14:53:31.046489 Read 93 bytes 14:53:31.046500 Process 93 bytes request 14:53:31.046515 Got request: GET /verifiedserver HTTP/1.1 14:53:31.046526 Are-we-friendly question received 14:53:31.046554 Wrote request (93 bytes) input to log/5/server.input 14:53:31.046573 Identifying ourselves as friends 14:53:31.046653 Response sent (56 bytes) and written to log/5/server.response 14:53:31.046667 special request received, no persistency 14:53:31.046678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 43710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind376 ==96446== ==96446== Process terminating with default action of signal 4 (SIGILL) ==96446== Illegal opcode at address 0x4014B6F ==96446== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96446== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96446== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96446== by 0x4004266: main (tool_main.c:199) === End of file valgrind376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:42027/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind388 ../src/curl -q --include --trace-ascii log/10/trace388 --trace-time http://127.0.0.1:35893/3880001 -u testuser:testpass --digest http://127.0.0.1:35893/3880002 > log/10/stdout388 2> log/10/stderr388 test 0378...[Reject using -T and -d at once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 378: stderr FAILED: --- log/7/check-expected 2025-09-11 14:53:32.125530673 +0000 +++ log/7/check-generated 2025-09-11 14:53:32.125530673 +0000 @@ -1,2 +0,0 @@ -Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] -Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] == Contents of files in the log/7/ dir after test 378 === Start of file check-expected Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==96527== ==96527== Process terminating with default action of signal 4 (SIGILL) ==96527== Illegal opcode at address 0x4014B6F ==96527== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96527== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96527== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96527== by 0x4004266: main (tool_main.c:199) === End of file valgrind378 test 0379...[--remove-on-error with --no-clobber and an added number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:42027/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 379: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:42027/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 === End of file commands.log === Start of file http_server.log 14:53:31.321919 ====> Client connect 14:53:31.322075 accept_connection 3 returned 4 14:53:31.322110 accept_connection 3 returned 0 14:53:31.322129 Read 93 bytes 14:53:31.322141 Process 93 bytes request 14:53:31.322155 Got request: GET /verifiedserver HTTP/1.1 14:53:31.322166 Are-we-friendly question received 14:53:31.322196 Wrote request (93 bytes) input to log/22/server.input 14:53:31.322215 Identifying ourselves as friends 14:53:31.322277 Response sent (56 bytes) and written to log/22/server.response 14:53:31.322289 special request received, no persistency 14:53:31.322300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file save exists before command runs === End of file save === Start of file server.cmd Testnum 379 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind379 ==96595== ==96595== Process terminating with default action of signal 4 (SIGILL) ==96595== Illegal opcode at address 0x4014B6F ==96595== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96595== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96595== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96595== by 0x4004266: main (tool_main.c:199) === End of file valgrind379 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42107/383 > log/15/stdout383 2> log/15/stderr383 test 0388...[HTTP with Digest and multiple qop values with leading space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind388 ../src/curl -q --include --trace-ascii log/10/trace388 --trace-time http://127.0.0.1:35893/3880001 -u testuser:testpass --digest http://127.0.0.1:35893/3880002 > log/10/stdout388 2> log/10/stderr388 388: stdout FAILED: --- log/10/check-expected 2025-09-11 14:53:32.408864010 +0000 +++ log/10/check-generated 2025-09-11 14:53:32.408864010 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/10/ dir after test 388 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind388 ../src/curl -q --include --trace-ascii log/10/trace388 --trace-time http://127.0.0.1:35893/3880001 -u testuser:testpass --digest http://127.0.0.1:35893/3880002 > log/10/stdout388 2> log/10/stderr388 === End of file commands.log === Start of file http_server.log 14:53:31.530168 ====> Client connect 14:53:31.530208 accept_connection 3 returned 4 14:53:31.530230 accept_connection 3 returned 0 14:53:31.530247 Read 93 bytes 14:53:31.530258 Process 93 bytes request 14:53:31.530272 Got request: GET /verifiedserver HTTP/1.1 14:53:31.530282 Are-we-friendly question received 14:53:31.530308 Wrote request (93 bytes) input to log/10/server.input 14:53:31.530325 Identifying ourselves as friends 14:53:31.530381 Response sent (56 bytes) and written to log/10/server.response 14:53:31.530393 special request received, no persistency 14:53:31.530403 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 388 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind388 ==97168== ==97168== Process terminating with default action of signal 4 (SIGILL) ==97168== Illegal opcode at address 0x4014B6F ==97168== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97168== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97168== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97168== by 0x4004266: main (tool_main.c:199) === End of file valgrind388 test 0383...[HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42107/383 > log/15/stdout383 2> log/15/stderr383 383: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42107/383 > log/15/stdout383 2> log/15/stderr383 === End of file commands.log === Start of file http_server.log 14:53:31.425477 ====> Client connect 14:53:31.425511 accept_connection 3 returned 4 14:53:31.425529 accept_connection 3 returned 0 14:53:31.425544 Read 93 bytes 14:53:31.425556 Process 93 bytes request 14:53:31.425569 Got request: GET /verifiedserver HTTP/1.1 14:53:31.425580 Are-we-friendly question received 14:53:31.425608 Wrote request (93 bytes) input to log/15/server.input 14:53:31.425627 Identifying ourselves as friends 14:53:31.425688 Response sent (56 bytes) and written to log/15/server.response 14:53:31.425699 special request received, no persistency 14:53:31.425710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 383 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind383 ==96766== ==96766== Process terminating with default action of signal 4 (SIGILL) ==96766== Illegal opcode at address 0x4014B6F ==96766== at 0x4014B6F: gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:33805/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/stderr385 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind384 ../src/curl -q --output log/21/curl384.out --include --trace-ascii log/21/trace384 --trace-time --json @- http://127.0.0.1:34037/384 -H "Accept: foobar/*" log/21/stdout384 2> log/21/stderr384 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind386 ../src/curl -q --output log/24/curl386.out --include --trace-ascii log/24/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:34449/386 --next http://127.0.0.1:34449/3860002 > log/24/stdout386 2> log/24/stderr386 etparameter (tool_getparam.c:2830) ==96766== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96766== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96766== by 0x4004266: main (tool_main.c:199) === End of file valgrind383 test 0385...[HTTP with --json x 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:33805/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/stderr385 385: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:33805/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/stderr385 === End of file commands.log === Start of file http_server.log 14:53:30.437702 ====> Client connect 14:53:30.437732 accept_connection 3 returned 4 14:53:30.437748 accept_connection 3 returned 0 14:53:30.437762 Read 93 bytes 14:53:30.437773 Process 93 bytes request 14:53:30.437785 Got request: GET /verifiedserver HTTP/1.1 14:53:30.437795 Are-we-friendly question received 14:53:30.437822 Wrote request (93 bytes) input to log/19/server.input 14:53:30.437838 Identifying ourselves as friends 14:53:30.437891 Response sent (56 bytes) and written to log/19/server.response 14:53:30.437901 special request received, no persistency 14:53:30.437911 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 385 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind385 ==96784== ==96784== Process terminating with default action of signal 4 (SIGILL) ==96784== Illegal opcode at address 0x4014B6F ==96784== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96784== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96784== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96784== by 0x4004266: main (tool_main.c:199) === End of file valgrind385 test 0384...[HTTP with --json from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind384 ../src/curl -q --output log/21/curl384.out --include --trace-ascii log/21/trace384 --trace-time --json @- http://127.0.0.1:34037/384 -H "Accept: foobar/*" log/21/stdout384 2> log/21/stderr384 384: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind384 ../src/curl -q --output log/21/curl384.out --include --trace-ascii log/21/trace384 --trace-time --json @- http://127.0.0.1:34037/384 -H "Accept: foobar/*" log/21/stdout384 2> log/21/stderr384 === End of file commands.log === Start of file http_server.log 14:53:31.437307 ====> Client connect 14:53:31.437348 accept_connection 3 returned 4 14:53:31.437365 accept_connection 3 returned 0 14:53:31.437381 Read 93 bytes 14:53:31.437392 Process 93 bytes request 14:53:31.437406 Got request: GET /verifiedserver HTTP/1.1 14:53:31.437418 Are-we-friendly question received 14:53:31.437443 Wrote request (93 bytes) input to log/21/server.input 14:53:31.437461 Identifying ourselves as friends 14:53:31.437519 Response sent (56 bytes) and written to log/21/server.response 14:53:31.437531 special request received, no persistency 14:53:31.437541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 51012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 384 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==96782== ==96782== Process terminating with default action of signal 4 (SIGILL) ==96782== Illegal opcode at address 0x4014B6F ==96782== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96782== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96782== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96782== by 0x4004266: main (tool_main.c:199) === End of file valgrind384 test 0386...[HTTP with --json + --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind386 ../src/curl -q --output log/24/curl386.out --include --trace-ascii log/24/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:34449/386 --next http://127.0.0.1:34449/3860002 > log/24/stdout386 2> log/24/stderr386 386: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind386 ../src/curl -q --output log/24/curl386.out --include --trace-ascii log/24/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:34449/386 --next http://127.0.0.1:34449/3860002 > log/24/stdout386 2> log/24/stderr386 === End of file commands.log === Start of file http_server.log 14:53:31.441321 ====> Client connect 14:53:31.441359 accept_connection 3 returned 4 14:53:31.441378 accept_connection 3 returned 0 14:53:31.443309 Read 93 bytes 14:53:31.443326 Process 93 bytes request 14:53:31.443339 Got request: GET /verifiedserver HTTP/1.1 14:53:31.443348 Are-we-friendly question received 14:53:31.443376 Wrote request (93 bytes) input to log/24/server.input 14:53:31.443393 Identifying ourselves as friends 14:53:31.443441 Response sent (56 bytes) and written to log/24/server.response 14:53:31.443451 special request received, no persistency 14:53:31.443460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind381 ../src/curl -q --output log/8/curl381.out --include --trace-ascii log/8/trace381 --trace-time --netrc-optional --netrc-file log/8/netrc381 ftp://mary:drfrank@127.0.0.1:37557/ > log/8/stdout381 2> log/8/stderr381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind387 ../src/curl -q --output log/9/curl387.out --include --trace-ascii log/9/trace387 --trace-time http://127.0.0.1:34345/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind389 ../src/curl -q --output log/23/curl389.out --include --trace-ascii log/23/trace389 --trace-time -4 http://curlmachine.localhost:38851/389 > log/23/stdout389 2> log/23/stderr389 Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 37268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 386 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind386 ==96820== ==96820== Process terminating with default action of signal 4 (SIGILL) ==96820== Illegal opcode at address 0x4014B6F ==96820== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96820== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96820== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96820== by 0x4004266: main (tool_main.c:199) === End of file valgrind386 test 0381...[netrc-optional lets URL creds override netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind381 ../src/curl -q --output log/8/curl381.out --include --trace-ascii log/8/trace381 --trace-time --netrc-optional --netrc-file log/8/netrc381 ftp://mary:drfrank@127.0.0.1:37557/ > log/8/stdout381 2> log/8/stderr381 381: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind381 ../src/curl -q --output log/8/curl381.out --include --trace-ascii log/8/trace381 --trace-time --netrc-optional --netrc-file log/8/netrc381 ftp://mary:drfrank@127.0.0.1:37557/ > log/8/stdout381 2> log/8/stderr381 === End of file commands.log === Start of file ftp_server.log 14:53:31.342448 ====> Client connect 14:53:31.342593 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:31.342923 < "USER anonymous" 14:53:31.342966 > "331 We are happy you popped in![CR][LF]" 14:53:31.343148 < "PASS ftp@example.com" 14:53:31.343179 > "230 Welcome you silly person[CR][LF]" 14:53:31.343335 < "PWD" 14:53:31.343363 > "257 "/" is current directory[CR][LF]" 14:53:31.343521 < "EPSV" 14:53:31.343763 ====> Passive DATA channel requested by client 14:53:31.343779 DATA sockfilt for passive data channel starting... 14:53:31.345484 DATA sockfilt for passive data channel started (pid 96714) 14:53:31.345596 DATA sockfilt for passive data channel listens on port 40609 14:53:31.345633 > "229 Entering Passive Mode (|||40609|)[LF]" 14:53:31.345651 Client has been notified that DATA conn will be accepted on port 40609 14:53:31.345899 Client connects to port 40609 14:53:31.345935 ====> Client established passive DATA connection on port 40609 14:53:31.346011 < "TYPE I" 14:53:31.346043 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:31.346225 < "SIZE verifiedserver" 14:53:31.346259 > "213 17[CR][LF]" 14:53:31.346406 < "RETR verifiedserver" 14:53:31.346436 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:31.346513 =====> Closing passive DATA connection... 14:53:31.346528 Server disconnects passive DATA connection 14:53:31.346763 Server disconnected passive DATA connection 14:53:31.346788 DATA sockfilt for passive data channel quits (pid 96714) 14:53:31.347025 DATA sockfilt for passive data channel quit (pid 96714) 14:53:31.347050 =====> Closed passive DATA connection 14:53:31.347081 > "226 File transfer complete[CR][LF]" 14:53:31.390575 < "QUIT" 14:53:31.390631 > "221 bye bye baby[CR][LF]" 14:53:31.391897 MAIN sockfilt said DISC 14:53:31.391938 ====> Client disconnected 14:53:31.392010 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:31.425165 ====> Client connect 14:53:31.425422 Received DATA (on stdin) 14:53:31.425438 > 160 bytes data, server => client 14:53:31.425449 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:31.425459 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:31.425468 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:31.425595 < 16 bytes data, client => server 14:53:31.425608 'USER anonymous\r\n' 14:53:31.425788 Received DATA (on stdin) 14:53:31.425802 > 33 bytes data, server => client 14:53:31.425814 '331 We are happy you popped in!\r\n' 14:53:31.425866 < 22 bytes data, client => server 14:53:31.425878 'PASS ftp@example.com\r\n' 14:53:31.425996 Received DATA (on stdin) 14:53:31.426008 > 30 bytes data, server => client 14:53:31.426019 '230 Welcome you silly person\r\n' 14:53:31.426067 < 5 bytes data, client => server 14:53:31.426079 'PWD\r\n' 14:53:31.426179 Received DATA (on stdin) 14:53:31.426191 > 30 bytes data, server => client 14:53:31.426202 '257 "/" is current directory\r\n' 14:53:31.426258 < 6 bytes data, client => server 14:53:31.426270 'EPSV\r\n' 14:53:31.428460 Received DATA (on stdin) 14:53:31.428483 > 38 bytes data, server => client 14:53:31.428496 '229 Entering Passive Mode (|||40609|)\n' 14:53:31.428670 < 8 bytes data, client => server 14:53:31.428684 'TYPE I\r\n' 14:53:31.428865 Received DATA (on stdin) 14:53:31.428881 > 33 bytes data, server => client 14:53:31.428893 '200 I modify TYPE as you wanted\r\n' 14:53:31.428954 < 21 bytes data, client => server 14:53:31.428966 'SIZE verifiedserver\r\n' 14:53:31.429074 Received DATA (on stdin) 14:53:31.429086 > 8 bytes data, server => client 14:53:31.429097 '213 17\r\n' 14:53:31.429144 < 21 bytes data, client => server 14:53:31.429156 'RETR verifiedserver\r\n' 14:53:31.429347 Received DATA (on stdin) 14:53:31.429359 > 29 bytes data, server => client 14:53:31.429370 '150 Binary junk (17 bytes).\r\n' 14:53:31.429902 Received DATA (on stdin) 14:53:31.429917 > 28 bytes data, server => client 14:53:31.429929 '226 File transfer complete\r\n' 14:53:31.473164 < 6 bytes data, client => server 14:53:31.473198 'QUIT\r\n' 14:53:31.473457 Received DATA (on stdin) 14:53:31.473472 > 18 bytes data, server => client 14:53:31.473483 '221 bye bye baby\r\n' 14:53:31.474656 ====> Client disconnect 14:53:31.474828 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:31.428137 Running IPv4 version 14:53:31.428187 Listening on port 40609 14:53:31.428222 Wrote pid 96714 to log/8/server/ftp_sockdata.pid 14:53:31.428242 Received PING (on stdin) 14:53:31.428331 Received PORT (on stdin) 14:53:31.428628 ====> Client connect 14:53:31.429396 Received DATA (on stdin) 14:53:31.429413 > 17 bytes data, server => client 14:53:31.429424 'WE ROOLZ: 80267\r\n' 14:53:31.429449 Received DISC (on stdin) 14:53:31.429460 ====> Client forcibly disconnected 14:53:31.429616 Received QUIT (on stdin) 14:53:31.429629 quits 14:53:31.429691 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc381 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc381 === Start of file server.cmd Testnum 381 === End of file server.cmd === Start of file valgrind381 ==96956== ==96956== Process terminating with default action of signal 4 (SIGILL) ==96956== Illegal opcode at address 0x4014B6F ==96956== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96956== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96956== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96956== by 0x4004266: main (tool_main.c:199) === End of file valgrind381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind380 ../src/curl -q --output log/4/curl380.out --include --trace-ascii log/4/trace380 --trace-time --netrc --netrc-file log/4/netrc380 ftp://mary@127.0.0.1:44299/ > log/4/stdout380 2> log/4/stderr380 test 0387...[Response with overly long compression chain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind387 ../src/curl -q --output log/9/curl387.out --include --trace-ascii log/9/trace387 --trace-time http://127.0.0.1:34345/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 387: stderr FAILED: --- log/9/check-expected 2025-09-11 14:53:32.498864012 +0000 +++ log/9/check-generated 2025-09-11 14:53:32.498864012 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/9/ dir after test 387 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind387 ../src/curl -q --output log/9/curl387.out --include --trace-ascii log/9/trace387 --trace-time http://127.0.0.1:34345/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 === End of file commands.log === Start of file http_server.log 14:53:31.451213 ====> Client connect 14:53:31.451250 accept_connection 3 returned 4 14:53:31.451269 accept_connection 3 returned 0 14:53:31.451285 Read 93 bytes 14:53:31.451296 Process 93 bytes request 14:53:31.451311 Got request: GET /verifiedserver HTTP/1.1 14:53:31.451322 Are-we-friendly question received 14:53:31.451350 Wrote request (93 bytes) input to log/9/server.input 14:53:31.451369 Identifying ourselves as friends 14:53:31.451427 Response sent (56 bytes) and written to log/9/server.response 14:53:31.451438 special request received, no persistency 14:53:31.451449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 58416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 387 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind387 ==96833== ==96833== Process terminating with default action of signal 4 (SIGILL) ==96833== Illegal opcode at address 0x4014B6F ==96833== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96833== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96833== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96833== by 0x4004266: main (tool_main.c:199) === End of file valgrind387 test 0389...[*.localhost is a local host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind389 ../src/curl -q --output log/23/curl389.out --include --trace-ascii log/23/trace389 --trace-time -4 http://curlmachine.localhost:38851/389 > log/23/stdout389 2> log/23/stderr389 389: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind389 ../src/curl -q --output log/23/curl389.out --include --trace-ascii log/23/trace389 --trace-time -4 http://curlmachine.localhost:38851/389 > log/23/stdout389 2> log/23/stderr389 === End of file commands.log === Start of file http_server.log 14:53:31.534949 ====> Client connect 14:53:31.534985 accept_connection 3 returned 4 14:53:31.535003 accept_connection 3 returned 0 14:53:31.535020 Read 93 bytes 14:53:31.535032 Process 93 bytes request 14:53:31.535049 Got request: GET /verifiedserver HTTP/1.1 14:53:31.535060 Are-we-friendly question received 14:53:31.535092 Wrote request (93 bytes) input to log/23/server.input 14:53:31.535116 Identifying ourselves as friends 14:53:31.535180 Response sent (56 bytes) and written to log/23/server.response 14:53:31.535192 special request received, no persistency 14:53:31.535203 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 389 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind389 ==97153== ==97153== Process terminating with default action of signal 4 (SIGILL) ==97153== Illegal opcode at address 0x4014B6F ==97153== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97153== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97153== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97153== by 0x4004266: main (tool_main.c:199) === End of file valgrind389 test 0380...[pick netrc password based on user name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind380 ../src/curl -q --output log/4/curl380.out --include --trace-ascii log/4/trace380 --trace-time --netrc --netrc-file log/4/netrc380 ftp://mary@127.0.0.1:44299/ > log/4/stdout380 2> log/4/stderr380 380: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind380 ../src/curl -q --output log/4/curl380.out --include --trace-ascii log/4/trace380 --trace-time --netrc --netrc-file log/4/netrc380 ftp://mary@127.0.0.1:44299/ > log/4/stdout380 2> log/4/stderr380 === End of file commands.log === Start of file ftp_server.log 14:53:31.340877 ====> Client connect 14:53:31.341020 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:31.341267 < "USER anonymous" 14:53:31.341300 > "331 We are happy you popped in![CR][LF]" 14:53:31.341449 < "PASS ftp@example.com" 14:53:31.341471 > "230 Welcome you silly person[CR][LF]" 14:53:31.341618 < "PWD" 14:53:31.341649 > "257 "/" is current directory[CR][LF]" 14:53:31.341924 < "EPSV" 14:53:31.341964 ====> Passive DATA channel requested by client 14:53:31.341980 DATA sockfilt for passive data channel starting... 14:53:31.343997 DATA sockfilt for passive data channel started (pid 96705) 14:53:31.344112 DATA sockfilt for passive data channel listens on port 38671 14:53:31.344157 > "229 Entering Passive Mode (|||38671|)[LF]" 14:53:31.344177 Client has been notified that DATA conn will be accepted on port 38671 14:53:31.344446 Client connects to port 38671 14:53:31.344476 ====> Client established passive DATCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind390 ../src/curl -q --include --trace-ascii log/3/trace390 --trace-time http://127.0.0.1:46791/390 file://localhost/startdir/src/build-curl/tests/log/3/test390.txt ftp://127.0.0.1:37155/3900002 --parallel -o log/3/390.a -o log/3/390.b -o log/3/390.c > log/3/stdout390 2> log/3/stderr390 A connection on port 38671 14:53:31.344563 < "TYPE I" 14:53:31.344595 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:31.344792 < "SIZE verifiedserver" 14:53:31.344840 > "213 17[CR][LF]" 14:53:31.345039 < "RETR verifiedserver" 14:53:31.345074 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:31.345166 =====> Closing passive DATA connection... 14:53:31.345183 Server disconnects passive DATA connection 14:53:31.345344 Server disconnected passive DATA connection 14:53:31.345371 DATA sockfilt for passive data channel quits (pid 96705) 14:53:31.345606 DATA sockfilt for passive data channel quit (pid 96705) 14:53:31.345629 =====> Closed passive DATA connection 14:53:31.345660 > "226 File transfer complete[CR][LF]" 14:53:31.390574 < "QUIT" 14:53:31.390633 > "221 bye bye baby[CR][LF]" 14:53:31.392142 MAIN sockfilt said DISC 14:53:31.392184 ====> Client disconnected 14:53:31.392243 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:31.423601 ====> Client connect 14:53:31.423847 Received DATA (on stdin) 14:53:31.423862 > 160 bytes data, server => client 14:53:31.423873 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:31.423884 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:31.423895 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:31.423959 < 16 bytes data, client => server 14:53:31.423970 'USER anonymous\r\n' 14:53:31.424121 Received DATA (on stdin) 14:53:31.424133 > 33 bytes data, server => client 14:53:31.424143 '331 We are happy you popped in!\r\n' 14:53:31.424187 < 22 bytes data, client => server 14:53:31.424196 'PASS ftp@example.com\r\n' 14:53:31.424284 Received DATA (on stdin) 14:53:31.424294 > 30 bytes data, server => client 14:53:31.424303 '230 Welcome you silly person\r\n' 14:53:31.424350 < 5 bytes data, client => server 14:53:31.424363 'PWD\r\n' 14:53:31.424464 Received DATA (on stdin) 14:53:31.424489 > 30 bytes data, server => client 14:53:31.424503 '257 "/" is current directory\r\n' 14:53:31.424608 < 6 bytes data, client => server 14:53:31.424622 'EPSV\r\n' 14:53:31.427004 Received DATA (on stdin) 14:53:31.427021 > 38 bytes data, server => client 14:53:31.427033 '229 Entering Passive Mode (|||38671|)\n' 14:53:31.427179 < 8 bytes data, client => server 14:53:31.427196 'TYPE I\r\n' 14:53:31.427414 Received DATA (on stdin) 14:53:31.427428 > 33 bytes data, server => client 14:53:31.427440 '200 I modify TYPE as you wanted\r\n' 14:53:31.427501 < 21 bytes data, client => server 14:53:31.427514 'SIZE verifiedserver\r\n' 14:53:31.427664 Received DATA (on stdin) 14:53:31.427682 > 8 bytes data, server => client 14:53:31.427695 '213 17\r\n' 14:53:31.427761 < 21 bytes data, client => server 14:53:31.427774 'RETR verifiedserver\r\n' 14:53:31.427987 Received DATA (on stdin) 14:53:31.428014 > 29 bytes data, server => client 14:53:31.428027 '150 Binary junk (17 bytes).\r\n' 14:53:31.428482 Received DATA (on stdin) 14:53:31.428499 > 28 bytes data, server => client 14:53:31.428512 '226 File transfer complete\r\n' 14:53:31.473194 < 6 bytes data, client => server 14:53:31.473227 'QUIT\r\n' 14:53:31.473455 Received DATA (on stdin) 14:53:31.473468 > 18 bytes data, server => client 14:53:31.473481 '221 bye bye baby\r\n' 14:53:31.474902 ====> Client disconnect 14:53:31.475062 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:31.426510 Running IPv4 version 14:53:31.426572 Listening on port 38671 14:53:31.426613 Wrote pid 96705 to log/4/server/ftp_sockdata.pid 14:53:31.426757 Received PING (on stdin) 14:53:31.426843 Received PORT (on stdin) 14:53:31.427217 ====> Client connect 14:53:31.427908 Received DATA (on stdin) 14:53:31.427924 > 17 bytes data, server => client 14:53:31.427936 'WE ROOLZ: 80848\r\n' 14:53:31.428006 Received DISC (on stdin) 14:53:31.428024 ====> Client forcibly disconnected 14:53:31.428205 Received QUIT (on stdin) 14:53:31.428223 quits 14:53:31.428278 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc380 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc380 === Start of file server.cmd Testnum 380 === End of file server.cmd === Start of file valgrind380 ==96945== ==96945== Process terminating with default action of signal 4 (SIGILL) ==96945== Illegal opcode at address 0x4014B6F ==96945== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==96945== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==96945== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==96945== by 0x4004266: main (tool_main.c:199) === End of file valgrind380 test 0390...[curl HTTP, FILE and FTP in parallel] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind390 ../src/curl -q --include --trace-ascii log/3/trace390 --trace-time http://127.0.0.1:46791/390 file://localhost/startdir/src/build-curl/tests/log/3/test390.txt ftp://127.0.0.1:37155/3900002 --parallel -o log/3/390.a -o log/3/390.b -o log/3/390.c > log/3/stdout390 2> log/3/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/3/ dir after test 390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind390 ../src/curl -q --include --trace-ascii log/3/trace390 --trace-time http://127.0.0.1:46791/390 file://localhost/startdir/src/build-curl/tests/log/3/test390.txt ftp://127.0.0.1:37155/3900002 --parallel -o log/3/390.a -o log/3/390.b -o log/3/390.c > log/3/stdout390 2> log/3/stderr390 === End of file commands.log === Start of file ftp_server.log 14:53:31.488550 ====> Client connect 14:53:31.488724 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:31.489013 < "USER anonymous" 14:53:31.489053 > "331 We are happy you popped in![CR][LF]" 14:53:31.489235 < "PASS ftp@example.com" 14:53:31.489263 > "230 Welcome you silly person[CR][LF]" 14:53:31.489432 < "PWD" 14:53:31.489465 > "257 "/" is current directory[CR][LF]" 14:53:31.489641 < "EPSV" 14:53:31.489666 ====> Passive DATA channel requested by client 14:53:31.489681 DATA sockfilt for passive data channel starting... 14:53:31.492189 DATA sockfilt for passive data channel started (pid 97219) 14:53:31.492319 DATA sockfilt for passive data channel listens on port 35611 14:53:31.492369 > "229 Entering Passive Mode (|||35611|)[LF]" 14:53:31.492391 Client has been notified that DATA conn will be accepted on port 35611 14:53:31.492690 Client connects to port 35611 14:53:31.492723 ====> Client established passive DATA connection on port 35611 14:53:31.492816 < "TYPE I" 14:53:31.492853 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:31.493035 < "SIZE verifiedserver" 14:53:31.493076 > "213 17[CR][LF]" 14:53:31.493245 < "RETR verifiedserver" 14:53:31.493280 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:31.493384 =====> Closing passive DATA connection... 14:53:31.493406 Server disconnects passive DATA connection 14:53:31.493693 Server disconnected passive DATA connection 14:53:31.493723 DATA sockfilt for passive data channel quits (pid 97219) 14:53:31.493942 DATA sockfilt for passive data channel quit (pid 97219) 14:53:31.493972 =====> Closed passive DATA connection 14:53:31.494001 > "226 File transfer complete[CR][LF]" 14:53:31.537186 < "QUIT" 14:53:31.537245 > "221 bye bye baby[CR][LF]" 14:53:31.538239 MAIN sockfilt said DISC 14:53:31.538270 ====> Client disconnected 14:53:31.538348 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:31.571231 ====> Client connect 14:53:31.571557 Received DATA (on stdin) 14:53:31.571575 > 160 bytes data, server => client 14:53:31.571588 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:31.571601 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:31.571612 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:31.571691 < 16 bytes data, client => server 14:53:31.571706 'USER anonymous\r\n' 14:53:31.571875 Received DATA (on stdin) 14:53:31.571889 > 33 bytes data, server => client 14:53:31.571902 '331 We are happy you popped in!\r\n' 14:53:31.571956 < 22 bytes data, client => server 14:53:31.571972 'PASS ftp@example.com\r\n' 14:53:31.572083 Received DATA (on stdin) 14:53:31.572097 > 30 bytes data, server => client 14:53:31.572109 '230 Welcome you silly person\r\n' 14:53:31.572160 < 5 bytes data, client => server 14:53:31.572173 'PWD\r\n' 14:53:31.572283 Received DATA (on stdin) 14:53:31.572296 > 30 bytes data, server => client 14:53:31.572308 '257 "/" is current directory\r\n' 14:53:31.572369 < 6 bytes data, client => server 14:53:31.572382 'EPSV\r\n' 14:53:31.575219 Received DATA (on stdin) 14:53:31.575239 > 38 bytes data, server => client 14:53:31.575251 '229 Entering Passive Mode (|||35611|)\n' 14:53:31.575447 < 8 bytes data, client => server 14:53:31.575468 'TYPE I\r\n' 14:53:31.575675 Received DATA (on stdin) 14:53:31.575690 > 33 bytes data, server => client 14:53:31.575702 '200 I modify TYPE as you wanted\r\n' 14:53:31.575758 < 21 bytes data, client => server 14:53:31.575773 'SIZE verifiedserver\r\n' 14:53:31.575894 Received DATA (on stdin) 14:53:31.575908 > 8 bytes data, server => client 14:53:31.575920 '213 17\r\n' 14:53:31.575972 < 21 bytes data, client => server 14:53:31.575986 'RETR verifiedserver\r\n' 14:53:31.576229 Received DATA (on stdin) 14:53:31.576243 > 29 bytes data, server => client 14:53:31.576256 '150 Binary junk (17 bytes).\r\n' 14:53:31.576821 Received DATA (on stdin) 14:53:31.576836 > 28 bytes data, server => client 14:53:31.576848 '226 File transfer complete\r\n' 14:53:31.619798 < 6 bytes data, client => server 14:53:31.619837 'QUIT\r\n' 14:53:31.620070 Received DATA (on stdin) 14:53:31.620085 > 18 bytes data, server => client 14:53:31.620098 '221 bye bye baby\r\n' 14:53:31.621002 ====> Client disconnect 14:53:31.621173 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:31.574820 Running IPv4 version 14:53:31.574888 Listening on port 35611 14:53:31.574923 Wrote pid 97219 to log/3/server/ftp_sockdata.pid 14:53:31.574944 Received PING (on stdin) 14:53:31.575041 Received PORT (on stdin) 14:53:31.575451 ====> Client connect 14:53:31.576285 Received DATA (on stdin) 14:53:31.576302 > 17 bytes data, server => client 14:53:31.576314 'WE ROOLZ: 80281\r\n' 14:53:31.576355 Received DISC (on stdin) 14:53:31.576369 ====> Client forcibly disconnected 14:53:31.576552 Received QUIT (on stdin) 14:53:31.576565 quits 14:53:31.576625 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:53:31.548533 ====> Client connect 14:53:31.548574 accept_connection 3 returned 4 14:53:31.548595 accept_connection 3 returned 0 14:53:31.548615 Read 93 bytes 14:53:31.548628 Process 93 bytes request 14:53:31.548644 Got request: GET /verifiedserver HTTP/1.1 14:53:31.548656 Are-we-friendly question received 14:53:31.548687 Wrote request (93 bytes) input to log/3/server.input 14:53:31.548710 Identifying ourselves as friends 14:53:31.548780 Response sent (56 bytes) and written to log/3/server.response 14:53:31.548796 special request received, no persistency 14:53:31.548807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56272 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 390 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file test390.txt hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!helloCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind393 ../src/curl -q --output log/17/curl393.out --include --trace-ascii log/17/trace393 --trace-time http://127.0.0.1:45171/393 --max-filesize 2000000 > log/17/stdout393 2> log/17/stderr393 file!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile === End of file test390.txt === Start of file valgrind390 ==97286== ==97286== Process terminating with default action of signal 4 (SIGILL) ==97286== Illegal opcode at address 0x4014B6F ==97286== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97286== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97286== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97286== by 0x4004266: main (tool_main.c:199) === End of file valgrind390 test 0393...[HTTP max-filesize and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind393 ../src/curl -q --output log/17/curl393.out --include --trace-ascii log/17/trace393 --trace-time http://127.0.0.1:45171/393 --max-filesize 2000000 > log/17/stdout393 2> log/17/stderr393 393: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind393 ../src/curl -q --output log/17/curl393.out --include --trace-ascii log/17/trace393 --trace-time http://127.0.0.1:45171/393 --max-filesize 2000000 > log/17/stdout393 2> log/17/stderr393 === End of file commands.log === Start of file http_server.log 14:53:31.852966 ====> Client connect 14:53:31.853007 accept_connection 3 returned 4 14:53:31.853025 accept_connection 3 returned 0 14:53:31.853041 Read 93 bytes 14:53:31.853055 Process 93 bytes request 14:53:31.853070 Got request: GET /verifiedserver HTTP/1.1 14:53:31.853081 Are-we-friendly question received 14:53:31.853110 Wrote request (93 bytes) input to log/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-time http://127.0.0.1:39569/../../391 --path-as-is -L > log/20/stdout391 2> log/20/stderr391 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind394 ../src/curl -q --output log/18/curl394.out --include --trace-ascii log/18/trace394 --trace-time http://127.0.0.1:43297/394 > log/18/stdout394 2> log/18/stderr394 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind392 ../src/curl -q --output log/13/curl392.out --include --trace-ascii log/13/trace392 --trace-time -4 http://localhost:41533/392 -b none http://localhost:41533/392 > log/13/stdout392 2> log/13/stderr392 7/server.input 14:53:31.853129 Identifying ourselves as friends 14:53:31.853185 Response sent (56 bytes) and written to log/17/server.response 14:53:31.853196 special request received, no persistency 14:53:31.853207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 393 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind393 ==97430== ==97430== Process terminating with default action of signal 4 (SIGILL) ==97430== Illegal opcode at address 0x4014B6F ==97430== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97430== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97430== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97430== by 0x4004266: main (tool_main.c:199) === End of file valgrind393 test 0391...[--path-as-is with redirect, keeping dotdots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-time http://127.0.0.1:39569/../../391 --path-as-is -L > log/20/stdout391 2> log/20/stderr391 391: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-time http://127.0.0.1:39569/../../391 --path-as-is -L > log/20/stdout391 2> log/20/stderr391 === End of file commands.log === Start of file http_server.log 14:53:31.821338 ====> Client connect 14:53:31.821380 accept_connection 3 returned 4 14:53:31.821404 accept_connection 3 returned 0 14:53:31.821422 Read 93 bytes 14:53:31.821434 Process 93 bytes request 14:53:31.821450 Got request: GET /verifiedserver HTTP/1.1 14:53:31.821462 Are-we-friendly question received 14:53:31.821493 Wrote request (93 bytes) input to log/20/server.input 14:53:31.821514 Identifying ourselves as friends 14:53:31.821696 Response sent (56 bytes) and written to log/20/server.response 14:53:31.821713 special request received, no persistency 14:53:31.821725 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 391 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind391 ==97382== ==97382== Process terminating with default action of signal 4 (SIGILL) ==97382== Illegal opcode at address 0x4014B6F ==97382== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97382== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97382== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97382== by 0x4004266: main (tool_main.c:199) === End of file valgrind391 test 0394...[HTTP with rubbish in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind394 ../src/curl -q --output log/18/curl394.out --include --trace-ascii log/18/trace394 --trace-time http://127.0.0.1:43297/394 > log/18/stdout394 2> log/18/stderr394 394: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind394 ../src/curl -q --output log/18/curl394.out --include --trace-ascii log/18/trace394 --trace-time http://127.0.0.1:43297/394 > log/18/stdout394 2> log/18/stderr394 === End of file commands.log === Start of file http_server.log 14:53:31.877651 ====> Client connect 14:53:31.877685 accept_connection 3 returned 4 14:53:31.877702 accept_connection 3 returned 0 14:53:31.877719 Read 93 bytes 14:53:31.877730 Process 93 bytes request 14:53:31.877745 Got request: GET /verifiedserver HTTP/1.1 14:53:31.877756 Are-we-friendly question received 14:53:31.877782 Wrote request (93 bytes) input to log/18/server.input 14:53:31.877800 Identifying ourselves as friends 14:53:31.877860 Response sent (56 bytes) and written to log/18/server.response 14:53:31.877872 special request received, no persistency 14:53:31.877882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 57102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 394 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind394 ==97505== ==97505== Process terminating with default action of signal 4 (SIGILL) ==97505== Illegal opcode at address 0x4014B6F ==97505== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97505== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97505== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97505== by 0x4004266: main (tool_main.c:199) === End of file valgrind394 setenv TZ = GMT test 0392...[HTTP secure cookies over localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind392 ../src/curl -q --output log/13/curl392.out --include --trace-ascii log/13/trace392 --trace-time -4 http://localhost:41533/392 -b none http://localhost:41533/392 > log/13/stdout392 2> log/13/stderr392 392: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind392 ../src/curl -q --output log/13/curl392.out --include --trace-ascii log/13/trace392 --trace-time -4 http://localhost:41533/39CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind395 ../src/curl -q --output log/6/curl395.out --include --trace-ascii log/6/trace395 --trace-time http://127.0.0.1:38791/395 > log/6/stdout395 2> log/6/stderr395 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind398 ../src/curl -q --output log/1/curl398.out --include --trace-ascii log/1/trace398 --trace-time http://127.0.0.1:44029/398 > log/1/stdout398 2> log/1/stderr398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 2 -b none http://localhost:41533/392 > log/13/stdout392 2> log/13/stderr392 === End of file commands.log === Start of file http_server.log 14:53:31.853336 ====> Client connect 14:53:31.853368 accept_connection 3 returned 4 14:53:31.853387 accept_connection 3 returned 0 14:53:31.853403 Read 93 bytes 14:53:31.853415 Process 93 bytes request 14:53:31.853428 Got request: GET /verifiedserver HTTP/1.1 14:53:31.853439 Are-we-friendly question received 14:53:31.853467 Wrote request (93 bytes) input to log/13/server.input 14:53:31.853485 Identifying ourselves as friends 14:53:31.853545 Response sent (56 bytes) and written to log/13/server.response 14:53:31.853557 special request received, no persistency 14:53:31.853568 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 392 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind392 ==97426== ==97426== Process terminating with default action of signal 4 (SIGILL) ==97426== Illegal opcode at address 0x4014B6F ==97426== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97426== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97426== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97426== by 0x4004266: main (tool_main.c:199) === End of file valgrind392 test 0395...[HTTP and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind395 ../src/curl -q --output log/6/curl395.out --include --trace-ascii log/6/trace395 --trace-time http://127.0.0.1:38791/395 > log/6/stdout395 2> log/6/stderr395 395: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind395 ../src/curl -q --output log/6/curl395.out --include --trace-ascii log/6/trace395 --trace-time http://127.0.0.1:38791/395 > log/6/stdout395 2> log/6/stderr395 === End of file commands.log === Start of file http_server.log 14:53:31.912456 ====> Client connect 14:53:31.912490 accept_connection 3 returned 4 14:53:31.912508 accept_connection 3 returned 0 14:53:31.912648 Read 93 bytes 14:53:31.912661 Process 93 bytes request 14:53:31.912676 Got request: GET /verifiedserver HTTP/1.1 14:53:31.912687 Are-we-friendly question received 14:53:31.912713 Wrote request (93 bytes) input to log/6/server.input 14:53:31.912732 Identifying ourselves as friends 14:53:31.912786 Response sent (56 bytes) and written to log/6/server.response 14:53:31.912797 special request received, no persistency 14:53:31.912808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 395 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind395 ==97616== ==97616== Process terminating with default action of signal 4 (SIGILL) ==97616== Illegal opcode at address 0x4014B6F ==97616== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97616== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97616== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97616== by 0x4004266: main (tool_main.c:199) === End of file valgrind395 test 0398...[Reject HTTP/1.1 response with colon-less header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind398 ../src/curl -q --output log/1/curl398.out --include --trace-ascii log/1/trace398 --trace-time http://127.0.0.1:44029/398 > log/1/stdout398 2> log/1/stderr398 398: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind398 ../src/curl -q --output log/1/curl398.out --include --trace-ascii log/1/trace398 --trace-time http://127.0.0.1:44029/398 > log/1/stdout398 2> log/1/stderr398 === End of file commands.log === Start of file http_server.log 14:53:31.953042 ====> Client connect 14:53:31.953072 accept_connection 3 returned 4 14:53:31.953090 accept_connection 3 returned 0 14:53:31.953106 Read 93 bytes 14:53:31.953117 Process 93 bytes request 14:53:31.953130 Got request: GET /verifiedserver HTTP/1.1 14:53:31.953140 Are-we-friendly question received 14:53:31.953165 Wrote request (93 bytes) input to log/1/server.input 14:53:31.953183 Identifying ourselves as friends 14:53:31.953236 Response sent (56 bytes) and written to log/1/server.response 14:53:31.953248 special request received, no persistency 14:53:31.953259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 398 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind398 ==97725== ==97725== Process terminating with default action of signal 4 (SIGILL) ==97725== Illegal opcode at address 0x4014B6F ==97725== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97725== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97725== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97725== by 0x4004266: main (tool_main.c:199) === End of file valgrind398 test 0399...[65536 bytes long host name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/14/ dir after test 399 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 === End of file commands.log === Start of file http_server.log 14:53:31.952498 ====> Client connect 14:53:31.952531 accept_connection 3 returned 4 14:53:31.952549 accept_connection 3 returned 0 14:53:31.952564 Read 93 bytes 14:53:31.952575 Process 93 bytes request 14:53:31.952588 Got request: GET /verifiedserver HTTP/1.1 14:53:31.952599 Are-we-friendly question received 14:53:31.952625 Wrote request (93 bytes) input to log/14/server.input 14:53:31.952643 Identifying ourselves as friends 14:53:31.952697 Response sent (56 bytes) and written to log/14/server.response 14:53:31.952709 special request received, no persistency 14:53:31.952719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 49412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind396 ../src/curl -q --output log/12/curl396.out --include --trace-ascii log/12/trace396 --trace-time http://127.0.0.1:43359/396 --compressed > log/12/stdout396 2> log/12/stderr396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind397 ../src/curl -q --output log/11/curl397.out --include --trace-ascii log/11/trace397 --trace-time http://127.0.0.1:33503/397 --compressed > log/11/stdout397 2> log/11/stderr397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind411 ../src/curl -q --output log/5/curl411.out --include --trace-ascii log/5/trace411 --trace-time -K log/5/missing http://localhost > log/5/stdout411 2> log/5/stderr411 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/399 === End of file input%TESTNUM === Start of file server.cmd Testnum 399 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind399 ==97721== ==97721== Process terminating with default action of signal 4 (SIGILL) ==97721== Illegal opcode at address 0x4014B6F ==97721== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97721== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97721== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97721== by 0x4004266: main (tool_main.c:199) === End of file valgrind399 test 0396...[HTTP GET zstd compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind396 ../src/curl -q --output log/12/curl396.out --include --trace-ascii log/12/trace396 --trace-time http://127.0.0.1:43359/396 --compressed > log/12/stdout396 2> log/12/stderr396 396: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind396 ../src/curl -q --output log/12/curl396.out --include --trace-ascii log/12/trace396 --trace-time http://127.0.0.1:43359/396 --compressed > log/12/stdout396 2> log/12/stderr396 === End of file commands.log === Start of file http_server.log 14:53:31.948149 ====> Client connect 14:53:31.948185 accept_connection 3 returned 4 14:53:31.948204 accept_connection 3 returned 0 14:53:31.948221 Read 93 bytes 14:53:31.948232 Process 93 bytes request 14:53:31.948246 Got request: GET /verifiedserver HTTP/1.1 14:53:31.948257 Are-we-friendly question received 14:53:31.948282 Wrote request (93 bytes) input to log/12/server.input 14:53:31.948299 Identifying ourselves as friends 14:53:31.948361 Response sent (56 bytes) and written to log/12/server.response 14:53:31.948373 special request received, no persistency 14:53:31.948384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 396 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind396 ==97762== ==97762== Process terminating with default action of signal 4 (SIGILL) ==97762== Illegal opcode at address 0x4014B6F ==97762== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97762== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97762== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97762== by 0x4004266: main (tool_main.c:199) === End of file valgrind396 test 0397...[HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind397 ../src/curl -q --output log/11/curl397.out --include --trace-ascii log/11/trace397 --trace-time http://127.0.0.1:33503/397 --compressed > log/11/stdout397 2> log/11/stderr397 397: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind397 ../src/curl -q --output log/11/curl397.out --include --trace-ascii log/11/trace397 --trace-time http://127.0.0.1:33503/397 --compressed > log/11/stdout397 2> log/11/stderr397 === End of file commands.log === Start of file http_server.log 14:53:31.946782 ====> Client connect 14:53:31.946819 accept_connection 3 returned 4 14:53:31.946839 accept_connection 3 returned 0 14:53:31.946856 Read 93 bytes 14:53:31.946868 Process 93 bytes request 14:53:31.946884 Got request: GET /verifiedserver HTTP/1.1 14:53:31.946896 Are-we-friendly question received 14:53:31.946923 Wrote request (93 bytes) input to log/11/server.input 14:53:31.946943 Identifying ourselves as friends 14:53:31.947004 Response sent (56 bytes) and written to log/11/server.response 14:53:31.947017 special request received, no persistency 14:53:31.947028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 397 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind397 ==97760== ==97760== Process terminating with default action of signal 4 (SIGILL) ==97760== Illegal opcode at address 0x4014B6F ==97760== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97760== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97760== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97760== by 0x4004266: main (tool_main.c:199) === End of file valgrind397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind405 ../src/curl -q --output log/2/curl405.out --include --trace-ascii log/2/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:45597/path/to/file/405 > log/2/stdout405 2> log/2/stderr405 test 0411...[-K with missing file causes error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind411 ../src/curl -q --output log/5/curl411.out --include --trace-ascii log/5/trace411 --trace-time -K log/5/missing http://localhost > log/5/stdout411 2> log/5/stderr411 411: stderr FAILED: --- log/5/check-expected 2025-09-11 14:53:33.088864020 +0000 +++ log/5/check-generated 2025-09-11 14:53:33.088864020 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/5/missing'[CR][LF] -curl: option -K: error encountered when reading a file[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/5/ dir after test 411 === Start of file check-expected curl: cannot read config from 'log/5/missing'[CR][LF] curl: option -K: error encountered when reading a file[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind411 ../src/curl -q --output log/5/curl411.out --include --trace-ascii log/5/trace411 --trace-time -K log/5/missing http://localhost > log/5/stdout411 2> log/5/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==98022== ==98022== Process terminating with default action of signal 4 (SIGILL) ==98022== Illegal opcode at address 0x4014B6F ==98022== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98022== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98022== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98022== by 0x4004266: main (tool_main.c:199) === End of file valgrind411 test 0405...[FTPS operation to FTP port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind405 ../src/curl -q --output log/2/curl405.out --include --trace-ascii log/2/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:45597/path/to/file/405 > log/2/stdout405 2> log/2/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/2/ dir after test 405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind405 ../src/curl -q --output log/2/curl405.out --include --trace-ascii log/2/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:45597/path/to/file/405 > log/2/stdout405 2> log/2/stderr405 === End of file commands.log === Start of file ftp_server.log 14:53:31.988881 ====> Client connect 14:53:31.989169 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:31.989493 < "USER anonymous" 14:53:31.989532 > "331 We are happy you popped in![CR][LF]" 14:53:31.989717 < "PASS ftp@example.com" 14:53:31.989746 > "230 Welcome you silly person[CR][LF]" 14:53:31.989921 < "PWD" 14:53:31.989953 > "257 "/" is current directory[CR][LF]" 14:53:31.990137 < "EPSV" 14:53:31.990165 ====> Passive DATA channel requested by client 14:53:31.990180 DATA sockfilt for passive data channel starting... 14:53:31.992276 DATA sockfilt for passive data channel started (pid 97970) 14:53:31.992392 DATA sockfilt for passive data channel listens on port 36371 14:53:31.992438 > "229 Entering Passive Mode (|||36371|)[LF]" 14:53:31.992465 Client has been notified that DATA conn will be accepted on port 36371 14:53:31.992676 Client connects to port 36371 14:53:31.992707 ====> Client established passive DATA connection on port 36371 14:53:31.992825 < "TYPE I" 14:53:31.992855 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:31.993030 < "SIZE verifiedserver" 14:53:31.993072 > "213 17[CR][LF]" 14:53:31.993248 < "RETR verifiedserver" 14:53:31.993283 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:31.993374 =====> Closing passive DATA connection... 14:53:31.993394 Server disconnects passive DATA connection 14:53:31.994020 Server disconnected passive DATA connection 14:53:31.994054 DATA sockfilt for passive data channel quits (pid 97970) 14:53:31.994324 DATA sockfilt for passive data channel quit (pid 97970) 14:53:31.994351 =====> Closed passive DATA connection 14:53:31.994379 > "226 File transfer complete[CR][LF]" 14:53:32.034181 < "QUIT" 14:53:32.034247 > "221 bye bye baby[CR][LF]" 14:53:32.035487 MAIN sockfilt said DISC 14:53:32.035519 ====> Client disconnected 14:53:32.035608 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:31.071565 ====> Client connect 14:53:31.072005 Received DATA (on stdin) 14:53:31.072023 > 160 bytes data, server => client 14:53:31.072037 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:31.072050 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:31.072061 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:31.072146 < 16 bytes data, client => server 14:53:31.072163 'USER anonymous\r\n' 14:53:31.072355 Received DATA (on stdin) 14:53:31.072370 > 33 bytes data, server => client 14:53:31.072382 '331 We are happy you popped in!\r\n' 14:53:31.072438 < 22 bytes data, client => server 14:53:31.072452 'PASS ftp@example.com\r\n' 14:53:31.072566 Received DATA (on stdin) 14:53:31.072580 > 30 bytes data, server => client 14:53:31.072593 '230 Welcome you silly person\r\n' 14:53:31.072645 < 5 bytes data, client => server 14:53:31.072659 'PWD\r\n' 14:53:31.072772 Received DATA (on stdin) 14:53:31.072786 > 30 bytes data, server => client 14:53:31.072799 '257 "/" is current directory\r\n' 14:53:31.072862 < 6 bytes data, client => server 14:53:31.072876 'EPSV\r\n' 14:53:31.075290 Received DATA (on stdin) 14:53:31.075305 > 38 bytes data, server => client 14:53:31.075318 '229 Entering Passive Mode (|||36371|)\n' 14:53:31.075542 < 8 bytes data, client => server 14:53:31.075555 'TYPE I\r\n' 14:53:31.075675 Received DATA (on stdin) 14:53:31.075689 > 33 bytes data, server => client 14:53:31.075702 '200 I modify TYPE as you wanted\r\n' 14:53:31.075756 < 21 bytes data, client => server 14:53:31.075770 'SIZE verifiedserver\r\n' 14:53:31.075892 Received DATA (on stdin) 14:53:31.075906 > 8 bytes data, server => client 14:53:31.075918 '213 17\r\n' 14:53:31.075972 < 21 bytes data, client => server 14:53:31.075987 'RETR verifiedserver\r\n' 14:53:31.076215 Received DATA (on stdin) 14:53:31.076230 > 29 bytes data, server => client 14:53:31.076244 '150 Binary junk (17 bytes).\r\n' 14:53:31.077201 Received DATA (on stdin) 14:53:31.077217 > 28 bytes data, server => client 14:53:31.077230 '226 File transfer complete\r\n' 14:53:31.116677 < 6 bytes data, client => server 14:53:31.116719 'QUIT\r\n' 14:53:31.117227 Received DATA (on stdin) 14:53:31.117245 > 18 bytes data, server => client 14:53:31.117259 '221 bye bye baby\r\n' 14:53:31.118254 ====> Client disconnect 14:53:31.118427 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:31.074781 Running IPv4 version 14:53:31.074841 Listening on port 36371 14:53:31.074880 Wrote pid 97970 to log/2/server/ftp_sockdata.pid 14:53:31.075032 Received PING (on stdin) 14:53:31.075124 Received PORT (on stdin) 14:53:31.075438 ====> Client connect 14:53:31.076276 Received DATA (on stdin) 14:53:31.076292 > 17 bytes data, server => client 14:53:31.076305 'WE ROOLZ: 80219\r\n' 14:53:31.076679 Received DISC (on stdin) 14:53:31.076699 ====> Client forcibly disconnected 14:53:31.076887 Received QUIT (on stdin) 14:53:31.076902 quits 14:53:31.076971 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32915/402 > log/16/stdout402 2> log/16/stderr402 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind415 ../src/curl -q --output log/7/curl415.out --include --trace-ascii log/7/trace415 --trace-time http://127.0.0.1:40545/415 > log/7/stdout415 2> log/7/stderr415 rver.cmd === Start of file valgrind405 ==97976== ==97976== Process terminating with default action of signal 4 (SIGILL) ==97976== Illegal opcode at address 0x4014B6F ==97976== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==97976== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==97976== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==97976== by 0x4004266: main (tool_main.c:199) === End of file valgrind405 test 0402...[FTP SSL required on non-SSL server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32915/402 > log/16/stdout402 2> log/16/stderr402 402: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32915/402 > log/16/stdout402 2> log/16/stderr402 === End of file commands.log === Start of file ftp_server.log 14:53:31.993279 ====> Client connect 14:53:31.993435 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:31.993714 < "USER anonymous" 14:53:31.993746 > "331 We are happy you popped in![CR][LF]" 14:53:31.993901 < "PASS ftp@example.com" 14:53:31.993927 > "230 Welcome you silly person[CR][LF]" 14:53:31.994072 < "PWD" 14:53:31.994103 > "257 "/" is current directory[CR][LF]" 14:53:31.994257 < "EPSV" 14:53:31.994280 ====> Passive DATA channel requested by client 14:53:31.994293 DATA sockfilt for passive data channel starting... 14:53:31.996127 DATA sockfilt for passive data channel started (pid 97971) 14:53:31.996269 DATA sockfilt for passive data channel listens on port 34755 14:53:31.996318 > "229 Entering Passive Mode (|||34755|)[LF]" 14:53:31.996342 Client has been notified that DATA conn will be accepted on port 34755 14:53:31.996607 Client connects to port 34755 14:53:31.996638 ====> Client established passive DATA connection on port 34755 14:53:31.996737 < "TYPE I" 14:53:31.996771 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:31.996971 < "SIZE verifiedserver" 14:53:31.997011 > "213 17[CR][LF]" 14:53:31.997191 < "RETR verifiedserver" 14:53:31.997228 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:31.997322 =====> Closing passive DATA connection... 14:53:31.997341 Server disconnects passive DATA connection 14:53:31.997589 Server disconnected passive DATA connection 14:53:31.997618 DATA sockfilt for passive data channel quits (pid 97971) 14:53:31.997825 DATA sockfilt for passive data channel quit (pid 97971) 14:53:31.997852 =====> Closed passive DATA connection 14:53:31.997881 > "226 File transfer complete[CR][LF]" 14:53:32.046218 < "QUIT" 14:53:32.046286 > "221 bye bye baby[CR][LF]" 14:53:32.048038 MAIN sockfilt said DISC 14:53:32.048092 ====> Client disconnected 14:53:32.048179 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:32.075976 ====> Client connect 14:53:32.076266 Received DATA (on stdin) 14:53:32.076282 > 160 bytes data, server => client 14:53:32.076294 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:32.076306 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:32.076317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:32.076394 < 16 bytes data, client => server 14:53:32.076407 'USER anonymous\r\n' 14:53:32.076564 Received DATA (on stdin) 14:53:32.076576 > 33 bytes data, server => client 14:53:32.076588 '331 We are happy you popped in!\r\n' 14:53:32.076635 < 22 bytes data, client => server 14:53:32.076646 'PASS ftp@example.com\r\n' 14:53:32.076743 Received DATA (on stdin) 14:53:32.076754 > 30 bytes data, server => client 14:53:32.076765 '230 Welcome you silly person\r\n' 14:53:32.076809 < 5 bytes data, client => server 14:53:32.076821 'PWD\r\n' 14:53:32.076920 Received DATA (on stdin) 14:53:32.076932 > 30 bytes data, server => client 14:53:32.076942 '257 "/" is current directory\r\n' 14:53:32.076995 < 6 bytes data, client => server 14:53:32.077007 'EPSV\r\n' 14:53:32.079170 Received DATA (on stdin) 14:53:32.079190 > 38 bytes data, server => client 14:53:32.079204 '229 Entering Passive Mode (|||34755|)\n' 14:53:32.079366 < 8 bytes data, client => server 14:53:32.079380 'TYPE I\r\n' 14:53:32.079595 Received DATA (on stdin) 14:53:32.079610 > 33 bytes data, server => client 14:53:32.079623 '200 I modify TYPE as you wanted\r\n' 14:53:32.079689 < 21 bytes data, client => server 14:53:32.079705 'SIZE verifiedserver\r\n' 14:53:32.079832 Received DATA (on stdin) 14:53:32.079846 > 8 bytes data, server => client 14:53:32.079859 '213 17\r\n' 14:53:32.079913 < 21 bytes data, client => server 14:53:32.079928 'RETR verifiedserver\r\n' 14:53:32.080256 Received DATA (on stdin) 14:53:32.080270 > 29 bytes data, server => client 14:53:32.080282 '150 Binary junk (17 bytes).\r\n' 14:53:32.080701 Received DATA (on stdin) 14:53:32.080716 > 28 bytes data, server => client 14:53:32.080729 '226 File transfer complete\r\n' 14:53:32.128807 < 6 bytes data, client => server 14:53:32.128846 'QUIT\r\n' 14:53:32.129113 Received DATA (on stdin) 14:53:32.129128 > 18 bytes data, server => client 14:53:32.129141 '221 bye bye baby\r\n' 14:53:32.130289 ====> Client disconnect 14:53:32.131005 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:31.078754 Running IPv4 version 14:53:31.078813 Listening on port 34755 14:53:31.078850 Wrote pid 97971 to log/16/server/ftp_sockdata.pid 14:53:31.078872 Received PING (on stdin) 14:53:31.078990 Received PORT (on stdin) 14:53:31.079333 ====> Client connect 14:53:31.080162 Received DATA (on stdin) 14:53:31.080177 > 17 bytes data, server => client 14:53:31.080189 'WE ROOLZ: 80177\r\n' 14:53:31.080216 Received DISC (on stdin) 14:53:31.080231 ====> Client forcibly disconnected 14:53:31.080449 Received QUIT (on stdin) 14:53:31.080463 quits 14:53:31.080513 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==98050== ==98050== Process terminating with default action of signal 4 (SIGILL) ==98050== Illegal opcode at address 0x4014B6F ==98050== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98050== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98050== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98050== by 0x4004266: main (tool_main.c:199) === End of file valgrind402 test 0415...[HTTP response with control code then negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind415 ../src/curl -q --output log/7/curl415.out --include --trace-ascii log/7/trace415 --trace-time http://127.0.0.1:40545/415 > log/7/stdout415 2> log/7/stderr415 415: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind415 ../src/curl -q --output log/7/curl415.out --include --trace-ascii log/7/trace415 --trace-time http://127.0.0.1:40545/415 > log/7/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind416 ../src/curl -q --output log/22/curl416.out --include --trace-ascii log/22/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:45969/416 > log/22/stdout416 2> log/22/stderr416 tdout415 2> log/7/stderr415 === End of file commands.log === Start of file http_server.log 14:53:32.271326 ====> Client connect 14:53:32.271358 accept_connection 3 returned 4 14:53:32.271375 accept_connection 3 returned 0 14:53:32.271390 Read 93 bytes 14:53:32.271402 Process 93 bytes request 14:53:32.271415 Got request: GET /verifiedserver HTTP/1.1 14:53:32.271425 Are-we-friendly question received 14:53:32.271448 Wrote request (93 bytes) input to log/7/server.input 14:53:32.271465 Identifying ourselves as friends 14:53:32.271515 Response sent (56 bytes) and written to log/7/server.response 14:53:32.271526 special request received, no persistency 14:53:32.271536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 52826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind415 ==98165== ==98165== Process terminating with default action of signal 4 (SIGILL) ==98165== Illegal opcode at address 0x4014B6F ==98165== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98165== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98165== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98165== by 0x4004266: main (tool_main.c:199) === End of file valgrind415 test 0416...[FTP growing file support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind416 ../src/curl -q --output log/22/curl416.out --include --trace-ascii log/22/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:45969/416 > log/22/stdout416 2> log/22/stderr416 416: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind416 ../src/curl -q --output log/22/curl416.out --include --trace-ascii log/22/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:45969/416 > log/22/stdout416 2> log/22/stderr416 === End of file commands.log === Start of file ftp_server.log 14:53:32.285675 ====> Client connect 14:53:32.285843 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:32.286154 < "USER anonymous" 14:53:32.286192 > "331 We are happy you popped in![CR][LF]" 14:53:32.286378 < "PASS ftp@example.com" 14:53:32.286407 > "230 Welcome you silly person[CR][LF]" 14:53:32.286583 < "PWD" 14:53:32.286616 > "257 "/" is current directory[CR][LF]" 14:53:32.286803 < "EPSV" 14:53:32.286829 ====> Passive DATA channel requested by client 14:53:32.286845 DATA sockfilt for passive data channel starting... 14:53:32.292152 DATA sockfilt for passive data channel started (pid 98215) 14:53:32.292284 DATA sockfilt for passive data channel listens on port 40569 14:53:32.292325 > "229 Entering Passive Mode (|||40569|)[LF]" 14:53:32.292344 Client has been notified that DATA conn will be accepted on port 40569 14:53:32.292624 Client connects to port 40569 14:53:32.292653 ====> Client established passive DATA connection on port 40569 14:53:32.292739 < "TYPE I" 14:53:32.292770 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:32.292921 < "SIZE verifiedserver" 14:53:32.292954 > "213 17[CR][LF]" 14:53:32.293094 < "RETR verifiedserver" 14:53:32.293124 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:32.293197 =====> Closing passive DATA connection... 14:53:32.293211 Server disconnects passive DATA connection 14:53:32.293433 Server disconnected passive DATA connection 14:53:32.293458 DATA sockfilt for passive data channel quits (pid 98215) 14:53:32.293710 DATA sockfilt for passive data channel quit (pid 98215) 14:53:32.293734 =====> Closed passive DATA connection 14:53:32.293759 > "226 File transfer complete[CR][LF]" 14:53:32.337143 < "QUIT" 14:53:32.337196 > "221 bye bye baby[CR][LF]" 14:53:32.338304 MAIN sockfilt said DISC 14:53:32.338332 ====> Client disconnected 14:53:32.338409 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:32.368372 ====> Client connect 14:53:32.368675 Received DATA (on stdin) 14:53:32.368692 > 160 bytes data, server => client 14:53:32.368707 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:32.368720 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:32.368732 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:32.368813 < 16 bytes data, client => server 14:53:32.368829 'USER anonymous\r\n' 14:53:32.369014 Received DATA (on stdin) 14:53:32.369028 > 33 bytes data, server => client 14:53:32.369041 '331 We are happy you popped in!\r\n' 14:53:32.369097 < 22 bytes data, client => server 14:53:32.369113 'PASS ftp@example.com\r\n' 14:53:32.369228 Received DATA (on stdin) 14:53:32.369242 > 30 bytes data, server => client 14:53:32.369254 '230 Welcome you silly person\r\n' 14:53:32.369307 < 5 bytes data, client => server 14:53:32.369320 'PWD\r\n' 14:53:32.369436 Received DATA (on stdin) 14:53:32.369449 > 30 bytes data, server => client 14:53:32.369462 '257 "/" is current directory\r\n' 14:53:32.369526 < 6 bytes data, client => server 14:53:32.369542 'EPSV\r\n' 14:53:32.375168 Received DATA (on stdin) 14:53:32.375186 > 38 bytes data, server => client 14:53:32.375197 '229 Entering Passive Mode (|||40569|)\n' 14:53:32.375388 < 8 bytes data, client => server 14:53:32.375400 'TYPE I\r\n' 14:53:32.375587 Received DATA (on stdin) 14:53:32.375599 > 33 bytes data, server => client 14:53:32.375610 '200 I modify TYPE as you wanted\r\n' 14:53:32.375657 < 21 bytes data, client => server 14:53:32.375669 'SIZE verifiedserver\r\n' 14:53:32.375769 Received DATA (on stdin) 14:53:32.375781 > 8 bytes data, server => client 14:53:32.375791 '213 17\r\n' 14:53:32.375834 < 21 bytes data, client => server 14:53:32.375845 'RETR verifiedserver\r\n' 14:53:32.376027 Received DATA (on stdin) 14:53:32.376039 > 29 bytes data, server => client 14:53:32.376050 '150 Binary junk (17 bytes).\r\n' 14:53:32.376576 Received DATA (on stdin) 14:53:32.376590 > 28 bytes data, server => client 14:53:32.376601 '226 File transfer complete\r\n' 14:53:32.419767 < 6 bytes data, client => server 14:53:32.419796 'QUIT\r\n' 14:53:32.420017 Received DATA (on stdin) 14:53:32.420030 > 18 bytes data, server => client 14:53:32.420042 '221 bye bye baby\r\n' 14:53:32.421071 ====> Client disconnect 14:53:32.421226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:32.374613 Running IPv4 version 14:53:32.374684 Listening on port 40569 14:53:32.374719 Wrote pid 98215 to log/22/server/ftp_sockdata.pid 14:53:32.374909 Received PING (on stdin) 14:53:32.375007 Received PORT (on stdin) 14:53:32.375360 ====> Client connect 14:53:32.376074 Received DATA (on stdin) 14:53:32.376086 > 17 bytes data, server => client 14:53:32.376097 'WE ROOLZ: 80268\r\n' 14:53:32.376120 Received DISC (on stdin) 14:53:32.376131 ====> Client forcibly disconnected 14:53:32.376280 Received QUIT (on stdin) 14:53:32.376292 quits 14:53:32.376356 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:34345/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34345/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:34345/ -L > log/9/stdout424 2> log/9/stderr424 r.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==98242== ==98242== Process terminating with default action of signal 4 (SIGILL) ==98242== Illegal opcode at address 0x4014B6F ==98242== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98242== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98242== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98242== by 0x4004266: main (tool_main.c:199) === End of file valgrind416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:42107/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind418 ../src/curl -q --output log/10/curl418.out --include --trace-ascii log/10/trace418 --trace-time http://127.0.0.1:35893/418 -sS --tr-encoding > log/10/stdout418 2> log/10/stderr418 test 0424...[-w with urle.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:34345/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34345/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:34345/ -L > log/9/stdout424 2> log/9/stderr424 424: stdout FAILED: --- log/9/check-expected 2025-09-11 14:53:33.488864026 +0000 +++ log/9/check-generated 2025-09-11 14:53:33.488864026 +0000 @@ -1,4 +0,0 @@ -anotherhost.example+/4240002+http+++2023+moo.html+[LF] -hello2000+/424+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -anotherhost.example+/4240002+http+++2023+moo.html+[LF] == Contents of files in the log/9/ dir after test 424 === Start of file check-expected anotherhost.example+/4240002+http+++2023+moo.html+[LF] hello2000+/424+h55p+++1+qqqq+ffff[LF] +++++++[LF] anotherhost.example+/4240002+http+++2023+moo.html+[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:34345/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34345/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:34345/ -L > log/9/stdout424 2> log/9/stderr424 === End of file commands.log === Start of file http_server.log 14:53:32.610490 ====> Client connect 14:53:32.610538 accept_connection 3 returned 4 14:53:32.610558 accept_connection 3 returned 0 14:53:32.610575 Read 93 bytes 14:53:32.610587 Process 93 bytes request 14:53:32.610603 Got request: GET /verifiedserver HTTP/1.1 14:53:32.610614 Are-we-friendly question received 14:53:32.610641 Wrote request (93 bytes) input to log/9/server.input 14:53:32.610658 Identifying ourselves as friends 14:53:32.610726 Response sent (56 bytes) and written to log/9/server.response 14:53:32.610737 special request received, no persistency 14:53:32.610747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 58430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind424 ==98635== ==98635== Process terminating with default action of signal 4 (SIGILL) ==98635== Illegal opcode at address 0x4014B6F ==98635== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98635== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98635== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98635== by 0x4004266: main (tool_main.c:199) === End of file valgrind424 test 0419...[--dump-header to file that cannot be created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:42107/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/15/ dir after test 419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:42107/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 === End of file commands.log === Start of file http_server.log 14:53:32.537212 ====> Client connect 14:53:32.537242 accept_connection 3 returned 4 14:53:32.537258 accept_connection 3 returned 0 14:53:32.537271 Read 93 bytes 14:53:32.537282 Process 93 bytes request 14:53:32.537293 Got request: GET /verifiedserver HTTP/1.1 14:53:32.537303 Are-we-friendly question received 14:53:32.537325 Wrote request (93 bytes) input to log/15/server.input 14:53:32.537341 Identifying ourselves as friends 14:53:32.537391 Response sent (56 bytes) and written to log/15/server.response 14:53:32.537401 special request received, no persistency 14:53:32.537411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind419 ==98348== ==98348== Process terminating with default action of signal 4 (SIGILL) ==98348== Illegal opcode at address 0x4014B6F ==98348== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98348== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98348== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98348== by 0x4004266: main (tool_main.c:199) === End of file valgrind419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind420 ../src/curl -q --output log/19/curl420.out --include --trace-ascii log/19/trace420 --trace-time http://127.0.0.1:33805/func_test/del_cookie -b log/19/cookie420 -c log/19/save420 > log/19/stdout420 2> log/19/stderr420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind422 ../src/curl -q --output log/24/curl422.out --include --trace-ascii log/24/trace422 --trace-time -O -I --next http://127.0.0.1:34449/422 > log/24/stdout422 2> log/24/stderr422 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind421 ../src/curl -q --output log/21/curl421.out --include --trace-ascii log/21/trace421 --trace-time http://127.0.0.1:34037/421 -w '%{stderr}%{header_json}\n' -s > log/21/stdout421 2> log/21/stderr421 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind426 ../src/curl -q --output log/4/curl426.out --include --trace-ascii log/4/trace426 --trace-time http://127.0.0.1:39793/426 -d foobar -C 3 > log/4/stdout426 2> log/4/stderr426 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind425 ../src/curl -q --output log/23/curl425.out --include --trace-ascii log/23/trace425 --trace-time -T log/23/up425 http://127.0.0.1:38851/425/?fullpath > log/23/stdout425 2> log/23/stderr425 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind423 ../src/curl -q --trace-ascii log/8/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:37085/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37085/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/8/stdout423 2> log/8/stderr423 test 0418...[Response with multiple Transfer-Encoding headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind418 ../src/curl -q --output log/10/curl418.out --include --trace-ascii log/10/trace418 --trace-time http://127.0.0.1:35893/418 -sS --tr-encoding > log/10/stdout418 2> log/10/stderr418 418: stderr FAILED: --- log/10/check-expected 2025-09-11 14:53:33.545530693 +0000 +++ log/10/check-generated 2025-09-11 14:53:33.545530693 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/10/ dir after test 418 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind418 ../src/curl -q --output log/10/curl418.out --include --trace-ascii log/10/trace418 --trace-time http://127.0.0.1:35893/418 -sS --tr-encoding > log/10/stdout418 2> log/10/stderr418 === End of file commands.log === Start of file http_server.log 14:53:32.536961 ====> Client connect 14:53:32.536995 accept_connection 3 returned 4 14:53:32.537012 accept_connection 3 returned 0 14:53:32.537028 Read 93 bytes 14:53:32.537038 Process 93 bytes request 14:53:32.537052 Got request: GET /verifiedserver HTTP/1.1 14:53:32.537063 Are-we-friendly question received 14:53:32.537088 Wrote request (93 bytes) input to log/10/server.input 14:53:32.537105 Identifying ourselves as friends 14:53:32.537158 Response sent (56 bytes) and written to log/10/server.response 14:53:32.537169 special request received, no persistency 14:53:32.537178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind418 ==98352== ==98352== Process terminating with default action of signal 4 (SIGILL) ==98352== Illegal opcode at address 0x4014B6F ==98352== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98352== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98352== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98352== by 0x4004266: main (tool_main.c:199) === End of file valgrind418 test 0426...[try --data with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind426 ../src/curl -q --output log/4/curl426.out --include --trace-ascii log/4/trace426 --trace-time http://127.0.0.1:39793/426 -d foobar -C 3 > log/4/stdout426 2> log/4/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/4/ dir after test 426 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind426 ../src/curl -q --output log/4/curl426.out --include --trace-ascii log/4/trace426 --trace-time http://127.0.0.1:39793/426 -d foobar -C 3 > log/4/stdout426 2> log/4/stderr426 === End of file commands.log === Start of file http_server.log 14:53:32.612026 ====> Client connect 14:53:32.612059 accept_connection 3 returned 4 14:53:32.612078 accept_connection 3 returned 0 14:53:32.612094 Read 93 bytes 14:53:32.612106 Process 93 bytes request 14:53:32.612119 Got request: GET /verifiedserver HTTP/1.1 14:53:32.612130 Are-we-friendly question received 14:53:32.612155 Wrote request (93 bytes) input to log/4/server.input 14:53:32.612172 Identifying ourselves as friends 14:53:32.612229 Response sent (56 bytes) and written to log/4/server.response 14:53:32.612241 special request received, no persistency 14:53:32.612251 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 426 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind426 ==98623== ==98623== Process terminating with default action of signal 4 (SIGILL) ==98623== Illegal opcode at address 0x4014B6F ==98623== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98623== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98623== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98623== by 0x4004266: main (tool_main.c:199) === End of file valgrind426 test 0423...[-w with url.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind423 ../src/curl -q --trace-ascii log/8/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:37085/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37085/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/8/stdout423 2> log/8/stderr423 423: stdout FAILED: --- log/8/check-expected 2025-09-11 14:53:33.565530693 +0000 +++ log/8/check-generated 2025-09-11 14:53:33.565530693 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+37085+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+37085+qqqq+ffff[LF] == Contents of files in the log/8/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+37085+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+37085+qqqq+ffff[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind423 ../src/curl -q --trace-ascii log/8/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:37085/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37085/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/8/stdout423 2> log/8/stderr423 === End of file commands.log === Start of file http_server.log 14:53:31.603319 ====> Client connect 14:53:31.603350 accept_connection 3 returned 4 14:53:31.603369 accept_connection 3 returned 0 14:53:31.603385 Read 93 bytes 14:53:31.603396 Process 93 bytes request 14:53:31.603412 Got request: GET /verifiedserver HTTP/1.1 14:53:31.603423 Are-we-friendly question received 14:53:31.603452 Wrote request (93 bytes) input to log/8/server.input 14:53:31.603471 Identifying ourselves as friends 14:53:31.603529 Response sent (56 bytes) and written to log/8/server.response 14:53:31.603541 special request received, no persistency 14:53:31.603551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind423 ==98589== ==98589== Process terminating with default action of signal 4 (SIGILL) ==98589== Illegal opcode at address 0x4014B6F ==98589== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98589== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98589== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98589== by 0x4004266: main (tool_main.c:199) === End of file valgrind423 test 0420...[Setting cookies set with expired dates that were loaded from jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind420 ../src/curl -q --output log/19/curl420.out --include --trace-ascii log/19/trace420 --trace-time http://127.0.0.1:33805/func_test/del_cookie -b log/19/cookie420 -c log/19/save420 > log/19/stdout420 2> log/19/stderr420 420: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind420 ../src/curl -q --output log/19/curl420.out --include --trace-ascii log/19/trace420 --trace-time http://127.0.0.1:33805/func_test/del_cookie -b log/19/cookie420 -c log/19/save420 > log/19/stdout420 2> log/19/stderr420 === End of file commands.log === Start of file cookie420 127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie6 991 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie5 990 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie4 950 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie3 900 #HttpOnly_127.0.0.1 FALSE /func_test/ FALSE 21709598616 mycookie2 5900 #HttpOnly_127.0.0.1 FALSE / FALSE 21709598616 mycookie1 4900 #HttpOnly_127.0.0.1 FALSE /func_test/ FALSE 0 mycookie 1200 === End of file cookie420 === Start of file http_server.log 14:53:31.589156 ====> Client connect 14:53:31.589188 accept_connection 3 returned 4 14:53:31.589205 accept_connection 3 returned 0 14:53:31.589220 Read 93 bytes 14:53:31.589231 Process 93 bytes request 14:53:31.589248 Got request: GET /verifiedserver HTTP/1.1 14:53:31.589257 Are-we-friendly question received 14:53:31.589285 Wrote request (93 bytes) input to log/19/server.input 14:53:31.589301 Identifying ourselves as friends 14:53:31.589354 Response sent (56 bytes) and written to log/19/server.response 14:53:31.589366 special request received, no persistency 14:53:31.589375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 420 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind420 ==98541== ==98541== Process terminating with default action of signal 4 (SIGILL) ==98541== Illegal opcode at address 0x4014B6F ==98541== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98541== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98541== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98541== by 0x4004266: main (tool_main.c:199) === End of file valgrind420 test 0421...[HTTP GET multiple headers and %{header_json}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind421 ../src/curl -q --output log/21/curl421.out --include --trace-ascii log/21/trace421 --trace-time http://127.0.0.1:34037/421 -w '%{stderr}%{header_json}\n' -s > log/21/stdout421 2> log/21/stderr421 421: stderr FAILED: --- log/21/check-expected 2025-09-11 14:53:33.572197360 +0000 +++ log/21/check-generated 2025-09-11 14:53:33.572197360 +0000 @@ -1,19 +0,0 @@ -{"server":["nginx"],[CR][LF] -"date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] -"content-type":["application/json"],[CR][LF] -"content-length":["6"],[CR][LF] -"vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] -"access-control-allow-origin":["*"],[CR][LF] -"referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] -"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] -"access-control-max-age":["1728000"],[CR][LF] -"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] -"access-control-expose-headers":[""],[CR][LF] -"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] -"cache-control":["max-age=0, private, must-revalidate"],[CR][LF] -"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] -"strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] -"x-content-type-options":["nosniff"],[CR][LF] -"x-xss-protection":["1; mode=block"],[CR][LF] -"feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] -}[CR][LF] == Contents of files in the log/21/ dir after test 421 === Start of file check-expected {"server":["nginx"],[CR][LF] "date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] "content-type":["application/json"],[CR][LF] "content-length":["6"],[CR][LF] "vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] "access-control-allow-origin":["*"],[CR][LF] "referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] "access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] "access-control-max-age":["1728000"],[CR][LF] "access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] "access-control-expose-headers":[""],[CR][LF] "etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] "cache-control":["max-age=0, private, must-revalidate"],[CR][LF] "x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] "strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] "x-content-type-options":["nosniff"],[CR][LF] "x-xss-protection":["1; mode=block"],[CR][LF] "feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind421 ../src/curl -q --output log/21/curl421.out --include --trace-ascii log/21/trace421 --trace-time http://127.0.0.1:34037/421 -w '%{stderr}%{header_json}\n' -s > log/21/stdout421 2> log/21/stderr421 === End of file commands.log === Start of file http_server.log 14:53:32.591182 ====> Client connect 14:53:32.591213 accept_connection 3 returned 4 14:53:32.591231 accept_connection 3 returned 0 14:53:32.591246 Read 93 bytes 14:53:32.591257 Process 93 bytes request 14:53:32.591271 Got request: GET /verifiedserver HTTP/1.1 14:53:32.591281 Are-we-friendly question received 14:53:32.591323 Wrote request (93 bytes) input to log/21/server.input 14:53:32.591341 Identifying ourselves as friends 14:53:32.591400 Response sent (56 bytes) and written to log/21/server.response 14:53:32.591411 special request received, no persistency 14:53:32.591421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 51022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind421 ==98548== ==98548== Process terminating with default action of signal 4 (SIGILL) ==98548== Illegal opcode at address 0x4014B6F ==98548== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98548== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98548== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98548== by 0x4004266: main (tool_main.c:199) === End of file valgrind421 test 0425...[HTTP PUT with path ending with slash + query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind425 ../src/curl -q --output log/23/curl425.out --include --trace-ascii log/23/trace425 --trace-time -T log/23/up425 http://127.0.0.1:38851/425/?fullpath > log/23/stdout425 2> log/23/stderr425 425: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 425 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind425 ../src/curl -q --output log/23/curl425.out --include --trace-ascii log/23/trace425 --trace-time -T log/23/up425 http://127.0.0.1:38851/425/?fullpath > log/23/stdout425 2> log/23/stderr425 === End of file commands.log === Start of file http_server.log 14:53:32.611205 ====> Client connect 14:53:32.611240 accept_connection 3 returned 4 14:53:32.611255 accept_connection 3 returned 0 14:53:32.611267 Read 93 bytes 14:53:32.611277 Process 93 bytes request 14:53:32.611290 Got request: GET /verifiedserver HTTP/1.1 14:53:32.611300 Are-we-friendly question received 14:53:32.611322 Wrote request (93 bytes) input to log/23/server.input 14:53:32.611337 Identifying ourselves as friends 14:53:32.611390 Response sent (56 bytes) and written to log/23/server.response 14:53:32.611399 special request received, no persistency 14:53:32.611407 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 425 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==98628== ==98628== Process terminating with default action of signal 4 (SIGILL) ==98628== Illegal opcode at address 0x4014B6F ==98628== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98628== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98628== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98628== by 0x4004266: main (tool_main.c:199) === End of file valgrind425 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind427 ../src/curl -q --output log/3/curl427.out --include --trace-ascii log/3/trace427 --trace-time http://127.0.0.1:46791/427 -c log/3/cookies427 -L > log/3/stdout427 2> log/3/stderr427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind428 ../src/curl -q --output log/17/curl428.out --include --trace-ascii log/17/trace428 --trace-time http://127.0.0.1:45171/428 -K log/17/cmd > log/17/stdout428 2> log/17/stderr428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-time http://127.0.0.1:39569/429 -K log/20/cmd > log/20/stdout429 2> log/20/stderr429 test 0422...[use --next with missing URL before it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind422 ../src/curl -q --output log/24/curl422.out --include --trace-ascii log/24/trace422 --trace-time -O -I --next http://127.0.0.1:34449/422 > log/24/stdout422 2> log/24/stderr422 422: stderr FAILED: --- log/24/check-expected 2025-09-11 14:53:33.578864027 +0000 +++ log/24/check-generated 2025-09-11 14:53:33.578864027 +0000 @@ -1,3 +0,0 @@ -curl: missing URL before --next[CR][LF] -curl: option --next: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/24/ dir after test 422 === Start of file check-expected curl: missing URL before --next[CR][LF] curl: option --next: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind422 ../src/curl -q --output log/24/curl422.out --include --trace-ascii log/24/trace422 --trace-time -O -I --next http://127.0.0.1:34449/422 > log/24/stdout422 2> log/24/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==98476== ==98476== Process terminating with default action of signal 4 (SIGILL) ==98476== Illegal opcode at address 0x4014B6F ==98476== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98476== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98476== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98476== by 0x4004266: main (tool_main.c:199) === End of file valgrind422 test 0427...[Keep Cookie: header within 8190 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind427 ../src/curl -q --output log/3/curl427.out --include --trace-ascii log/3/trace427 --trace-time http://127.0.0.1:46791/427 -c log/3/cookies427 -L > log/3/stdout427 2> log/3/stderr427 427: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind427 ../src/curl -q --output log/3/curl427.out --include --trace-ascii log/3/trace427 --trace-time http://127.0.0.1:46791/427 -c log/3/cookies427 -L > log/3/stdout427 2> log/3/stderr427 === End of file commands.log === Start of file http_server.log 14:53:32.698212 ====> Client connect 14:53:32.698246 accept_connection 3 returned 4 14:53:32.698263 accept_connection 3 returned 0 14:53:32.698280 Read 93 bytes 14:53:32.698291 Process 93 bytes request 14:53:32.698305 Got request: GET /verifiedserver HTTP/1.1 14:53:32.698316 Are-we-friendly question received 14:53:32.698341 Wrote request (93 bytes) input to log/3/server.input 14:53:32.698358 Identifying ourselves as friends 14:53:32.698411 Response sent (56 bytes) and written to log/3/server.response 14:53:32.698423 special request received, no persistency 14:53:32.698433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 427 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind427 ==98910== ==98910== Process terminating with default action of signal 4 (SIGILL) ==98910== Illegal opcode at address 0x4014B6F ==98910== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==98910== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==98910== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==98910== by 0x4004266: main (tool_main.c:199) === End of file valgrind427 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0428...[Expand environment variables within config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind428 ../src/curl -q --output log/17/curl428.out --include --trace-ascii log/17/trace428 --trace-time http://127.0.0.1:45171/428 -K log/17/cmd > log/17/stdout428 2> log/17/stderr428 428: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 428 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --variable %BLANK --variable %curl_NOT_SET=default --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind428 ../src/curl -q --output log/17/curl428.out --include --trace-ascii log/17/trace428 --trace-time http://127.0.0.1:45171/428 -K log/17/cmd > log/17/stdout428 2> log/17/stderr428 === End of file commands.log === Start of file http_server.log 14:53:32.898521 ====> Client connect 14:53:32.898562 accept_connection 3 returned 4 14:53:32.898581 accept_connection 3 returned 0 14:53:32.898597 Read 93 bytes 14:53:32.898609 Process 93 bytes request 14:53:32.898625 Got request: GET /verifiedserver HTTP/1.1 14:53:32.898636 Are-we-friendly question received 14:53:32.898665 Wrote request (93 bytes) input to log/17/server.input 14:53:32.898683 Identifying ourselves as friends 14:53:32.898758 Response sent (56 bytes) and written to log/17/server.response 14:53:32.898769 special request received, no persistency 14:53:32.898780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind428 ==99033== ==99033== Process terminating with default action of signal 4 (SIGILL) ==99033== Illegal opcode at address 0x4014B6F ==99033== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99033== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99033== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99033== by 0x4004266: main (tool_main.c:199) === End of file valgrind428 setenv FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = contents2023 test 0429...[Expand environment variableCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:41533/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind432 ../src/curl -q --output log/6/curl432.out --include --trace-ascii log/6/trace432 --trace-time -K log/6/config432 > log/6/stdout432 2> log/6/stderr432 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 in config file - too long name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-time http://127.0.0.1:39569/429 -K log/20/cmd > log/20/stdout429 2> log/20/stderr429 429: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-time http://127.0.0.1:39569/429 -K log/20/cmd > log/20/stdout429 2> log/20/stderr429 === End of file commands.log === Start of file http_server.log 14:53:32.916705 ====> Client connect 14:53:32.916740 accept_connection 3 returned 4 14:53:32.916757 accept_connection 3 returned 0 14:53:32.916774 Read 93 bytes 14:53:32.916785 Process 93 bytes request 14:53:32.916799 Got request: GET /verifiedserver HTTP/1.1 14:53:32.916809 Are-we-friendly question received 14:53:32.916836 Wrote request (93 bytes) input to log/20/server.input 14:53:32.916855 Identifying ourselves as friends 14:53:32.916911 Response sent (56 bytes) and written to log/20/server.response 14:53:32.916923 special request received, no persistency 14:53:32.916933 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind429 ==99072== ==99072== Process terminating with default action of signal 4 (SIGILL) ==99072== Illegal opcode at address 0x4014B6F ==99072== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99072== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99072== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99072== by 0x4004266: main (tool_main.c:199) === End of file valgrind429 test 0431...[Two -K uses with --next and then one on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:41533/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 431: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:41533/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:41533/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:41533/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 14:53:32.922190 ====> Client connect 14:53:32.922225 accept_connection 3 returned 4 14:53:32.922243 accept_connection 3 returned 0 14:53:32.922259 Read 93 bytes 14:53:32.922271 Process 93 bytes request 14:53:32.922284 Got request: GET /verifiedserver HTTP/1.1 14:53:32.922295 Are-we-friendly question received 14:53:32.922323 Wrote request (93 bytes) input to log/13/server.input 14:53:32.922341 Identifying ourselves as friends 14:53:32.922400 Response sent (56 bytes) and written to log/13/server.response 14:53:32.922411 special request received, no persistency 14:53:32.922422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind431 ==99093== ==99093== Process terminating with default action of signal 4 (SIGILL) ==99093== Illegal opcode at address 0x4014B6F ==99093== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99093== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99093== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99093== by 0x4004266: main (tool_main.c:199) === End of file valgrind431 test 0432...[Use -K with --next and --config from within] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind432 ../src/curl -q --output log/6/curl432.out --include --trace-ascii log/6/trace432 --trace-time -K log/6/config432 > log/6/stdout432 2> log/6/stderr432 432: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind432 ../src/curl -q --output log/6/curl432.out --include --trace-ascii log/6/trace432 --trace-time -K log/6/config432 > log/6/stdout432 2> log/6/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:38791/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:38791/4320002 header = "b: b" data = "b" config = "log/6/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:38791/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 14:53:32.930074 ====> Client connect 14:53:32.930106 accept_connection 3 returned 4 14:53:32.930124 accept_connection 3 returned 0 14:53:32.930141 Read 93 bytes 14:53:32.930153 Process 93 bytes request 14:53:32.930167 Got request: GET /verifiedserver HTTP/1.1 14:53:32.930178 Are-we-friendly question received 14:53:32.930203 Wrote request (93 bytes) input to log/6/server.input 14:53:32.930222 Identifying ourselves as friends 14:53:32.930277 Response sent (56 bytes) and written to log/6/server.response 14:53:32.930288CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind435 ../src/curl -q --include --trace-ascii log/14/trace435 --trace-time http://127.0.0.1:46043/435 http://127.0.0.1:46043/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/14/stdout435 2> log/14/stderr435 special request received, no persistency 14:53:32.930298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind432 ==99141== ==99141== Process terminating with default action of signal 4 (SIGILL) ==99141== Illegal opcode at address 0x4014B6F ==99141== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99141== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99141== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99141== by 0x4004266: main (tool_main.c:199) === End of file valgrind432 test 0430...[Three -K uses with --next and --data in each] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 430: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:43297/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:43297/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:43297/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 14:53:32.917555 ====> Client connect 14:53:32.917600 accept_connection 3 returned 4 14:53:32.917618 accept_connection 3 returned 0 14:53:32.917635 Read 93 bytes 14:53:32.917646 Process 93 bytes request 14:53:32.917661 Got request: GET /verifiedserver HTTP/1.1 14:53:32.917672 Are-we-friendly question received 14:53:32.917701 Wrote request (93 bytes) input to log/18/server.input 14:53:32.917720 Identifying ourselves as friends 14:53:32.917780 Response sent (56 bytes) and written to log/18/server.response 14:53:32.917792 special request received, no persistency 14:53:32.917803 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 57106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind430 ==99091== ==99091== Process terminating with default action of signal 4 (SIGILL) ==99091== Illegal opcode at address 0x4014B6F ==99091== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99091== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99091== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99091== by 0x4004266: main (tool_main.c:199) === End of file valgrind430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind434 ../src/curl -q --output log/1/curl434.out --include --trace-ascii log/1/trace434 --trace-time -K log/1/config434 > log/1/stdout434 2> log/1/stderr434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind440 ../src/curl -q --include --trace-ascii log/11/trace440 --trace-time -x http://127.0.0.1:33503 http://this.hsts.example./440 --hsts log/11/input440 -w '%{url_effective}\n' > log/11/stdout440 2> log/11/stderr440 test 0435...[verify -w local/remote port+ip after connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind435 ../src/curl -q --include --trace-ascii log/14/trace435 --trace-time http://127.0.0.1:46043/435 http://127.0.0.1:46043/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/14/stdout435 2> log/14/stderr435 435: stdout FAILED: --- log/14/check-expected 2025-09-11 14:53:33.955530699 +0000 +++ log/14/check-generated 2025-09-11 14:53:33.955530699 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 46043[LF] -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 46043[LF] == Contents of files in the log/14/ dir after test 435 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 46043[LF] HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 46043[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind435 ../src/curl -q --include --trace-ascii log/14/trace435 --trace-time http://127.0.0.1:46043/435 http://127.0.0.1:46043/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/14/stdout435 2> log/14/stderr435 === End of file commands.log === Start of file http_server.log 14:53:32.999598 ====> Client connect 14:53:32.999634 accept_connection 3 returned 4 14:53:32.999654 accept_connection 3 returned 0 14:53:32.999680 Read 93 bytes 14:53:32.999691 Process 93 bytes request 14:53:32.999706 Got request: GET /verifiedserver HTTP/1.1 14:53:32.999716 Are-we-friendly question received 14:53:32.999744 Wrote request (93 bytes) input to log/14/server.input 14:53:32.999762 Identifying ourselves as friends 14:53:32.999828 Response sent (56 bytes) and written to log/14/server.response 14:53:32.999841 special request received, no persistency 14:53:32.999851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 49416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 435 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind435 ==99385== ==99385== Process terminating with default action of signal 4 (SIGILL) ==99385== Illegal opcode at address 0x4014B6F ==99385== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99385== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99385== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99385== by 0x4004266: main (tool_main.c:199) === End of file valgrind435 test 0434...[-K with a single line without newline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind434 ../src/curl -q --output log/1/curl434.out --include --trace-ascii log/1/trace434 --trace-time -K log/1/config434 > log/1/stdout434 2> log/1/stderr434 434: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind434 ../src/curl -q --output log/1/curl434.out --include --trace-ascii log/1/trace434 --trace-time -K log/1/config434 > log/1/stdout434 2> log/1/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:44029/434 === End of file config434 === Start of file http_server.log 14:53:32.986745 ====> Client connect 14:53:32.986777 accept_connection 3 returned 4 14:53:32.986796 accept_connection 3 returned 0 14:53:32.986813 Read 93 bytes 14:53:32.986824 Process 93 bytes request 14:53:32.986840 Got request: GET /verifiedserver HTTP/1.1 14:53:32.986851 Are-we-friendly question received 14:53:32.986875 Wrote request (93 bytes) input to log/1/server.input 14:53:32.986895 Identifying ourselves as friends 14:53:32.986951 Response sent (56 bytes) and written to log/1/server.response 14:53:32.986963 special request received, no persistency 14:53:32.986974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind434 ==99332== ==99332== Process terminating with default action of signal 4 (SIGILL) ==99332== Illegal opcode at address 0x4014B6F ==99332== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99332== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99332== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99332== by 0x4004266: main (tool_main.c:199) === End of file valgrind434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind436 ../src/curl --output log/12/curl436.out --include --trace-ascii log/12/trace436 --trace-time 127.0.0.1:43359/436 > log/12/stdout436 2> log/12/stderr436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind442 ../src/curl -q --output log/2/curl442.out --include --trace-ascii log/2/trace442 --trace-time http://attack.invalid:37587/a/b/442 -b log/2/cookie442 --resolve attack.invalid:37587:127.0.0.1 -L > log/2/stdout442 2> log/2/stderr442 test 0440...[HSTS with trailing-dot host name in URL but none in hsts file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind440 ../src/curl -q --include --trace-ascii log/11/trace440 --trace-time -x http://127.0.0.1:33503 http://this.hsts.example./440 --hsts log/11/input440 -w '%{url_effective}\n' > log/11/stdout440 2> log/11/stderr440 440: stdout FAILED: --- log/11/check-expected 2025-09-11 14:53:33.972197366 +0000 +++ log/11/check-generated 2025-09-11 14:53:33.972197366 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example./440[LF] == Contents of files in the log/11/ dir after test 440 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example./440[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind440 ../src/curl -q --include --trace-ascii log/11/trace440 --trace-time -x http://127.0.0.1:33503 http://this.hsts.example./440 --hsts log/11/input440 -w '%{url_effective}\n' > log/11/stdout440 2> log/11/stderr440 === End of file commands.log === Start of file http_server.log 14:53:33.017165 ====> Client connect 14:53:33.017200 accept_connection 3 returned 4 14:53:33.017218 accept_connection 3 returned 0 14:53:33.017234 Read 93 bytes 14:53:33.017245 Process 93 bytes request 14:53:33.017259 Got request: GET /verifiedserver HTTP/1.1 14:53:33.017270 Are-we-friendly question received 14:53:33.017372 Wrote request (93 bytes) input to log/11/server.input 14:53:33.017393 Identifying ourselves as friends 14:53:33.017450 Response sent (56 bytes) and written to log/11/server.response 14:53:33.017462 special request received, no persistency 14:53:33.017473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file input440 this.hsts.example "99991001 04:47:41" === End of file input440 === Start of file server.cmd Testnum 440 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind440 ==99418== ==99418== Process terminating with default action of signal 4 (SIGILL) ==99418== Illegal opcode at address 0x4014B6F ==99418== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99418== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99418== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99418== by 0x4004266: main (tool_main.c:199) === End of file valgrind440 setenv CURL_HOME = /startdir/src/build-curl/tests/log/12 test 0436...[Find .curlrc in .config/curlrc via CURL_HOME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind436 ../src/curl --output log/12/curl436.out --include --trace-ascii log/12/trace436 --trace-time 127.0.0.1:43359/436 > log/12/stdout436 2> log/12/stderr436 436: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 436 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind436 ../src/curl --output log/12/curl436.out --include --trace-ascii log/12/trace436 --trace-time 127.0.0.1:43359/436 > log/12/stdout436 2> log/12/stderr436 === End of file commands.log === Start of file http_server.log 14:53:33.008808 ====> Client connect 14:53:33.008839 accept_connection 3 returned 4 14:53:33.008857 accept_connection 3 returned 0 14:53:33.008872 Read 93 bytes 14:53:33.008883 Process 93 bytes request 14:53:33.008897 Got request: GET /verifiedserver HTTP/1.1 14:53:33.008908 Are-we-friendly question received 14:53:33.008931 Wrote request (93 bytes) input to log/12/server.input 14:53:33.008948 Identifying ourselves as friends 14:53:33.008998 Response sent (56 bytes) and written to log/12/server.response 14:53:33.009010 special request received, no persistency 14:53:33.009020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 436 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind436 ==99416== ==99416== Process terminating with default action of signal 4 (SIGILL) ==99416== Illegal opcode at address 0x4014B6F ==99416== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99416== by 0x401DF0C: parseconfig (tool_parsecfg.c:209) ==99416== by 0x400336D: UnknownInlinedFun (tool_operate.c:2147) ==99416== by 0x400336D: main (tool_main.c:199) === End of file valgrind436 test 0442...[Send capped huge number of matching cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind442 ../src/curl -q --output log/2/curl442.out --include --trace-ascii log/2/trace442 --trace-time http://attack.invalid:37587/a/b/442 -b log/2/cookie442 --resolve attack.invalid:37587:127.0.0.1 -L > log/2/stdout442 2> log/2/stderr442 442: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 442 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind442 ../src/curl -q --output log/2/curl442.out --include --trace-ascii log/2/trace442 --trace-time http://attack.invalid:37587/a/b/442 -b log/2/cookie442 --resolve attack.invalid:37587:127.0.0.1 -L > log/2/stdout442 2> log/2/stderr442 === End of file commands.log === Start of file cookie442 attack.invalid TRUE / FALSE 0 name1 could-be-large-1 attack.invalid TRUE / FALSE 0 name2 could-be-large-2 attack.invalid TRUE / FALSE 0 name3 could-be-large-3 attack.invalid TRUE / FALSE 0 name4 could-be-large-4 attack.invalid TRUE / FALSE 0 name5 could-be-large-5 attack.invalid TRUE / FALSE 0 name6 could-be-large-6 attack.invalid TRUE / FALSE 0 name7 could-be-large-7 attack.invalid TRUE / FALSE 0 name8 could-be-large-8 attack.invalid TRUE / FALSE 0 name9 could-be-large-9 attack.invalid TRUE / FALSE 0 name10 could-be-large-10 attack.invalid TRUE / FALSE 0 name11 could-be-large-11 attack.invalid TRUE / FALSE 0 name12 could-be-large-12 attack.invalid TRUE / FALSE 0 name13 could-be-large-13 attack.invalid TRUE / FALSE 0 name14 could-be-large-14 attack.invalid TRUE / FALSE 0 name15 could-be-large-15 attack.invalid TRUE / FALSE 0 name16 could-be-large-16 attack.invalid TRUE / FALSE 0 name17 could-be-large-17 attack.invalid TRUE / FALSE 0 name18 could-be-large-18 attack.invalid TRUE / FALSE 0 name19 could-be-large-19 attack.invalid TRUE / FALSE 0 name20 could-be-large-20 attack.invalid TRUE / FALSE 0 name21 could-be-large-21 attack.invalid TRUE / FALSE 0 name22 could-be-large-22 attack.invalid TRUE / FALSE 0 name23 could-be-large-23 attack.invalid TRUE / FALSE 0 name24 could-be-large-24 attack.invalid TRUE / FALSE 0 name25 could-be-large-25 attack.invalid TRUE / FALSE 0 name26 could-be-large-26 attack.invalid TRUE / FALSE 0 name27 could-be-large-27 attack.invalid TRUE / FALSE 0 name28 could-be-large-28 attack.invalid TRUE / FALSE 0 name29 could-be-large-29 attack.invalid TRUE / FALSE 0 name30 could-be-large-30 attack.invalid TRUE / FALSE 0 name31 could-be-large-31 attack.invalid TRUE / FALSE 0 name32 could-be-large-32 attack.invalid TRUE / FALSE 0 name33 could-be-large-33 attack.invalid TRUE / FALSE 0 name34 could-be-large-34 attack.invalid TRUE / FALSE 0 name35 could-be-large-35 attack.invalid TRUE / FALSE 0 name36 could-be-large-36 attack.invalid TRUE / FALSE 0 name37 could-be-large-37 attack.invalid TRUE / FALSE 0 name38 could-be-large-38 attack.invalid TRUE / FALSE 0 name39 could-be-large-39 attack.invalid TRUE / FALSE 0 name40 could-be-large-40 attack.invalid TRUE / FALSE 0 name41 could-be-large-41 attack.invalid TRUE / FALSE 0 name42 could-be-large-42 attack.invalid TRUE / FALSE 0 name43 could-be-large-43 attack.invalid TRUE / FALSE 0 name44 could-be-large-44 attack.invalid TRUE / FALSE 0 name45 could-be-large-45 attack.invalid TRUE / FALSE 0 name46 could-be-large-46 attack.invalid TRUE / FALSE 0 name47 could-be-large-47 attack.invalid TRUE / FALSE 0 name48 could-be-large-48 attack.invalid TRUE / FALSE 0 name49 could-be-large-49 attack.invalid TRUE / FALSE 0 name50 could-be-large-50 attack.invalid TRUE / FALSE 0 name51 could-be-large-51 attack.invalid TRUE / FALSE 0 name52 could-be-large-52 attack.invalid TRUE / FALSE 0 name53 could-be-large-53 attack.invalid TRUE / FALSE 0 name54 could-be-large-54 attack.invalid TRUE / FALSE 0 name55 could-be-large-55 attack.invalid TRUE / FALSE 0 name56 could-be-large-56 attack.invalid TRUE / FALSE 0 name57 could-be-large-57 attack.invalid TRUE / FALSE 0 name58 could-be-large-58 attack.invalid TRUE / FALSE 0 name59 could-be-large-59 attack.invalid TRUE / FALSE 0 name60 could-be-large-60 attack.invalid TRUE / FALSE 0 name61 could-be-large-61 attack.invalid TRUE / FALSE 0 name62 could-be-large-62 attack.invalid TRUE / FALSE 0 name63 could-be-large-63 attack.invalid TRUE / FALSE 0 name64 could-be-large-64 attack.invalid TRUE / FALSE 0 name65 could-be-large-65 attack.invalid TRUE / FALSE 0 name66 could-be-large-66 attack.invalid TRUE / FALSE 0 name67 could-be-large-67 attack.invalid TRUE / FALSE 0 name68 could-be-large-68 attack.invalid TRUE / FALSE 0 name69 could-be-large-69 attack.invalid TRUE / FALSE 0 name70 could-be-large-70 attack.invalid TRUE / FALSE 0 name71 could-be-large-71 attack.invalid TRUE / FALSE 0 name72 could-be-large-72 attack.invalid TRUE / FALSE 0 name73 could-be-large-73 attack.invalid TRUE / FALSE 0 name74 could-be-large-74 attack.invalid TRUE / FALSE 0 name75 could-be-large-75 attack.invalid TRUE / FALSE 0 name76 could-be-large-76 attack.invalid TRUE / FALSE 0 name77 could-be-large-77 attack.invalid TRUE / FALSE 0 name78 could-be-large-78 attack.invalid TRUE / FALSE 0 name79 could-be-large-79 attack.invalid TRUE / FALSE 0 name80 could-be-large-80 attack.invalid TRUE / FALSE 0 name81 could-be-large-81 attack.invalid TRUE / FALSE 0 name82 could-be-large-82 attack.invalid TRUE / FALSE 0 name83 could-be-large-83 attack.invalid TRUE / FALSE 0 name84 could-be-large-84 attack.invalid TRUE / FALSE 0 name85 could-be-large-85 attack.invalid TRUE / FALSE 0 name86 could-be-large-86 attack.invalid TRUE / FALSE 0 name87 could-be-large-87 attack.invalid TRUE / FALSE 0 name88 could-be-large-88 attack.invalid TRUE / FALSE 0 name89 could-be-large-89 attack.invalid TRUE / FALSE 0 name90 could-be-large-90 attack.invalid TRUE / FALSE 0 name91 could-be-large-91 attack.invalid TRUE / FALSE 0 name92 could-be-large-92 attack.invalid TRUE / FALSE 0 name93 could-be-large-93 attack.invalid TRUE / FALSE 0 name94 could-be-large-94 attack.invalid TRUE / FALSE 0 name95 could-be-large-95 attack.invalid TRUE / FALSE 0 name96 could-be-large-96 attack.invalid TRUE / FALSE 0 name97 could-be-large-97 attack.invalid TRUE / FALSE 0 name98 could-be-large-98 attack.invalid TRUE / FALSE 0 name99 could-be-large-99 attack.invalid TRUE / FALSE 0 name100 could-be-large-100 attack.invalid TRUE / FALSE 0 name101 could-be-large-101 attack.invalid TRUE / FALSE 0 name102 could-be-large-102 attack.invalid TRUE / FALSE 0 name103 could-be-large-103 attack.invalid TRUE / FALSE 0 name104 could-be-large-104 attack.invalid TRUE / FALSE 0 name105 could-be-large-105 attack.invalid TRUE / FALSE 0 name106 could-be-large-106 attack.invalid TRUE / FALSE 0 name107 could-be-large-107 attack.invalid TRUE / FALSE 0 name108 could-be-large-108 attack.invalid TRUE / FALSE 0 name109 could-be-large-109 attack.invalid TRUE / FALSE 0 name110 could-be-large-110 attack.invalid TRUE / FALSE 0 name111 could-be-large-111 attack.invalid TRUE / FALSE 0 name112 could-be-large-112 attack.invalid TRUE / FALSE 0 name113 could-be-large-113 attack.invalid TRUE / FALSE 0 name114 could-be-large-114 attack.invalid TRUE / FALSE 0 name115 could-be-large-115 attack.invalid TRUE / FALSE 0 name116 could-be-large-116 attack.invalid TRUE / FALSE 0 name117 could-be-large-117 attack.invalid TRUE / FALSE 0 name118 could-be-large-118 attack.invalid TRUE / FALSE 0 name119 could-be-large-119 attack.invalid TRUE / FALSE 0 name120 could-be-large-120 attack.invalid TRUE / FALSE 0 name121 could-be-large-121 attack.invalid TRUE / FALSE 0 name122 could-be-large-122 attack.invalid TRUE / FALSE 0 name123 could-be-large-123 attack.invalid TRUE / FALSE 0 name124 could-be-large-124 attack.invalid TRUE / FALSE 0 name125 could-be-large-125 attack.invalid TRUE / FALSE 0 name126 could-be-large-126 attack.invalid TRUE / FALSE 0 name127 could-be-large-127 attack.invalid TRUE / FALSE 0 name128 could-be-large-128 attack.invalid TRUE / FALSE 0 name129 could-be-large-129 attack.invalid TRUE / FALSE 0 name130 could-be-large-130 attack.invalid TRUE / FALSE 0 name131 could-be-large-131 attack.invalid TRUE / FALSE 0 name132 could-be-large-132 attack.invalid TRUE / FALSE 0 name133 could-be-large-133 attack.invalid TRUE / FALSE 0 name134 could-be-large-134 attack.invalid TRUE / FALSE 0 name135 could-be-large-135 attack.invalid TRUE / FALSE 0 name136 could-be-large-136 attack.invalid TRUE / FALSE 0 name137 could-be-large-137 attack.invalid TRUE / FALSE 0 name138 could-be-large-138 attack.invalid TRUE / FALSE 0 name139 could-be-large-139 attack.invalid TRUE / FALSE 0 name140 could-be-large-140 attack.invalid TRUE / FALSE 0 name141 could-be-large-141 attack.invalid TRUE / FALSE 0 name142 could-be-large-142 attack.invalid TRUE / FALSE 0 name143 could-be-large-143 attack.invalid TRUE / FALSE 0 name144 could-be-large-144 attack.invalid TRUE / FALSE 0 name145 could-be-large-145 attack.invalid TRUE / FALSE 0 name146 could-be-large-146 attack.invalid TRUE / FALSE 0 name147 could-be-large-147 attack.invalid TRUE / FALSE 0 name148 could-be-large-148 attack.invalid TRUE / FALSE 0 name149 could-be-large-149 attack.invalid TRUE / FALSE 0 name150 could-be-large-150 attack.invalid TRUE / FALSE 0 name151 could-be-large-151 === End of file cookie442 === Start of file http_server.log 14:53:33.217838 ====> Client connect 14:53:33.217873 accept_connection 3 retuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind443 ../src/curl -q --output log/16/curl443.out --include --trace-ascii log/16/trace443 --trace-time http://attack.invalid:34475/a/b/443 -b log/16/cookie443 --resolve attack.invalid:34475:127.0.0.1 -L > log/16/stdout443 2> log/16/stderr443 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind441 ../src/curl -q --include --trace-ascii log/5/trace441 --trace-time -x http://127.0.0.1:46041 http://this.hsts.example/441 --hsts log/5/input441 -w '%{url_effective}\n' > log/5/stdout441 2> log/5/stderr441 rned 4 14:53:33.217891 accept_connection 3 returned 0 14:53:33.217907 Read 93 bytes 14:53:33.217918 Process 93 bytes request 14:53:33.217934 Got request: GET /verifiedserver HTTP/1.1 14:53:33.217945 Are-we-friendly question received 14:53:33.217968 Wrote request (93 bytes) input to log/2/server.input 14:53:33.217986 Identifying ourselves as friends 14:53:33.218041 Response sent (56 bytes) and written to log/2/server.response 14:53:33.218053 special request received, no persistency 14:53:33.218063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 442 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind442 ==99675== ==99675== Process terminating with default action of signal 4 (SIGILL) ==99675== Illegal opcode at address 0x4014B6F ==99675== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99675== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99675== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99675== by 0x4004266: main (tool_main.c:199) === End of file valgrind442 test 0441...[HSTS with no t-dot host name in URL but t-dot in file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind441 ../src/curl -q --include --trace-ascii log/5/trace441 --trace-time -x http://127.0.0.1:46041 http://this.hsts.example/441 --hsts log/5/input441 -w '%{url_effective}\n' > log/5/stdout441 2> log/5/stderr441 441: stdout FAILED: --- log/5/check-expected 2025-09-11 14:53:34.225530703 +0000 +++ log/5/check-generated 2025-09-11 14:53:34.225530703 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/441[LF] == Contents of files in the log/5/ dir after test 441 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/441[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind441 ../src/curl -q --include --trace-ascii log/5/trace441 --trace-time -x http://127.0.0.1:46041 http://this.hsts.example/441 --hsts log/5/input441 -w '%{url_effective}\n' > log/5/stdout441 2> log/5/stderr441 === End of file commands.log === Start of file http_server.log 14:53:33.209748 ====> Client connect 14:53:33.209796 accept_connection 3 returned 4 14:53:33.209816 accept_connection 3 returned 0 14:53:33.209833 Read 93 bytes 14:53:33.209845 Process 93 bytes request 14:53:33.209862 Got request: GET /verifiedserver HTTP/1.1 14:53:33.209873 Are-we-friendly question received 14:53:33.209899 Wrote request (93 bytes) input to log/5/server.input 14:53:33.209924 Identifying ourselves as friends 14:53:33.210011 Response sent (56 bytes) and written to log/5/server.response 14:53:33.210022 special request received, no persistency 14:53:33.210033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 43718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file input441 this.hsts.example. "99991001 04:47:41" === End of file input441 === Start of file server.cmd Testnum 441 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind441 ==99638== ==99638== Process terminating with default action of signal 4 (SIGILL) ==99638== Illegal opcode at address 0x4014B6F ==99638== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99638== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99638== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99638== by 0x4004266: main (tool_main.c:199) === End of file valgrind441 test 0443...[Cookie header in request no longer than 8K] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind443 ../src/curl -q --output log/16/curl443.out --include --trace-ascii log/16/trace443 --trace-time http://attack.invalid:34475/a/b/443 -b log/16/cookie443 --resolve attack.invalid:34475:127.0.0.1 -L > log/16/stdout443 2> log/16/stderr443 443: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind443 ../src/curl -q --output log/16/curl443.out --include --trace-ascii log/16/trace443 --trace-time http://attack.invalid:34475/a/b/443 -b log/16/cookie443 --resolve attack.invalid:34475:127.0.0.1 -L > log/16/stdout443 2> log/16/stderr443 === End of file commands.log === Start of file cookie443 attack.invalid TRUE / FALSE 0 huge-1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-1 attack.invalid TRUE / FALSE 0 huge-2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-2 attack.invalid TRUE / FALSE 0 huge-3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-3 attack.invalid TRUE / FALSE 0 huge-4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-4 attack.invalid TRUE / FALSE 0 huge-5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-5 attack.invalid TRUE / FALSE 0 huge-6 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-6 attack.invalid TRUE / FALSE 0 huge-7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-7 attack.invalid TRUE / FALSE 0 huge-8 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-8 attack.invalid TRUE / FALSE 0 huge-9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-9 attack.invalid TRUE / FALSE 0 huge-10 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10 attack.invalid TRUE / FALSE 0 huge-11 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-11 attack.invalid TRUE / FALSE 0 huge-12 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-12 attack.invalid TRUE / FALSE 0 huge-13 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-13 attack.invalid TRUE / FALSE 0 huge-14 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-14 attack.invalid TRUE / FALSE 0 huge-15 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-15 attack.invalid TRUE / FALSE 0 huge-16 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-17 attack.invalid TRUE / FALSE 0 huge-18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-18 attack.invalid TRUE / FALSE 0 huge-19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-19 attack.invalid TRUE / FALSE 0 huge-20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20 === End of file cookie443 === Start of file http_server.log 14:53:33.269768 ====> Client connect 14:53:33.269810 accept_connection 3 returned 4 14:53:33.269829 accept_connection 3 returned 0 14:53:33.269846 Read 93 bytes 14:53:33.269856 Process 93 bytes request 14:53:33.269869 Got request: GET /verifiedserver HTTP/1.1 14:53:33.269879 Are-we-friendly question received 14:53:33.269909 Wrote request (93 bytes) input to log/16/server.input 14:53:33.269931 Identifying ourselves as friends 14:53:33.270005 Response sent (56 bytes) and written to log/16/server.response 14:53:33.270017 special request received, no persistency 14:53:33.270026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind444 ../src/curl -q --output log/7/curl444.out --include --trace-ascii log/7/trace444 --trace-time http://attack.invalid:40545/a/b/444 -c log/7/cookie444 --resolve attack.invalid:40545:127.0.0.1 > log/7/stdout444 2> log/7/stderr444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind448 ../src/curl -q --output log/22/curl448.out --include --trace-ascii log/22/trace448 --trace-time http://127.0.0.1:42027/448 -K log/22/cmd > log/22/stdout448 2> log/22/stderr448 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind449 ../src/curl -q --output log/9/curl449.out --include --trace-ascii log/9/trace449 --trace-time http://127.0.0.1:34345/449 -K log/9/cmd > log/9/stdout449 2> log/9/stderr449 * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind443 ==99732== ==99732== Process terminating with default action of signal 4 (SIGILL) ==99732== Illegal opcode at address 0x4014B6F ==99732== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99732== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99732== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99732== by 0x4004266: main (tool_main.c:199) === End of file valgrind443 test 0444...[Many Set-Cookie response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind444 ../src/curl -q --output log/7/curl444.out --include --trace-ascii log/7/trace444 --trace-time http://attack.invalid:40545/a/b/444 -c log/7/cookie444 --resolve attack.invalid:40545:127.0.0.1 > log/7/stdout444 2> log/7/stderr444 444: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind444 ../src/curl -q --output log/7/curl444.out --include --trace-ascii log/7/trace444 --trace-time http://attack.invalid:40545/a/b/444 -c log/7/cookie444 --resolve attack.invalid:40545:127.0.0.1 > log/7/stdout444 2> log/7/stderr444 === End of file commands.log === Start of file http_server.log 14:53:33.370783 ====> Client connect 14:53:33.370830 accept_connection 3 returned 4 14:53:33.370852 accept_connection 3 returned 0 14:53:33.370871 Read 93 bytes 14:53:33.370885 Process 93 bytes request 14:53:33.370901 Got request: GET /verifiedserver HTTP/1.1 14:53:33.370912 Are-we-friendly question received 14:53:33.370935 Wrote request (93 bytes) input to log/7/server.input 14:53:33.370954 Identifying ourselves as friends 14:53:33.371115 Response sent (56 bytes) and written to log/7/server.response 14:53:33.371129 special request received, no persistency 14:53:33.371140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 52832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 444 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind444 ==99834== ==99834== Process terminating with default action of signal 4 (SIGILL) ==99834== Illegal opcode at address 0x4014B6F ==99834== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99834== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99834== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99834== by 0x4004266: main (tool_main.c:199) === End of file valgrind444 setenv FUNVALUE = contents setenv VALUE2 = curl test 0448...[Environment variables within config file, unbalanced braces] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind448 ../src/curl -q --output log/22/curl448.out --include --trace-ascii log/22/trace448 --trace-time http://127.0.0.1:42027/448 -K log/22/cmd > log/22/stdout448 2> log/22/stderr448 448: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 448 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}}5{{broken === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind448 ../src/curl -q --output log/22/curl448.out --include --trace-ascii log/22/trace448 --trace-time http://127.0.0.1:42027/448 -K log/22/cmd > log/22/stdout448 2> log/22/stderr448 === End of file commands.log === Start of file http_server.log 14:53:33.479193 ====> Client connect 14:53:33.479236 accept_connection 3 returned 4 14:53:33.479255 accept_connection 3 returned 0 14:53:33.479272 Read 93 bytes 14:53:33.479284 Process 93 bytes request 14:53:33.479298 Got request: GET /verifiedserver HTTP/1.1 14:53:33.479310 Are-we-friendly question received 14:53:33.479337 Wrote request (93 bytes) input to log/22/server.input 14:53:33.479356 Identifying ourselves as friends 14:53:33.479434 Response sent (56 bytes) and written to log/22/server.response 14:53:33.479446 special request received, no persistency 14:53:33.479457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind448 ==99907== ==99907== Process terminating with default action of signal 4 (SIGILL) ==99907== Illegal opcode at address 0x4014B6F ==99907== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99907== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99907== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99907== by 0x4004266: main (tool_main.c:199) === End of file valgrind448 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0449...[Environment variables in config file w/o [expand]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind449 ../src/curl -q --output log/9/curl449.out --include --trace-ascii log/9/trace449 --trace-time http://127.0.0.1:34345/449 -K log/9/cmd > log/9/stdout449 2> log/9/stderr449 449: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 449 === Start of file cmd -d 1{{FUNVALUE}}2{{VALUE2}}3{{CURL_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtooCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind450 ../src/curl -q --output log/15/curl450.out --include --trace-ascii log/15/trace450 --trace-time http://127.0.0.1:42107/450 --variable what@log/15/junk --expand-data "{{what:trim:url}}" > log/15/stdout450 2> log/15/stderr450 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-time http://127.0.0.1:35893/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 l --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind449 ../src/curl -q --output log/9/curl449.out --include --trace-ascii log/9/trace449 --trace-time http://127.0.0.1:34345/449 -K log/9/cmd > log/9/stdout449 2> log/9/stderr449 === End of file commands.log === Start of file http_server.log 14:53:33.604859 ====> Client connect 14:53:33.604896 accept_connection 3 returned 4 14:53:33.604915 accept_connection 3 returned 0 14:53:33.604932 Read 93 bytes 14:53:33.604944 Process 93 bytes request 14:53:33.604958 Got request: GET /verifiedserver HTTP/1.1 14:53:33.604969 Are-we-friendly question received 14:53:33.604998 Wrote request (93 bytes) input to log/9/server.input 14:53:33.605017 Identifying ourselves as friends 14:53:33.605077 Response sent (56 bytes) and written to log/9/server.response 14:53:33.605090 special request received, no persistency 14:53:33.605100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 58434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 449 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind449 ==99990== ==99990== Process terminating with default action of signal 4 (SIGILL) ==99990== Illegal opcode at address 0x4014B6F ==99990== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==99990== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==99990== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==99990== by 0x4004266: main (tool_main.c:199) === End of file valgrind449 test 0450...[Variable from file that is trimmed and URL encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind450 ../src/curl -q --output log/15/curl450.out --include --trace-ascii log/15/trace450 --trace-time http://127.0.0.1:42107/450 --variable what@log/15/junk --expand-data "{{what:trim:url}}" > log/15/stdout450 2> log/15/stderr450 450: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 450 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind450 ../src/curl -q --output log/15/curl450.out --include --trace-ascii log/15/trace450 --trace-time http://127.0.0.1:42107/450 --variable what@log/15/junk --expand-data "{{what:trim:url}}" > log/15/stdout450 2> log/15/stderr450 === End of file commands.log === Start of file http_server.log 14:53:33.659609 ====> Client connect 14:53:33.659643 accept_connection 3 returned 4 14:53:33.659673 accept_connection 3 returned 0 14:53:33.659689 Read 93 bytes 14:53:33.659701 Process 93 bytes request 14:53:33.659715 Got request: GET /verifiedserver HTTP/1.1 14:53:33.659727 Are-we-friendly question received 14:53:33.659754 Wrote request (93 bytes) input to log/15/server.input 14:53:33.659773 Identifying ourselves as friends 14:53:33.659832 Response sent (56 bytes) and written to log/15/server.response 14:53:33.659844 special request received, no persistency 14:53:33.659855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file junk space with space === End of file junk === Start of file server.cmd Testnum 450 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind450 ==100084== ==100084== Process terminating with default action of signal 4 (SIGILL) ==100084== Illegal opcode at address 0x4014B6F ==100084== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100084== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100084== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100084== by 0x4004266: main (tool_main.c:199) === End of file valgrind450 test 0451...[Variable from file that is JSON and URL encoded (with null byte)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-time http://127.0.0.1:35893/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 451: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 451 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-time http://127.0.0.1:35893/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 === End of file commands.log === Start of file http_server.log 14:53:33.666032 ====> Client connect 14:53:33.666058 accept_connection 3 returned 4 14:53:33.666071 accept_connection 3 returned 0 14:53:33.666084 Read 93 bytes 14:53:33.666092 Process 93 bytes request 14:53:33.666104 Got request: GET /verifiedserver HTTP/1.1 14:53:33.666112 Are-we-friendly question received 14:53:33.666131 Wrote request (93 bytes) input to log/10/server.input 14:53:33.666144 Identifying ourselves as friends 14:53:33.666186 Response sent (56 bytes) and written to log/10/server.response 14:53:33.666195 special request received, no persistency 14:53:33.666202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 37330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 451 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind451 ==100104== ==100104== Process terminating with default action CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind452 ../src/curl -q --output log/24/curl452.out --include --trace-ascii log/24/trace452 --trace-time http://127.0.0.1:34449/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/24/stdout452 2> log/24/stderr452 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind454 ../src/curl -q --output log/21/curl454.out --include --trace-ascii log/21/trace454 --trace-time http://127.0.0.1:34037/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/21/stdout454 2> log/21/stderr454 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind453 ../src/curl -q --output log/23/curl453.out --include --trace-ascii log/23/trace453 --trace-time http://127.0.0.1:38851/453 --variable what@log/23/junk --expand-data "{{what}}" > log/23/stdout453 2> log/23/stderr453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind455 ../src/curl -q --output log/19/curl455.out --include --trace-ascii log/19/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33805/{{moby:b64}}/{{what:64dec}}/455" > log/19/stdout455 2> log/19/stderr455 of signal 4 (SIGILL) ==100104== Illegal opcode at address 0x4014B6F ==100104== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100104== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100104== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100104== by 0x4004266: main (tool_main.c:199) === End of file valgrind451 test 0452...[Variable using illegal function in expansion] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind452 ../src/curl -q --output log/24/curl452.out --include --trace-ascii log/24/trace452 --trace-time http://127.0.0.1:34449/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/24/stdout452 2> log/24/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/24/ dir after test 452 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind452 ../src/curl -q --output log/24/curl452.out --include --trace-ascii log/24/trace452 --trace-time http://127.0.0.1:34449/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/24/stdout452 2> log/24/stderr452 === End of file commands.log === Start of file http_server.log 14:53:33.693020 ====> Client connect 14:53:33.693053 accept_connection 3 returned 4 14:53:33.693101 accept_connection 3 returned 0 14:53:33.693119 Read 93 bytes 14:53:33.693131 Process 93 bytes request 14:53:33.693149 Got request: GET /verifiedserver HTTP/1.1 14:53:33.693159 Are-we-friendly question received 14:53:33.693185 Wrote request (93 bytes) input to log/24/server.input 14:53:33.693203 Identifying ourselves as friends 14:53:33.693287 Response sent (56 bytes) and written to log/24/server.response 14:53:33.693299 special request received, no persistency 14:53:33.693309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 37280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 452 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind452 ==100182== ==100182== Process terminating with default action of signal 4 (SIGILL) ==100182== Illegal opcode at address 0x4014B6F ==100182== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100182== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100182== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100182== by 0x4004266: main (tool_main.c:199) === End of file valgrind452 test 0454...[Variable using illegal function separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind454 ../src/curl -q --output log/21/curl454.out --include --trace-ascii log/21/trace454 --trace-time http://127.0.0.1:34037/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/21/stdout454 2> log/21/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/21/ dir after test 454 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind454 ../src/curl -q --output log/21/curl454.out --include --trace-ascii log/21/trace454 --trace-time http://127.0.0.1:34037/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/21/stdout454 2> log/21/stderr454 === End of file commands.log === Start of file http_server.log 14:53:33.695608 ====> Client connect 14:53:33.695643 accept_connection 3 returned 4 14:53:33.695661 accept_connection 3 returned 0 14:53:33.695677 Read 93 bytes 14:53:33.695689 Process 93 bytes request 14:53:33.695703 Got request: GET /verifiedserver HTTP/1.1 14:53:33.695714 Are-we-friendly question received 14:53:33.695740 Wrote request (93 bytes) input to log/21/server.input 14:53:33.695758 Identifying ourselves as friends 14:53:33.695813 Response sent (56 bytes) and written to log/21/server.response 14:53:33.695825 special request received, no persistency 14:53:33.695836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 51028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 454 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind454 ==100187== ==100187== Process terminating with default action of signal 4 (SIGILL) ==100187== Illegal opcode at address 0x4014B6F ==100187== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100187== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100187== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100187== by 0x4004266: main (tool_main.c:199) === End of file valgrind454 test 0453...[Variable output containing null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind453 ../src/curl -q --output log/23/curl453.out --include --trace-ascii log/23/trace453 --trace-time http://127.0.0.1:38851/453 --variable what@log/23/junk --expand-data "{{what}}" > log/23/stdout453 2> log/23/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/23/ dir after test 453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind453 ../src/curl -q --output log/23/curl453.out --include --trace-ascii log/23/trace453 --trace-time http://127.0.0.1:38851/453 --variable what@log/23/junk --expand-data "{{what}}" > log/23/stdout453 2> log/23/stderr453 === End of file commands.log === Start of file http_server.log 14:53:33.697395 ====> Client connect 14:53:33.697423 accept_connection 3 returned 4 14:53:33.697440 accept_connection 3 returned 0 14:53:33.697455 Read 93 bytes 14:53:33.697465 Process 93 bytes request 14:53:33.697478 Got request: GET /verifiedserver HTTP/1.1 14:53:33.697488 Are-we-friendly question received 14:53:33.697511 Wrote request (93 bytes) input to log/23/server.input 14:53:33.697528 Identifying ourselves as friends 14:53:33.697578 Response sent (56 bytes) and written to log/23/server.response 14:53:33.697589 special request received, no persistency 14:53:33.697599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind456 ../src/curl -q --output log/8/curl456.out --include --trace-ascii log/8/trace456 --trace-time http://127.0.0.1:37085/456 --variable what@log/8/junk --expand-data "{{what}}" > log/8/stdout456 2> log/8/stderr456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind457 ../src/curl -q --output log/4/curl457.out --include --trace-ascii log/4/trace457 --trace-time http://127.0.0.1:39793/457 --max-filesize 143 > log/4/stdout457 2> log/4/stderr457 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind458 ../src/curl -q --include --trace-ascii log/3/trace458 --trace-time http://127.0.0.1:46791/458 -K log/3/cmd > log/3/stdout458 2> log/3/stderr458 1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 453 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind453 ==100195== ==100195== Process terminating with default action of signal 4 (SIGILL) ==100195== Illegal opcode at address 0x4014B6F ==100195== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100195== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100195== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100195== by 0x4004266: main (tool_main.c:199) === End of file valgrind453 test 0455...[Variable using base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind455 ../src/curl -q --output log/19/curl455.out --include --trace-ascii log/19/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33805/{{moby:b64}}/{{what:64dec}}/455" > log/19/stdout455 2> log/19/stderr455 455: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind455 ../src/curl -q --output log/19/curl455.out --include --trace-ascii log/19/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33805/{{moby:b64}}/{{what:64dec}}/455" > log/19/stdout455 2> log/19/stderr455 === End of file commands.log === Start of file http_server.log 14:53:32.721866 ====> Client connect 14:53:32.721898 accept_connection 3 returned 4 14:53:32.721916 accept_connection 3 returned 0 14:53:32.721933 Read 93 bytes 14:53:32.721943 Process 93 bytes request 14:53:32.721955 Got request: GET /verifiedserver HTTP/1.1 14:53:32.721964 Are-we-friendly question received 14:53:32.721989 Wrote request (93 bytes) input to log/19/server.input 14:53:32.722006 Identifying ourselves as friends 14:53:32.722088 Response sent (56 bytes) and written to log/19/server.response 14:53:32.722102 special request received, no persistency 14:53:32.722112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind455 ==100349== ==100349== Process terminating with default action of signal 4 (SIGILL) ==100349== Illegal opcode at address 0x4014B6F ==100349== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100349== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100349== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100349== by 0x4004266: main (tool_main.c:199) === End of file valgrind455 test 0456...[Variable output starting with null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind456 ../src/curl -q --output log/8/curl456.out --include --trace-ascii log/8/trace456 --trace-time http://127.0.0.1:37085/456 --variable what@log/8/junk --expand-data "{{what}}" > log/8/stdout456 2> log/8/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/8/ dir after test 456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind456 ../src/curl -q --output log/8/curl456.out --include --trace-ascii log/8/trace456 --trace-time http://127.0.0.1:37085/456 --variable what@log/8/junk --expand-data "{{what}}" > log/8/stdout456 2> log/8/stderr456 === End of file commands.log === Start of file http_server.log 14:53:32.726384 ====> Client connect 14:53:32.726414 accept_connection 3 returned 4 14:53:32.726434 accept_connection 3 returned 0 14:53:32.726523 Read 93 bytes 14:53:32.726538 Process 93 bytes request 14:53:32.726550 Got request: GET /verifiedserver HTTP/1.1 14:53:32.726561 Are-we-friendly question received 14:53:32.726593 Wrote request (93 bytes) input to log/8/server.input 14:53:32.726612 Identifying ourselves as friends 14:53:32.726663 Response sent (56 bytes) and written to log/8/server.response 14:53:32.726675 special request received, no persistency 14:53:32.726685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file junk hello === End of file junk === Start of file server.cmd Testnum 456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind456 ==100364== ==100364== Process terminating with default action of signal 4 (SIGILL) ==100364== Illegal opcode at address 0x4014B6F ==100364== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100364== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100364== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100364== by 0x4004266: main (tool_main.c:199) === End of file valgrind456 test 0457...[chunked Transfer-Encoding with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind457 ../src/curl -q --output log/4/curl457.out --include --trace-ascii log/4/trace457 --trace-time http://127.0.0.1:39793/457 --max-filesize 143 > log/4/stdout457 2> log/4/stderr457 457: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 457 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind457 ../src/curl -q --output log/4/curl457.out --include --trace-ascii log/4/trace457 --trace-time http://127.0.0.1:39793/457 --max-filesize 143 > log/4/stdout457 2> log/4/stderr457 === End of file commands.log === Start of file http_server.log 14:53:33.726384 ====> Client connect 14:53:33.726421 accept_connection 3 returned 4 14:53:33.726442 accept_connection 3 returned 0 14:53:33.726458 Read 93 bytes 14:53:33.726470 Process 93 bytes request 14:53:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind460 ../src/curl -q --output log/20/curl460.out --include --trace-ascii log/20/trace460 --trace-time --expand-url > log/20/stdout460 2> log/20/stderr460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind462 ../src/curl -q --output log/6/curl462.out --include --trace-ascii log/6/trace462 --trace-time http://127.0.0.1:38791/462 -K log/6/cmd > log/6/stdout462 2> log/6/stderr462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind459 ../src/curl -q --output log/17/curl459.out --include --trace-ascii log/17/trace459 --trace-time http://127.0.0.1:45171/459 --config log/17/config --silent > log/17/stdout459 2> log/17/stderr459 3.726483 Got request: GET /verifiedserver HTTP/1.1 14:53:33.726494 Are-we-friendly question received 14:53:33.726520 Wrote request (93 bytes) input to log/4/server.input 14:53:33.726543 Identifying ourselves as friends 14:53:33.726608 Response sent (56 bytes) and written to log/4/server.response 14:53:33.726620 special request received, no persistency 14:53:33.726631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind457 ==100390== ==100390== Process terminating with default action of signal 4 (SIGILL) ==100390== Illegal opcode at address 0x4014B6F ==100390== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100390== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100390== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100390== by 0x4004266: main (tool_main.c:199) === End of file valgrind457 setenv FUNVALUE = contents458 setenv VALUE2 = curl test 0458...[variable expand the file name with --expand-output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind458 ../src/curl -q --include --trace-ascii log/3/trace458 --trace-time http://127.0.0.1:46791/458 -K log/3/cmd > log/3/stdout458 2> log/3/stderr458 458: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/3/{{FUNVALUE}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind458 ../src/curl -q --include --trace-ascii log/3/trace458 --trace-time http://127.0.0.1:46791/458 -K log/3/cmd > log/3/stdout458 2> log/3/stderr458 === End of file commands.log === Start of file http_server.log 14:53:33.771055 ====> Client connect 14:53:33.771096 accept_connection 3 returned 4 14:53:33.771119 accept_connection 3 returned 0 14:53:33.771140 Read 93 bytes 14:53:33.771154 Process 93 bytes request 14:53:33.771173 Got request: GET /verifiedserver HTTP/1.1 14:53:33.771185 Are-we-friendly question received 14:53:33.771216 Wrote request (93 bytes) input to log/3/server.input 14:53:33.771237 Identifying ourselves as friends 14:53:33.771301 Response sent (56 bytes) and written to log/3/server.response 14:53:33.771315 special request received, no persistency 14:53:33.771326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind458 ==100535== ==100535== Process terminating with default action of signal 4 (SIGILL) ==100535== Illegal opcode at address 0x4014B6F ==100535== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100535== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100535== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100535== by 0x4004266: main (tool_main.c:199) === End of file valgrind458 test 0460...[try --expand without an argument] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind460 ../src/curl -q --output log/20/curl460.out --include --trace-ascii log/20/trace460 --trace-time --expand-url > log/20/stdout460 2> log/20/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/20/ dir after test 460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind460 ../src/curl -q --output log/20/curl460.out --include --trace-ascii log/20/trace460 --trace-time --expand-url > log/20/stdout460 2> log/20/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==100675== ==100675== Process terminating with default action of signal 4 (SIGILL) ==100675== Illegal opcode at address 0x4014B6F ==100675== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100675== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100675== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100675== by 0x4004266: main (tool_main.c:199) === End of file valgrind460 test 0462...[Missing environment variables in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind462 ../src/curl -q --output log/6/curl462.out --include --trace-ascii log/6/trace462 --trace-time http://127.0.0.1:38791/462 -K log/6/cmd > log/6/stdout462 2> log/6/stderr462 curl returned 132, when expecting 26 462: exit FAILED == Contents of files in the log/6/ dir after test 462 === Start of file cmd variable %MISSING expand-data {{MISSING}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind462 ../src/curl -q --output log/6/curl462.out --include --trace-ascii log/6/trace462 --trace-time http://127.0.0.1:38791/462 -K log/6/cmd > log/6/stdout462 2> log/6/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==100711== ==100711== Process terminating with default action of signal 4 (SIGILL) ==100711== Illegal opcode at address 0x4014B6F ==100711== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100711== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100711== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100711== by 0x4004266: main (tool_main.c:199) === End of file valgrind462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind461 ../src/curl -q --output log/13/curl461.out --include --trace-ascii log/13/trace461 --trace-time http://127.0.0.1:41533/461 -H host: > log/13/stdout461 2> log/13/stderr461 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind463 ../src/curl -q --output log/18/curl463.out --include --trace-ascii log/18/trace463 --trace-time -d @log/18/input463 http://127.0.0.1:43297/463 > log/18/stdout463 2> log/18/stderr463 test 0459...[config file with argument using whitespace missing quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind459 ../src/curl -q --output log/17/curl459.out --include --trace-ascii log/17/trace459 --trace-time http://127.0.0.1:45171/459 --config log/17/config --silent > log/17/stdout459 2> log/17/stderr459 459: stderr FAILED: --- log/17/check-expected 2025-09-11 14:53:34.932197380 +0000 +++ log/17/check-generated 2025-09-11 14:53:34.928864047 +0000 @@ -1,2 +0,0 @@ -Warning: log/17/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] -Warning: cause side-effects. Consider double quotes.[CR][LF] == Contents of files in the log/17/ dir after test 459 === Start of file check-expected Warning: log/17/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] Warning: cause side-effects. Consider double quotes.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind459 ../src/curl -q --output log/17/curl459.out --include --trace-ascii log/17/trace459 --trace-time http://127.0.0.1:45171/459 --config log/17/config --silent > log/17/stdout459 2> log/17/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 14:53:33.956359 ====> Client connect 14:53:33.956397 accept_connection 3 returned 4 14:53:33.956414 accept_connection 3 returned 0 14:53:33.956431 Read 93 bytes 14:53:33.956443 Process 93 bytes request 14:53:33.956459 Got request: GET /verifiedserver HTTP/1.1 14:53:33.956469 Are-we-friendly question received 14:53:33.956499 Wrote request (93 bytes) input to log/17/server.input 14:53:33.956518 Identifying ourselves as friends 14:53:33.956575 Response sent (56 bytes) and written to log/17/server.response 14:53:33.956586 special request received, no persistency 14:53:33.956596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 459 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind459 ==100668== ==100668== Process terminating with default action of signal 4 (SIGILL) ==100668== Illegal opcode at address 0x4014B6F ==100668== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100668== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100668== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100668== by 0x4004266: main (tool_main.c:199) === End of file valgrind459 test 0461...[disable Host: when specified as lower case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind461 ../src/curl -q --output log/13/curl461.out --include --trace-ascii log/13/trace461 --trace-time http://127.0.0.1:41533/461 -H host: > log/13/stdout461 2> log/13/stderr461 461: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 461 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind461 ../src/curl -q --output log/13/curl461.out --include --trace-ascii log/13/trace461 --trace-time http://127.0.0.1:41533/461 -H host: > log/13/stdout461 2> log/13/stderr461 === End of file commands.log === Start of file http_server.log 14:53:33.989604 ====> Client connect 14:53:33.989640 accept_connection 3 returned 4 14:53:33.989665 accept_connection 3 returned 0 14:53:33.989683 Read 93 bytes 14:53:33.989694 Process 93 bytes request 14:53:33.989708 Got request: GET /verifiedserver HTTP/1.1 14:53:33.989719 Are-we-friendly question received 14:53:33.989747 Wrote request (93 bytes) input to log/13/server.input 14:53:33.989766 Identifying ourselves as friends 14:53:33.989823 Response sent (56 bytes) and written to log/13/server.response 14:53:33.989835 special request received, no persistency 14:53:33.989845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 461 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind461 ==100766== ==100766== Process terminating with default action of signal 4 (SIGILL) ==100766== Illegal opcode at address 0x4014B6F ==100766== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100766== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100766== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100766== by 0x4004266: main (tool_main.c:199) === End of file valgrind461 test 0463...[HTTP with -d @file with file containing CR, LF and null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind463 ../src/curl -q --output log/18/curl463.out --include --trace-ascii log/18/trace463 --trace-time -d @log/18/input463 http://127.0.0.1:43297/463 > log/18/stdout463 2> log/18/stderr463 463: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 463 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind463 ../src/curl -q --output log/18/curl463.out --include --trace-ascii log/18/trace463 --trace-time -d @log/18/input463 http://127.0.0.1:43297/463 > log/18/stdout463 2> log/18/stderr463 === End of file commands.log === Start of file http_server.log 14:53:33.996179 ====> Client connect 14:53:33.996549 accept_connection 3 returned 4 14:53:33.996569 accept_connection 3 returned 0 14:53:33.996586 Read 93 bytes 14:53:33.996598 Process 93 bytes request 14:53:33.996612 Got request: GET /verifiedserver HTTP/1.1 14:53:33.996623 Are-we-friendly question received 14:53:33.996651 Wrote request (93 bytes) input to log/18/server.input 14:53:33.996670 Identifying ourselves as friends 14:53:33.996739 Response sent (56 bytes) and written to log/18/server.response 14:53:33.996751 special request received, no persistency 14:53:33.996762 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 57114 * using HTTP/1.x > GET /CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind467 ../src/curl -q --output log/14/curl467.out --include --trace-ascii log/14/trace467 --trace-time curl -v http://example.com > log/14/stdout467 2> log/14/stderr467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind470 ../src/curl -q --output log/12/curl470.out --include --trace-ascii log/12/trace470 --trace-time 127.0.0.1:43359 --no-progress-meter -K "log/12/input470" > log/12/stdout470 2> log/12/stderr470 verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file input463 one two three fourfive === End of file input463 === Start of file server.cmd Testnum 463 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind463 ==100782== ==100782== Process terminating with default action of signal 4 (SIGILL) ==100782== Illegal opcode at address 0x4014B6F ==100782== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100782== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100782== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100782== by 0x4004266: main (tool_main.c:199) === End of file valgrind463 test 0467...[use a bad short option letter that does not exist (after one does exist)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind467 ../src/curl -q --output log/14/curl467.out --include --trace-ascii log/14/trace467 --trace-time curl -v http://example.com > log/14/stdout467 2> log/14/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/14/ dir after test 467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind467 ../src/curl -q --output log/14/curl467.out --include --trace-ascii log/14/trace467 --trace-time curl -v http://example.com > log/14/stdout467 2> log/14/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==100962== ==100962== Process terminating with default action of signal 4 (SIGILL) ==100962== Illegal opcode at address 0x4014B6F ==100962== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==100962== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==100962== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==100962== by 0x4004266: main (tool_main.c:199) === End of file valgrind467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind469 ../src/curl -q --output log/11/curl469.out --include --trace-ascii log/11/trace469 --trace-time -H “host: 127.0.0.1:33503/“ -s > log/11/stdout469 2> log/11/stderr469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:44029/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 test 0470...[warn about Unicode quote character read from config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind470 ../src/curl -q --output log/12/curl470.out --include --trace-ascii log/12/trace470 --trace-time 127.0.0.1:43359 --no-progress-meter -K "log/12/input470" > log/12/stdout470 2> log/12/stderr470 470: stderr FAILED: --- log/12/check-expected 2025-09-11 14:53:35.035530715 +0000 +++ log/12/check-generated 2025-09-11 14:53:35.035530715 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] -Warning: ASCII was intended?[CR][LF] == Contents of files in the log/12/ dir after test 470 === Start of file check-expected Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] Warning: ASCII was intended?[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind470 ../src/curl -q --output log/12/curl470.out --include --trace-ascii log/12/trace470 --trace-time 127.0.0.1:43359 --no-progress-meter -K "log/12/input470" > log/12/stdout470 2> log/12/stderr470 === End of file commands.log === Start of file http_server.log 14:53:34.096560 ====> Client connect 14:53:34.096601 accept_connection 3 returned 4 14:53:34.096622 accept_connection 3 returned 0 14:53:34.096642 Read 93 bytes 14:53:34.096655 Process 93 bytes request 14:53:34.096672 Got request: GET /verifiedserver HTTP/1.1 14:53:34.096683 Are-we-friendly question received 14:53:34.096709 Wrote request (93 bytes) input to log/12/server.input 14:53:34.096728 Identifying ourselves as friends 14:53:34.096803 Response sent (56 bytes) and written to log/12/server.response 14:53:34.096815 special request received, no persistency 14:53:34.096826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 39604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file input470 -H “host:fake” === End of file input470 === Start of file server.cmd Testnum 470 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind470 ==101040== ==101040== Process terminating with default action of signal 4 (SIGILL) ==101040== Illegal opcode at address 0x4014B6F ==101040== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101040== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101040== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101040== by 0x4004266: main (tool_main.c:199) === End of file valgrind470 test 0469...[warn about Unicode quote character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind469 ../src/curl -q --output log/11/curl469.out --include --trace-ascii log/11/trace469 --trace-time -H “host: 127.0.0.1:33503/“ -s > log/11/stdout469 2> log/11/stderr469 469: stderr FAILED: --- log/11/check-expected 2025-09-11 14:53:35.042197382 +0000 +++ log/11/check-generated 2025-09-11 14:53:35.042197382 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] -Warning: was intended?[LF] == Contents of files in the log/11/ dir after test 469 === Start of file check-expected Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] Warning: was intended?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind469 ../src/curl -q --output log/11/curl469.out --include --trace-ascii log/11/trace469 --trace-time -H “host: 127.0.0.1:33503/“ -s > log/11/stdout469 2> log/11/stderr469 === End of file commands.log === Start of file http_server.log 14:53:34.093071 ====> Client connect 14:53:34.093109 accept_connection 3 returned 4 14:53:34.093128 accept_connection 3 returned 0 14:53:34.093146 Read 93 bytes 14:53:34.093158 Process 93 bytes request 14:53:34.093173 Got request: GET /verifiedserver HTTP/1.1 14:53:34.093184 Are-we-friendly question received 14:53:34.093211 Wrote request (93 bytes) input to log/11/server.input 14:53:34.093231 Identifying ourselves as friends 14:53:34.093281 Response sent (56 bytes) and written to log/11/server.response 14:53:34.093293 special request received, no persistency 14:53:34.093304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 469 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind469 ==101031== ==101031== Process terminating with default action of signal 4 (SIGILL) ==101031== Illegal opcode at address 0x4014B6F ==101031== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101031== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101031== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101031== by 0x4004266: main (tool_main.c:199) === End of file valgrind469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind473 ../src/curl -q --output log/16/curl473.out --include --trace-ascii log/16/trace473 --trace-time http://127.0.0.1:34475/473 --etag-save log/16/etag473 > log/16/stdout473 2> log/16/stderr473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:37587/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 test 0468...[set -w in config, then reset -w to blank on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:44029/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 468: stdout FAILED: --- log/1/check-expected 2025-09-11 14:53:35.045530715 +0000 +++ log/1/check-generated 2025-09-11 14:53:35.045530715 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/1/ dir after test 468 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file cmd468 -w "output\n" === End of file cmd468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:44029/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 === End of file commands.log === Start of file http_server.log 14:53:34.085039 ====> Client connect 14:53:34.085077 accept_connection 3 returned 4 14:53:34.085096 accept_connection 3 returned 0 14:53:34.085113 Read 93 bytes 14:53:34.085125 Process 93 bytes request 14:53:34.085140 Got request: GET /verifiedserver HTTP/1.1 14:53:34.085151 Are-we-friendly question received 14:53:34.085177 Wrote request (93 bytes) input to log/1/server.input 14:53:34.085197 Identifying ourselves as friends 14:53:34.085263 Response sent (56 bytes) and written to log/1/server.response 14:53:34.085275 special request received, no persistency 14:53:34.085286 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 33982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind468 ==101024== ==101024== Process terminating with default action of signal 4 (SIGILL) ==101024== Illegal opcode at address 0x4014B6F ==101024== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101024== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101024== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101024== by 0x4004266: main (tool_main.c:199) === End of file valgrind468 test 0473...[Check if --etag-save saved correct etag to a file on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind473 ../src/curl -q --output log/16/curl473.out --include --trace-ascii log/16/trace473 --trace-time http://127.0.0.1:34475/473 --etag-save log/16/etag473 > log/16/stdout473 2> log/16/stderr473 473: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind473 ../src/curl -q --output log/16/curl473.out --include --trace-ascii log/16/trace473 --trace-time http://127.0.0.1:34475/473 --etag-save log/16/etag473 > log/16/stdout473 2> log/16/stderr473 === End of file commands.log === Start of file http_server.log 14:53:34.344914 ====> Client connect 14:53:34.344951 accept_connection 3 returned 4 14:53:34.344970 accept_connection 3 returned 0 14:53:34.344986 Read 93 bytes 14:53:34.344998 Process 93 bytes request 14:53:34.345014 Got request: GET /verifiedserver HTTP/1.1 14:53:34.345025 Are-we-friendly question received 14:53:34.345051 Wrote request (93 bytes) input to log/16/server.input 14:53:34.345071 Identifying ourselves as friends 14:53:34.345127 Response sent (56 bytes) and written to log/16/server.response 14:53:34.345139 special request received, no persistency 14:53:34.345150 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 45456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind473 ==101280== ==101280== Process terminating with default action of signal 4 (SIGILL) ==101280== Illegal opcode at address 0x4014B6F ==101280== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101280== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101280== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101280== by 0x4004266: main (tool_main.c:199) === End of file valgrind473 test 0471...[Reject HTTP/1.1 to HTTP/2 switch on the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:37587/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 471: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 471 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:37587/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 === End of file commands.log === Start of file http_server.log 14:53:34.330291 ====> Client connect 14:53:34.330331 accept_connection 3 returned 4 14:53:34.330351 accept_connection 3 returned 0 14:53:34.330369 Read 93 bytes 14:53:34.330381 Process 93 bytes request 14:53:34.330395 Got request: GET /verifiedserver HTTP/1.1 14:53:34.330406 Are-we-friendly question received 14:53:34.330430 Wrote request (93 bytes) input to log/2/server.input 14:53:34.330447 Identifying ourselves as friends 14:53:34.330520 Response sent (56 bytes) and written to log/2/server.response 14:53:34.330531 special request received, no persistency 14:53:34.330541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === SCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind477 ../src/curl -q --output log/22/curl477.out --include --trace-ascii log/22/trace477 --trace-time http://127.0.0.1:42027/477 --max-filesize 5 -L > log/22/stdout477 2> log/22/stderr477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind475 ../src/curl -q --output log/5/curl475.out --include --trace-ascii log/5/trace475 --trace-time "ftp://127.0.0.1:32907/475;type=a" -T log/5/test475.txt > log/5/stdout475 2> log/5/stderr475 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind476 ../src/curl -q --output log/7/curl476.out --include --trace-ascii log/7/trace476 --trace-time "ftp://127.0.0.1:37495/476;type=a" -T log/7/test476.txt > log/7/stdout476 2> log/7/stderr476 tart of file server.cmd Testnum 471 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind471 ==101259== ==101259== Process terminating with default action of signal 4 (SIGILL) ==101259== Illegal opcode at address 0x4014B6F ==101259== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101259== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101259== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101259== by 0x4004266: main (tool_main.c:199) === End of file valgrind471 test 0477...[HTTP GET with maximum filesize with a redirect sending data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind477 ../src/curl -q --output log/22/curl477.out --include --trace-ascii log/22/trace477 --trace-time http://127.0.0.1:42027/477 --max-filesize 5 -L > log/22/stdout477 2> log/22/stderr477 477: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 477 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind477 ../src/curl -q --output log/22/curl477.out --include --trace-ascii log/22/trace477 --trace-time http://127.0.0.1:42027/477 --max-filesize 5 -L > log/22/stdout477 2> log/22/stderr477 === End of file commands.log === Start of file http_server.log 14:53:34.481446 ====> Client connect 14:53:34.481481 accept_connection 3 returned 4 14:53:34.481500 accept_connection 3 returned 0 14:53:34.481516 Read 93 bytes 14:53:34.481528 Process 93 bytes request 14:53:34.481542 Got request: GET /verifiedserver HTTP/1.1 14:53:34.481553 Are-we-friendly question received 14:53:34.481580 Wrote request (93 bytes) input to log/22/server.input 14:53:34.481599 Identifying ourselves as friends 14:53:34.481656 Response sent (56 bytes) and written to log/22/server.response 14:53:34.481669 special request received, no persistency 14:53:34.481680 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 43826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 477 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind477 ==101425== ==101425== Process terminating with default action of signal 4 (SIGILL) ==101425== Illegal opcode at address 0x4014B6F ==101425== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101425== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101425== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101425== by 0x4004266: main (tool_main.c:199) === End of file valgrind477 test 0475...[FTP PASV upload ASCII file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind475 ../src/curl -q --output log/5/curl475.out --include --trace-ascii log/5/trace475 --trace-time "ftp://127.0.0.1:32907/475;type=a" -T log/5/test475.txt > log/5/stdout475 2> log/5/stderr475 475: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind475 ../src/curl -q --output log/5/curl475.out --include --trace-ascii log/5/trace475 --trace-time "ftp://127.0.0.1:32907/475;type=a" -T log/5/test475.txt > log/5/stdout475 2> log/5/stderr475 === End of file commands.log === Start of file ftp_server.log 14:53:34.302385 ====> Client connect 14:53:34.302545 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:34.302850 < "USER anonymous" 14:53:34.302882 > "331 We are happy you popped in![CR][LF]" 14:53:34.303045 < "PASS ftp@example.com" 14:53:34.303072 > "230 Welcome you silly person[CR][LF]" 14:53:34.303222 < "PWD" 14:53:34.303252 > "257 "/" is current directory[CR][LF]" 14:53:34.303410 < "EPSV" 14:53:34.303433 ====> Passive DATA channel requested by client 14:53:34.303447 DATA sockfilt for passive data channel starting... 14:53:34.306614 DATA sockfilt for passive data channel started (pid 101356) 14:53:34.306786 DATA sockfilt for passive data channel listens on port 36007 14:53:34.306834 > "229 Entering Passive Mode (|||36007|)[LF]" 14:53:34.306855 Client has been notified that DATA conn will be accepted on port 36007 14:53:34.307155 Client connects to port 36007 14:53:34.307194 ====> Client established passive DATA connection on port 36007 14:53:34.307276 < "TYPE I" 14:53:34.307304 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:34.307503 < "SIZE verifiedserver" 14:53:34.307545 > "213 17[CR][LF]" 14:53:34.307714 < "RETR verifiedserver" 14:53:34.307749 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:34.307841 =====> Closing passive DATA connection... 14:53:34.307857 Server disconnects passive DATA connection 14:53:34.308115 Server disconnected passive DATA connection 14:53:34.308145 DATA sockfilt for passive data channel quits (pid 101356) 14:53:34.308469 DATA sockfilt for passive data channel quit (pid 101356) 14:53:34.308495 =====> Closed passive DATA connection 14:53:34.308525 > "226 File transfer complete[CR][LF]" 14:53:34.357055 < "QUIT" 14:53:34.357110 > "221 bye bye baby[CR][LF]" 14:53:34.358920 MAIN sockfilt said DISC 14:53:34.358951 ====> Client disconnected 14:53:34.359012 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:34.385080 ====> Client connect 14:53:34.385373 Received DATA (on stdin) 14:53:34.385388 > 160 bytes data, server => client 14:53:34.385402 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:34.385415 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:34.385426 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:34.385524 < 16 bytes data, client => server 14:53:34.385538 'USER anonymous\r\n' 14:53:34.385701 Received DATA (on stdin) 14:53:34.385714 > 33 bytes data, server => client 14:53:34.385727 '331 We are happy you popped in!\r\n' 14:53:34.385777 < 22 bytes data, client => server 14:53:34.385790 'PASS ftp@example.com\r\n' 14:53:34.385888 Received DATA (on stdin) 14:53:34.385901 > 30 bytes data, server => client 14:53:34.385912 '230 Welcome you silly person\r\n' 14:53:34.385959 < 5 bytes data, client => server 14:53:34.385970 'PWD\r\n' 14:53:34.386068 Received DATA (on stdin) 14:53:34.386080 > 30 bytes data, server => client 14:53:34.386092 '257 "/" is current directory\r\n' 14:53:34.386147 < 6 bytes data, client => server 14:53:34.386159 'EPSV\r\n' 14:53:34.389712 Received DATA (on stdin) 14:53:34.389728 > 38 bytes data, server => client 14:53:34.389741 '229 Entering Passive Mode (|||36007|)\n' 14:53:34.389862 < 8 bytes data, client => server 14:53:34.389879 'TYPE I\r\n' 14:53:34.390122 Received DATA (on stdin) 14:53:34.390137 > 33 bytes data, server => client 14:53:34.390149 '200 I modify TYPE as you wanted\r\n' 14:53:34.390227 < 21 bytes data, client => server 14:53:34.390242 'SIZE verifiedserver\r\n' 14:53:34.390363 Received DATA (on stdin) 14:53:34.390376 > 8 bytes data, server => client 14:53:34.390388 '213 17\r\n' 14:53:34.390440 < 21 bytes data, client => server 14:53:34.390454 'RETR verifiedserver\r\n' 14:53:34.390678 Received DATA (on stdin) 14:53:34.390692 > 29 bytes data, server => client 14:53:34.390705 '150 Binary junk (17 bytes).\r\n' 14:53:34.391344 Received DATA (on stdin) 14:53:34.391359 > 28 bytes data, server => client 14:53:34.391372 '226 File transfer complete\r\n' 14:53:34.439695 < 6 bytes data, client => server 14:53:34.439727 'QUIT\r\n' 14:53:34.439932 Received DATA (on stdin) 14:53:34.439946 > 18 bytes data, server => client 14:53:34.439959 '221 bye bye baby\r\n' 14:53:34.441683 ====> Client disconnect 14:53:34.441829 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:34.388357 Running IPv4 version 14:53:34.388429 Listening on port 36007 14:53:34.388467 Wrote pid 101356 to log/5/server/ftp_sockdata.pid 14:53:34.389354 Received PING (on stdin) 14:53:34.389499 Received PORT (on stdin) 14:53:34.389902 ====> Client connect 14:53:34.390735 Received DATA (on stdin) 14:53:34.390749 > 17 bytes data, server => client 14:53:34.390761 'WE ROOLZ: 80255\r\n' 14:53:34.390787 Received DISC (on stdin) 14:53:34.390801 ====> Client forcibly disconnected 14:53:34.390975 Received QUIT (on stdin) 14:53:34.390989 quits 14:53:34.391081 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 475 === End of file server.cmd === Start of file test475.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test475.txt === Start of file valgrind475 ==101473== ==101473== Process terminating with default action of signal 4 (SIGILL) ==101473== Illegal opcode at address 0x4014B6F ==101473== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101473== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101473== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101473== by 0x4004266: main (tool_main.c:199) === End of file valgrind475 test 0476...[FTP PASV upload ASCII file already using CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind476 ../src/curl -q --output log/7/curl476.out --include --trace-ascii log/7/trace476 --trace-time "ftp://127.0.0.1:37495/476;type=a" -T log/7/test476.txt > log/7/stdout476 2> log/7/stderr476 476: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind476 ../src/curl -q --output log/7/curl476.out --include --trace-ascii log/7/trace476 --trace-time "ftp://127.0.0.1:37495/476;type=a" -T log/7/test476.txt > log/7/stdout476 2> log/7/stderr476 === End of file commands.log === Start of file ftp_server.log 14:53:34.382719 ====> Client connect 14:53:34.382883 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:34.383424 < "USER anonymous" 14:53:34.383468 > "331 We are happy you popped in![CR][LF]" 14:53:34.384585 < "PASS ftp@example.com" 14:53:34.384617 > "230 Welcome you silly person[CR][LF]" 14:53:34.384796 < "PWD" 14:53:34.384831 > "257 "/" is current directory[CR][LF]" 14:53:34.385015 < "EPSV" 14:53:34.385042 ====> Passive DATA channel requested by client 14:53:34.385057 DATA sockfilt for passive data channel starting... 14:53:34.386636 DATA sockfilt for passive data channel started (pid 101409) 14:53:34.386734 DATA sockfilt for passive data channel listens on port 34211 14:53:34.386767 > "229 Entering Passive Mode (|||34211|)[LF]" 14:53:34.386785 Client has been notified that DATA conn will be accepted on port 34211 14:53:34.387072 Client connects to port 34211 14:53:34.387103 ====> Client established passive DATA connection on port 34211 14:53:34.387185 < "TYPE I" 14:53:34.387213 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:34.387382 < "SIZE verifiedserver" 14:53:34.387415 > "213 17[CR][LF]" 14:53:34.387564 < "RETR verifiedserver" 14:53:34.387595 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:34.387680 =====> Closing passive DATA connection... 14:53:34.387696 Server disconnects passive DATA connection 14:53:34.387939 Server disconnected passive DATA connection 14:53:34.387965 DATA sockfilt for passive data channel quits (pid 101409) 14:53:34.388175 DATA sockfilt for passive data channel quit (pid 101409) 14:53:34.388197 =====> Closed passive DATA connection 14:53:34.388221 > "226 File transfer complete[CR][LF]" 14:53:34.433879 < "QUIT" 14:53:34.433929 > "221 bye bye baby[CR][LF]" 14:53:34.442209 MAIN sockfilt said DISC 14:53:34.442260 ====> Client disconnected 14:53:34.442332 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:33.465410 ====> Client connect 14:53:33.465933 Received DATA (on stdin) 14:53:33.465959 > 160 bytes data, server => client 14:53:33.465975 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:33.465988 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:33.466000 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:33.466085 < 16 bytes data, client => server 14:53:33.466103 'USER anonymous\r\n' 14:53:33.466294 Received DATA (on stdin) 14:53:33.466309 > 33 bytes data, server => client 14:53:33.466321 '331 We are happy you popped in!\r\n' 14:53:33.467293 < 22 bytes data, client => server 14:53:33.467313 'PASS ftp@example.com\r\n' 14:53:33.467438 Received DATA (on stdin) 14:53:33.467452 > 30 bytes data, server => client 14:53:33.467464 '230 Welcome you silly person\r\n' 14:53:33.467518 < 5 bytes data, client => server 14:53:33.467533 'PWD\r\n' 14:53:33.467651 Received DATA (on stdin) 14:53:33.467664 > 30 bytes data, server => client 14:53:33.467677 '257 "/" is current directory\r\n' 14:53:33.467739 < 6 bytes data, client => server 14:53:33.467754 'EPSV\r\n' 14:53:33.469603 Received DATA (on stdin) 14:53:33.469615 > 38 bytes data, server => client 14:53:33.469626 '229 Entering Passive Mode (|||34211|)\n' 14:53:33.469809 < 8 bytes data, client => server 14:53:33.469834 'TYPE I\r\n' 14:53:33.470031 Received DATA (on stdin) 14:53:33.470044 > 33 bytes data, server => client 14:53:33.470057 '200 I modify TYPE as you wanted\r\n' 14:53:33.470116 < 21 bytes data, client => server 14:53:33.470128 'SIZE verifiedserver\r\n' 14:53:33.470231 Received DATA (on stdin) 14:53:33.470243 > 8 bytes data, server => client 14:53:33.470255 '213 17\r\n' 14:53:33.470301 < 21 bytes data, client => server 14:53:33.470313 'RETR verifiedserver\r\n' 14:53:33.470514 Received DATA (on stdin) 14:53:33.470526 > 29 bytes data, server => client 14:53:33.470538 '150 Binary junk (17 bytes).\r\n' 14:53:33.471038 Received DATA (on stdin) 14:53:33.471052 > 28 bytes data, server => client 14:53:33.471064 '226 File transfer complete\r\n' 14:53:33.516519 < 6 bytes data, client => server 14:53:33.516550 'QUIT\r\n' 14:53:33.516750 Received DATA (on stdin) 14:53:33.516763 > 18 bytes data, server => client 14:53:33.516775 '221 bye bye baby\r\n' 14:53:33.524955 ====> Client disconnect 14:53:33.525152 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:34.469282 Running IPv4 version 14:53:34.469337 Listening on port 34211 14:53:34.469375 Wrote pid 101409 to log/7/server/ftp_sockdata.pid 14:53:34.469395 Received PING (on stdin) 14:53:34.469473 Received PORT (on stdin) 14:53:34.469752 ====> Client connect 14:53:34.470564 Received DATA (on stdin) 14:53:34.470579 > 17 bytes data, server => client 14:53:34.470591 'WE ROOLZ: 80245\r\n' 14:53:34.470616 Received DISC (on stdin) 14:53:34.470628 ====> Client forcibly disconnected 14:53:34.470788 Received QUIT (on stdin) 14:53:34.470801 quits 14:53:34.470859 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 476 === End of file server.cmd === Start of file test476.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of texCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind478 ../src/curl -q --output log/9/curl478.out --include --trace-ascii log/9/trace478 --trace-time --netrc --netrc-file log/9/netrc478 -x http://127.0.0.1:34345/ http://debbie@github.com/ > log/9/stdout478 2> log/9/stderr478 t used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test476.txt === Start of file valgrind476 ==101512== ==101512== Process terminating with default action of signal 4 (SIGILL) ==101512== Illegal opcode at address 0x4014B6F ==101512== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101512== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101512== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101512== by 0x4004266: main (tool_main.c:199) === End of file valgrind476 test 0478...[.netrc with multiple accounts for same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind478 ../src/curl -q --output log/9/curl478.out --include --trace-ascii log/9/trace478 --trace-time --netrc --netrc-file log/9/netrc478 -x http://127.0.0.1:34345/ http://debbie@github.com/ > log/9/stdout478 2> log/9/stderr478 478: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 478 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind478 ../src/curl -q --output log/9/curl478.out --include --trace-ascii log/9/trace478 --trace-time --netrc --netrc-file log/9/netrc478 -x http://127.0.0.1:34345/ http://debbie@github.com/ > log/9/stdout478 2> log/9/stderr478 === End of file commands.log === Start of file http_server.log 14:53:34.662089 ====> Client connect 14:53:34.662126 accept_connection 3 returned 4 14:53:34.662144 accept_connection 3 returned 0 14:53:34.662160 Read 93 bytes 14:53:34.662172 Process 93 bytes request 14:53:34.662186 Got request: GET /verifiedserver HTTP/1.1 14:53:34.662197 Are-we-friendly question received 14:53:34.662228 Wrote request (93 bytes) input to log/9/server.input 14:53:34.662245 Identifying ourselves as friends 14:53:34.662314 Response sent (56 bytes) and written to lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:42107/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind484 ../src/curl -q --output log/19/curl484.out --include --trace-ascii log/19/trace484 --trace-time http://example.com/484 --etag-compare log/19/etag484 --etag-save log/19/etag484 --url http://example.net/fooo > log/19/stdout484 2> log/19/stderr484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind481 ../src/curl -q --trace-ascii log/24/trace481 --trace-time http://127.0.0.1:34449/481 --no-clobber -C 1 -o "log/24/481" > log/24/stdout481 2> log/24/stderr481 og/9/server.response 14:53:34.662325 special request received, no persistency 14:53:34.662335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 58446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file netrc478 machine github.com password weird password firstone login daniel machine github.com machine github.com login debbie machine github.com password weird password "second\r" login debbie === End of file netrc478 === Start of file server.cmd Testnum 478 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind478 ==101625== ==101625== Process terminating with default action of signal 4 (SIGILL) ==101625== Illegal opcode at address 0x4014B6F ==101625== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101625== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101625== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101625== by 0x4004266: main (tool_main.c:199) === End of file valgrind478 test 0479...[.netrc with redirect and default without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:42107/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 479: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:42107/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 === End of file commands.log === Start of file http_server.log 14:53:34.670442 ====> Client connect 14:53:34.670468 accept_connection 3 returned 4 14:53:34.670482 accept_connection 3 returned 0 14:53:34.670494 Read 93 bytes 14:53:34.670503 Process 93 bytes request 14:53:34.670513 Got request: GET /verifiedserver HTTP/1.1 14:53:34.670521 Are-we-friendly question received 14:53:34.670540 Wrote request (93 bytes) input to log/15/server.input 14:53:34.670553 Identifying ourselves as friends 14:53:34.670595 Response sent (56 bytes) and written to log/15/server.response 14:53:34.670604 special request received, no persistency 14:53:34.670611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 54608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file netrc479 machine a.com login alice password alicespassword default login bob === End of file netrc479 === Start of file server.cmd Testnum 479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind479 ==101638== ==101638== Process terminating with default action of signal 4 (SIGILL) ==101638== Illegal opcode at address 0x4014B6F ==101638== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101638== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101638== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101638== by 0x4004266: main (tool_main.c:199) === End of file valgrind479 test 0484...[Use --etag-compare and -save with more than one URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind484 ../src/curl -q --output log/19/curl484.out --include --trace-ascii log/19/trace484 --trace-time http://example.com/484 --etag-compare log/19/etag484 --etag-save log/19/etag484 --url http://example.net/fooo > log/19/stdout484 2> log/19/stderr484 484: stderr FAILED: --- log/19/check-expected 2025-09-11 14:53:35.625530723 +0000 +++ log/19/check-generated 2025-09-11 14:53:35.625530723 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --url: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/19/ dir after test 484 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --url: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind484 ../src/curl -q --output log/19/curl484.out --include --trace-ascii log/19/trace484 --trace-time http://example.com/484 --etag-compare log/19/etag484 --etag-save log/19/etag484 --url http://example.net/fooo > log/19/stdout484 2> log/19/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==101771== ==101771== Process terminating with default action of signal 4 (SIGILL) ==101771== Illegal opcode at address 0x4014B6F ==101771== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101771== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101771== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101771== by 0x4004266: main (tool_main.c:199) === End of file valgrind484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind483 ../src/curl -q --output log/23/curl483.out --include --trace-ascii log/23/trace483 --trace-time http://127.0.0.1:38851/483 -c log/23/c483 > log/23/stdout483 2> log/23/stderr483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind482 ../src/curl -q --trace-ascii log/21/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/21/482" > log/21/stdout482 2> log/21/stderr482 test 0481...[--no-clobber with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind481 ../src/curl -q --trace-ascii log/24/trace481 --trace-time http://127.0.0.1:34449/481 --no-clobber -C 1 -o "log/24/481" > log/24/stdout481 2> log/24/stderr481 481: stderr FAILED: --- log/24/check-expected 2025-09-11 14:53:35.628864057 +0000 +++ log/24/check-generated 2025-09-11 14:53:35.628864057 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/24/ dir after test 481 === Start of file 481 initial content === End of file 481 === Start of file check-expected curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind481 ../src/curl -q --trace-ascii log/24/trace481 --trace-time http://127.0.0.1:34449/481 --no-clobber -C 1 -o "log/24/481" > log/24/stdout481 2> log/24/stderr481 === End of file commands.log === Start of file http_server.log 14:53:34.742588 ====> Client connect 14:53:34.742620 accept_connection 3 returned 4 14:53:34.742638 accept_connection 3 returned 0 14:53:34.742654 Read 93 bytes 14:53:34.742664 Process 93 bytes request 14:53:34.742676 Got request: GET /verifiedserver HTTP/1.1 14:53:34.742685 Are-we-friendly question received 14:53:34.742705 Wrote request (93 bytes) input to log/24/server.input 14:53:34.742719 Identifying ourselves as friends 14:53:34.742763 Response sent (56 bytes) and written to log/24/server.response 14:53:34.742772 special request received, no persistency 14:53:34.742780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 37282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind481 ==101787== ==101787== Process terminating with default action of signal 4 (SIGILL) ==101787== Illegal opcode at address 0x4014B6F ==101787== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101787== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101787== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101787== by 0x4004266: main (tool_main.c:199) === End of file valgrind481 test 0483...[HTTP cookies with long expire dates] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind483 ../src/curl -q --output log/23/curl483.out --include --trace-ascii log/23/trace483 --trace-time http://127.0.0.1:38851/483 -c log/23/c483 > log/23/stdout483 2> log/23/stderr483 483: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind483 ../src/curl -q --output log/23/curl483.out --include --trace-ascii log/23/trace483 --trace-time http://127.0.0.1:38851/483 -c log/23/c483 > log/23/stdout483 2> log/23/stderr483 === End of file commands.log === Start of file http_server.log 14:53:34.757015 ====> Client connect 14:53:34.757040 accept_connection 3 returned 4 14:53:34.757054 accept_connection 3 returned 0 14:53:34.757067 Read 93 bytes 14:53:34.757078 Process 93 bytes request 14:53:34.757092 Got request: GET /verifiedserver HTTP/1.1 14:53:34.757103 Are-we-friendly question received 14:53:34.757126 Wrote request (93 bytes) input to log/23/server.input 14:53:34.757144 Identifying ourselves as friends 14:53:34.757198 Response sent (56 bytes) and written to log/23/server.response 14:53:34.757209 special request received, no persistency 14:53:34.757220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 33764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind483 ==101833== ==101833== Process terminating with default action of signal 4 (SIGILL) ==101833== Illegal opcode at address 0x4014B6F ==101833== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101833== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101833== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101833== by 0x4004266: main (tool_main.c:199) === End of file valgrind483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 test 0482...[--remove-on-error with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind482 ../src/curl -q --trace-ascii log/21/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/21/482" > log/21/stdout482 2> log/21/stderr482 482: stderr FAILED: --- log/21/check-expected 2025-09-11 14:53:35.688864057 +0000 +++ log/21/check-generated 2025-09-11 14:53:35.688864057 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/21/ dir after test 482 === Start of file check-expected curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind482 ../src/curl -q --trace-ascii log/21/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/21/482" > log/21/stdout482 2> log/21/stderr482 === End of file commands.log === Start of file http_server.log 14:53:34.754779 ====> Client connect 14:53:34.754815 accept_connection 3 returned 4 14:53:34.754832 accept_connection 3 returned 0 14:53:34.754849 Read 93 bytes 14:53:34.754860 Process 93 bytes request 14:53:34.754874 Got request: GET /verifiedserver HTTP/1.1 14:53:34.754885 Are-we-friendly question received 14:53:34.754910 Wrote request (93 bytes) input to log/21/server.input 14:53:34.754928 Identifying ourselves as friends 14:53:34.754982 Response sent (56 bytes) and written to log/21/server.response 14:53:34.754993 special request received, no persistency 14:53:34.755003 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 51038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind482 ==101820== ==101820== Process terminating with default action of signal 4 (SIGILL) ==101820== Illegal opcode at address 0x4014B6F ==101820== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101820== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101820== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101820== by 0x4004266: main (tool_main.c:199) === End of file valgrind482 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind486 ../src/curl -q --output log/4/curl486.out --include --trace-ascii log/4/trace486 --trace-time --netrc --netrc-file log/4/netrc486 -L -x http://127.0.0.1:39793/ http://a.com/ > log/4/stdout486 2> log/4/stderr486 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind487 ../src/curl -q --output log/3/curl487.out --include --trace-ascii log/3/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46791/{{what:64dec}}/487" -g > log/3/stdout487 2> log/3/stderr487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 test 0485...[Use --etag-compare and -save with more than one URL, URLs specified first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 485: stderr FAILED: --- log/8/check-expected 2025-09-11 14:53:35.715530725 +0000 +++ log/8/check-generated 2025-09-11 14:53:35.715530725 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --etag-save: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/8/ dir after test 485 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --etag-save: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==101988== ==101988== Process terminating with default action of signal 4 (SIGILL) ==101988== Illegal opcode at address 0x4014B6F ==101988== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==101988== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==101988== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==101988== by 0x4004266: main (tool_main.c:199) === End of file valgrind485 test 0486...[.netrc with redirect and "default" with no password or login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind486 ../src/curl -q --output log/4/curl486.out --include --trace-ascii log/4/trace486 --trace-time --netrc --netrc-file log/4/netrc486 -L -x http://127.0.0.1:39793/ http://a.com/ > log/4/stdout486 2> log/4/stderr486 486: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 486 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind486 ../src/curl -q --output log/4/curl486.out --include --trace-ascii log/4/trace486 --trace-time --netrc --netrc-file log/4/netrc486 -L -x http://127.0.0.1:39793/ http://a.com/ > log/4/stdout486 2> log/4/stderr486 === End of file commands.log === Start of file http_server.log 14:53:34.841946 ====> Client connect 14:53:34.841985 accept_connection 3 returned 4 14:53:34.842004 accept_connection 3 returned 0 14:53:34.842021 Read 93 bytes 14:53:34.842032 Process 93 bytes request 14:53:34.842047 Got request: GET /verifiedserver HTTP/1.1 14:53:34.842058 Are-we-friendly question received 14:53:34.842084 Wrote request (93 bytes) input to log/4/server.input 14:53:34.842103 Identifying ourselves as friends 14:53:34.842160 Response sent (56 bytes) and written to log/4/server.response 14:53:34.842172 special request received, no persistency 14:53:34.842183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file netrc486 machine a.com login alice password alicespassword default === End of file netrc486 === Start of file server.cmd Testnum 486 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind486 ==102048== ==102048== Process terminating with default action of signal 4 (SIGILL) ==102048== Illegal opcode at address 0x4014B6F ==102048== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102048== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102048== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102048== by 0x4004266: main (tool_main.c:199) === End of file valgrind486 test 0487...[Variable using 64dec with bad base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind487 ../src/curl -q --output log/3/curl487.out --include --trace-ascii log/3/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46791/{{what:64dec}}/487" -g > log/3/stdout487 2> log/3/stderr487 487: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind487 ../src/curl -q --output log/3/curl487.out --include --trace-ascii log/3/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46791/{{what:64dec}}/487" -g > log/3/stdout487 2> log/3/stderr487 === End of file commands.log === Start of file http_server.log 14:53:34.843529 ====> Client connect 14:53:34.843563 accept_connection 3 returned 4 14:53:34.843582 accept_connection 3 returned 0 14:53:34.843598 Read 93 bytes 14:53:34.843610 Process 93 bytes request 14:53:34.843623 Got request: GET /verifiedserver HTTP/1.1 14:53:34.843635 Are-we-friendly question received 14:53:34.843661 Wrote request (93 bytes) input to log/3/server.input 14:53:34.843681 Identifying ourselves as friends 14:53:34.843741 Response sent (56 bytes) and written to log/3/server.response 14:53:34.843755 special request received, no persistency 14:53:34.843766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind487 ==102037== ==102037== Process terminating with default action of signal 4 (SIGILL) ==102037== Illegal opcode at address 0x4014B6F ==102037== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102037== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102037== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102037== by 0x4004266: main (tool_main.c:199) === End of file valgrind487 test 0488...[Download two URLs provided on stdin] ../libtoolCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind490 ../src/curl -q --output log/17/curl490.out --include --trace-ascii log/17/trace490 --trace-time http://127.0.0.1:45171/490 -T '{log/17/in490,log/17/in490}' > log/17/stdout490 2> log/17/stderr490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind489 ../src/curl -q --output log/6/curl489.out --include --trace-ascii log/6/trace489 --trace-time --output-dir log/6 --url @log/6/urls > log/6/stdout489 2> log/6/stderr489 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 488: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 488 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 === End of file commands.log === Start of file http_server.log 14:53:34.989505 ====> Client connect 14:53:34.989539 accept_connection 3 returned 4 14:53:34.989557 accept_connection 3 returned 0 14:53:34.989574 Read 93 bytes 14:53:34.989585 Process 93 bytes request 14:53:34.989601 Got request: GET /verifiedserver HTTP/1.1 14:53:34.989612 Are-we-friendly question received 14:53:34.989636 Wrote request (93 bytes) input to log/20/server.input 14:53:34.989654 Identifying ourselves as friends 14:53:34.989718 Response sent (56 bytes) and written to log/20/server.response 14:53:34.989730 special request received, no persistency 14:53:34.989741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 59070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 488 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:39569/a http://127.0.0.1:39569/b === End of file stdin-for-488 === Start of file valgrind488 ==102187== ==102187== Process terminating with default action of signal 4 (SIGILL) ==102187== Illegal opcode at address 0x4014B6F ==102187== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102187== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102187== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102187== by 0x4004266: main (tool_main.c:199) === End of file valgrind488 test 0489...[Download two URLs provided in a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind489 ../src/curl -q --output log/6/curl489.out --include --trace-ascii log/6/trace489 --trace-time --output-dir log/6 --url @log/6/urls > log/6/stdout489 2> log/6/stderr489 489: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 489 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind489 ../src/curl -q --output log/6/curl489.out --include --trace-ascii log/6/trace489 --trace-time --output-dir log/6 --url @log/6/urls > log/6/stdout489 2> log/6/stderr489 === End of file commands.log === Start of file http_server.log 14:53:35.025936 ====> Client connect 14:53:35.025969 accept_connection 3 returned 4 14:53:35.025987 accept_connection 3 returned 0 14:53:35.026122 Read 93 bytes 14:53:35.026139 Process 93 bytes request 14:53:35.026152 Got request: GET /verifiedserver HTTP/1.1 14:53:35.026162 Are-we-friendly question received 14:53:35.026192 Wrote request (93 bytes) input to log/6/server.input 14:53:35.026211 Identifying ourselves as friends 14:53:35.026263 Response sent (56 bytes) and written to log/6/server.response 14:53:35.026273 special request received, no persistency 14:53:35.026283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 35126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file urls http://127.0.0.1:38791/a http://127.0.0.1:38791/b === End of file urls === Start of file valgrind489 ==102269== ==102269== Process terminating with default action of signal 4 (SIGILL) ==102269== Illegal opcode at address 0x4014B6F ==102269== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102269== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102269== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102269== by 0x4004266: main (tool_main.c:199) === End of file valgrind489 test 0490...[Two globbed HTTP PUTs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind490 ../src/curl -q --output log/17/curl490.out --include --trace-ascii log/17/trace490 --trace-time http://127.0.0.1:45171/490 -T '{log/17/in490,log/17/in490}' > log/17/stdout490 2> log/17/stderr490 490: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 490 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind490 ../src/curl -q --output log/17/curl490.out --include --trace-ascii log/17/trace490 --trace-time http://127.0.0.1:45171/490 -T '{log/17/in490,log/17/in490}' > log/17/stdout490 2> log/17/stderr490 === End of file commands.log === Start of file http_server.log 14:53:35.041788 ====> Client connect 14:53:35.041822 accept_connection 3 returned 4 14:53:35.041839 accept_connection 3 returned 0 14:53:35.041855 Read 93 bytes 14:53:35.041866 Process 93 bytes request 14:53:35.041880 Got request: GET /verifiedserver HTTP/1.1 14:53:35.041890 Are-we-friendly question received 14:53:35.041916 Wrote request (93 bytes) input to log/17/server.input 14:53:35.041933 Identifying ourselves as friends 14:53:35.041993 Response sent (56 bytes) and written to log/17/server.response 14:53:35.042004 special request received, no persistency 14:53:35.042014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 41882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:46043 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 erify.out === Start of file in490 surprise === End of file in490 === Start of file server.cmd Testnum 490 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind490 ==102320== ==102320== Process terminating with default action of signal 4 (SIGILL) ==102320== Illegal opcode at address 0x4014B6F ==102320== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102320== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102320== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102320== by 0x4004266: main (tool_main.c:199) === End of file valgrind490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-time 'http://127.0.0.1:41533/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/stderr492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind496 ../src/curl -q --output log/1/curl496.out --include --trace-ascii log/1/trace496 --trace-time 0 -Z -Tz > log/1/stdout496 2> log/1/stderr496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind491 ../src/curl -q --output log/18/curl491.out --include --trace-ascii log/18/trace491 --trace-time http://127.0.0.1:43297/491 -T '{log/18/in491,log/18/bad491}' > log/18/stdout491 2> log/18/stderr491 test 0493...[HSTS and %{url_effective} after upgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:46043 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 493: stdout FAILED: --- log/14/check-expected 2025-09-11 14:53:36.015530729 +0000 +++ log/14/check-generated 2025-09-11 14:53:36.015530729 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/493[LF] == Contents of files in the log/14/ dir after test 493 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/493[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:46043 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 === End of file commands.log === Start of file http_server.log 14:53:35.069751 ====> Client connect 14:53:35.069816 accept_connection 3 returned 4 14:53:35.069838 accept_connection 3 returned 0 14:53:35.069857 Read 93 bytes 14:53:35.069870 Process 93 bytes request 14:53:35.069888 Got request: GET /verifiedserver HTTP/1.1 14:53:35.069900 Are-we-friendly question received 14:53:35.069947 Wrote request (93 bytes) input to log/14/server.input 14:53:35.069975 Identifying ourselves as friends 14:53:35.070084 Response sent (56 bytes) and written to log/14/server.response 14:53:35.070099 special request received, no persistency 14:53:35.070111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 49420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file input493 .hsts.example "99991001 04:47:41" === End of file input493 === Start of file server.cmd Testnum 493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind493 ==102444== ==102444== Process terminating with default action of signal 4 (SIGILL) ==102444== Illegal opcode at address 0x4014B6F ==102444== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102444== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102444== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102444== by 0x4004266: main (tool_main.c:199) === End of file valgrind493 test 0492...[Two globbed HTTP PUTs to two globbed URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-time 'http://127.0.0.1:41533/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/stderr492 492: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-time 'http://127.0.0.1:41533/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 14:53:35.053718 ====> Client connect 14:53:35.053749 accept_connection 3 returned 4 14:53:35.053766 accept_connection 3 returned 0 14:53:35.053780 Read 93 bytes 14:53:35.053790 Process 93 bytes request 14:53:35.053803 Got request: GET /verifiedserver HTTP/1.1 14:53:35.053812 Are-we-friendly question received 14:53:35.053836 Wrote request (93 bytes) input to log/13/server.input 14:53:35.053852 Identifying ourselves as friends 14:53:35.053903 Response sent (56 bytes) and written to log/13/server.response 14:53:35.053913 special request received, no persistency 14:53:35.053922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file second492 second 492 contents === End of file second492 === Start of file server.cmd Testnum 492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind492 ==102398== ==102398== Process terminating with default action of signal 4 (SIGILL) ==102398== Illegal opcode at address 0x4014B6F ==102398== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102398== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102398== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102398== by 0x4004266: main (tool_main.c:199) === End of file valgrind492 test 0496...[parallel upload missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind496 ../src/curl -q --output log/1/curl496.out --include --trace-ascii log/1/trace496 --trace-time 0 -Z -Tz > log/1/stdout496 2> log/1/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/1/ dir after test 496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind496 ../src/curl -q --output log/1/curl496.out --include --trace-ascii log/1/trace496 --trace-time 0 -Z -Tz > log/1/stdout496 2> log/1/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==102598== ==102598== Process terminating with default action of signal 4 (SIGILL) ==102598== Illegal opcode at address 0x4014B6F ==102598== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102598== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102598== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102598== by 0x4004266: main (tool_main.c:199) === End of file valgrind496 test 0491...[Two globbed HTTP PUTs, the secCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind495 ../src/curl -q --output log/11/curl495.out --include --trace-ascii log/11/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:33503/495 --netrc-optional > log/11/stdout495 2> log/11/stderr495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind494 ../src/curl -q --output log/12/curl494.out --include --trace-ascii log/12/trace494 --trace-time --netrc --netrc-file log/12/netrc494 ftp://127.0.0.1:38141/494 > log/12/stdout494 2> log/12/stderr494 ond upload file is missing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind491 ../src/curl -q --output log/18/curl491.out --include --trace-ascii log/18/trace491 --trace-time http://127.0.0.1:43297/491 -T '{log/18/in491,log/18/bad491}' > log/18/stdout491 2> log/18/stderr491 491: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 491 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind491 ../src/curl -q --output log/18/curl491.out --include --trace-ascii log/18/trace491 --trace-time http://127.0.0.1:43297/491 -T '{log/18/in491,log/18/bad491}' > log/18/stdout491 2> log/18/stderr491 === End of file commands.log === Start of file http_server.log 14:53:35.042342 ====> Client connect 14:53:35.042383 accept_connection 3 returned 4 14:53:35.042402 accept_connection 3 returned 0 14:53:35.042419 Read 93 bytes 14:53:35.042430 Process 93 bytes request 14:53:35.042444 Got request: GET /verifiedserver HTTP/1.1 14:53:35.042455 Are-we-friendly question received 14:53:35.042480 Wrote request (93 bytes) input to log/18/server.input 14:53:35.042498 Identifying ourselves as friends 14:53:35.042575 Response sent (56 bytes) and written to log/18/server.response 14:53:35.042586 special request received, no persistency 14:53:35.042597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 57128 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file in491 surprise === End of file in491 === Start of file server.cmd Testnum 491 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind491 ==102329== ==102329== Process terminating with default action of signal 4 (SIGILL) ==102329== Illegal opcode at address 0x4014B6F ==102329== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102329== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102329== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102329== by 0x4004266: main (tool_main.c:199) === End of file valgrind491 test 0495...[user+password in URL with optional netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind495 ../src/curl -q --output log/11/curl495.out --include --trace-ascii log/11/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:33503/495 --netrc-optional > log/11/stdout495 2> log/11/stderr495 495: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind495 ../src/curl -q --output log/11/curl495.out --include --trace-ascii log/11/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:33503/495 --netrc-optional > log/11/stdout495 2> log/11/stderr495 === End of file commands.log === Start of file http_server.log 14:53:35.151238 ====> Client connect 14:53:35.151272 accept_connection 3 returned 4 14:53:35.151290 accept_connection 3 returned 0 14:53:35.151306 Read 93 bytes 14:53:35.151318 Process 93 bytes request 14:53:35.151333 Got request: GET /verifiedserver HTTP/1.1 14:53:35.151343 Are-we-friendly question received 14:53:35.151370 Wrote request (93 bytes) input to log/11/server.input 14:53:35.151388 Identifying ourselves as friends 14:53:35.151445 Response sent (56 bytes) and written to log/11/server.response 14:53:35.151457 special request received, no persistency 14:53:35.151467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 57708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind495 ==102626== ==102626== Process terminating with default action of signal 4 (SIGILL) ==102626== Illegal opcode at address 0x4014B6F ==102626== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102626== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102626== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102626== by 0x4004266: main (tool_main.c:199) === End of file valgrind495 test 0494...[skip 'macdef' when parsing netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind494 ../src/curl -q --output log/12/curl494.out --include --trace-ascii log/12/trace494 --trace-time --netrc --netrc-file log/12/netrc494 ftp://127.0.0.1:38141/494 > log/12/stdout494 2> log/12/stderr494 494: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind494 ../src/curl -q --output log/12/curl494.out --include --trace-ascii log/12/trace494 --trace-time --netrc --netrc-file log/12/netrc494 ftp://127.0.0.1:38141/494 > log/12/stdout494 2> log/12/stderr494 === End of file commands.log === Start of file ftp_server.log 14:53:35.062897 ====> Client connect 14:53:35.063074 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:35.063391 < "USER anonymous" 14:53:35.063433 > "331 We are happy you popped in![CR][LF]" 14:53:35.063638 < "PASS ftp@example.com" 14:53:35.063667 > "230 Welcome you silly person[CR][LF]" 14:53:35.063845 < "PWD" 14:53:35.063879 > "257 "/" is current directory[CR][LF]" 14:53:35.064065 < "EPSV" 14:53:35.064092 ====> Passive DATA channel requested by client 14:53:35.064107 DATA sockfilt for passive data channel starting... 14:53:35.069621 DATA sockfilt for passive data channel started (pid 102602) 14:53:35.069782 DATA sockfilt for passive data channel listens on port 43859 14:53:35.069831 > "229 Entering Passive Mode (|||43859|)[LF]" 14:53:35.069851 Client has been notified that DATA conn will be accepted on port 43859 14:53:35.070137 Client connects to port 43859 14:53:35.070167 ====> Client established passive DATA connection on port 43859 14:53:35.070278 < "TYPE I" 14:53:35.070311 > "200 I modify TYPE as youCMD (0): ./libtest/libtests lib518 http://127.0.0.1:38791/518 > log/6/stdout518 2> log/6/stderr518 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind498 ../src/curl -q --output log/2/curl498.out --include --trace-ascii log/2/trace498 --trace-time http://127.0.0.1:37587/498 --max-redirs 400 --location > log/2/stdout498 2> log/2/stderr498 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind497 ../src/curl -q --output log/16/curl497.out --include --trace-ascii log/16/trace497 --trace-time http://127.0.0.1:34475/497 > log/16/stdout497 2> log/16/stderr497 wanted[CR][LF]" 14:53:35.070491 < "SIZE verifiedserver" 14:53:35.070526 > "213 17[CR][LF]" 14:53:35.070681 < "RETR verifiedserver" 14:53:35.070716 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:35.070817 =====> Closing passive DATA connection... 14:53:35.070835 Server disconnects passive DATA connection 14:53:35.071082 Server disconnected passive DATA connection 14:53:35.071108 DATA sockfilt for passive data channel quits (pid 102602) 14:53:35.071336 DATA sockfilt for passive data channel quit (pid 102602) 14:53:35.071360 =====> Closed passive DATA connection 14:53:35.071388 > "226 File transfer complete[CR][LF]" 14:53:35.114263 < "QUIT" 14:53:35.114318 > "221 bye bye baby[CR][LF]" 14:53:35.115115 MAIN sockfilt said DISC 14:53:35.115146 ====> Client disconnected 14:53:35.115226 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:34.145598 ====> Client connect 14:53:34.145911 Received DATA (on stdin) 14:53:34.145928 > 160 bytes data, server => client 14:53:34.145943 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:34.145955 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:34.145967 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:34.146046 < 16 bytes data, client => server 14:53:34.146060 'USER anonymous\r\n' 14:53:34.146255 Received DATA (on stdin) 14:53:34.146270 > 33 bytes data, server => client 14:53:34.146283 '331 We are happy you popped in!\r\n' 14:53:34.146352 < 22 bytes data, client => server 14:53:34.146368 'PASS ftp@example.com\r\n' 14:53:34.146488 Received DATA (on stdin) 14:53:34.146502 > 30 bytes data, server => client 14:53:34.146515 '230 Welcome you silly person\r\n' 14:53:34.146569 < 5 bytes data, client => server 14:53:34.146582 'PWD\r\n' 14:53:34.146699 Received DATA (on stdin) 14:53:34.146713 > 30 bytes data, server => client 14:53:34.146725 '257 "/" is current directory\r\n' 14:53:34.146787 < 6 bytes data, client => server 14:53:34.146802 'EPSV\r\n' 14:53:34.152679 Received DATA (on stdin) 14:53:34.152699 > 38 bytes data, server => client 14:53:34.152712 '229 Entering Passive Mode (|||43859|)\n' 14:53:34.152898 < 8 bytes data, client => server 14:53:34.152911 'TYPE I\r\n' 14:53:34.153132 Received DATA (on stdin) 14:53:34.153155 > 33 bytes data, server => client 14:53:34.153167 '200 I modify TYPE as you wanted\r\n' 14:53:34.153221 < 21 bytes data, client => server 14:53:34.153234 'SIZE verifiedserver\r\n' 14:53:34.153343 Received DATA (on stdin) 14:53:34.153356 > 8 bytes data, server => client 14:53:34.153367 '213 17\r\n' 14:53:34.153414 < 21 bytes data, client => server 14:53:34.153427 'RETR verifiedserver\r\n' 14:53:34.153655 Received DATA (on stdin) 14:53:34.153669 > 29 bytes data, server => client 14:53:34.153681 '150 Binary junk (17 bytes).\r\n' 14:53:34.154206 Received DATA (on stdin) 14:53:34.154221 > 28 bytes data, server => client 14:53:34.154233 '226 File transfer complete\r\n' 14:53:34.196859 < 6 bytes data, client => server 14:53:34.196892 'QUIT\r\n' 14:53:34.197143 Received DATA (on stdin) 14:53:34.197157 > 18 bytes data, server => client 14:53:34.197169 '221 bye bye baby\r\n' 14:53:34.197880 ====> Client disconnect 14:53:34.198050 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:35.148483 Running IPv4 version 14:53:35.148537 Listening on port 43859 14:53:35.148575 Wrote pid 102602 to log/12/server/ftp_sockdata.pid 14:53:35.152352 Received PING (on stdin) 14:53:35.152494 Received PORT (on stdin) 14:53:35.152867 ====> Client connect 14:53:35.153707 Received DATA (on stdin) 14:53:35.153721 > 17 bytes data, server => client 14:53:35.153733 'WE ROOLZ: 80195\r\n' 14:53:35.153758 Received DISC (on stdin) 14:53:35.153771 ====> Client forcibly disconnected 14:53:35.153934 Received QUIT (on stdin) 14:53:35.153948 quits 14:53:35.154014 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc494 macdef testmacro bin cd default cd login put login.bin cd .. cd password put password.bin quit machine 127.0.0.1 login user1 password passwd1 === End of file netrc494 === Start of file server.cmd Testnum 494 === End of file server.cmd === Start of file valgrind494 ==102704== ==102704== Process terminating with default action of signal 4 (SIGILL) ==102704== Illegal opcode at address 0x4014B6F ==102704== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102704== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102704== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102704== by 0x4004266: main (tool_main.c:199) === End of file valgrind494 prechecked ./libtest/libtests lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:38791/518 > log/6/stdout518 2> log/6/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1725, remaining: 01:51, took 0.083s, duration: 00:44) test 0498...[Reject too large HTTP response headers on endless redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind498 ../src/curl -q --output log/2/curl498.out --include --trace-ascii log/2/trace498 --trace-time http://127.0.0.1:37587/498 --max-redirs 400 --location > log/2/stdout498 2> log/2/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/2/ dir after test 498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind498 ../src/curl -q --output log/2/curl498.out --include --trace-ascii log/2/trace498 --trace-time http://127.0.0.1:37587/498 --max-redirs 400 --location > log/2/stdout498 2> log/2/stderr498 === End of file commands.log === Start of file http_server.log 14:53:35.410947 ====> Client connect 14:53:35.410982 accept_connection 3 returned 4 14:53:35.411000 accept_connection 3 returned 0 14:53:35.411016 Read 93 bytes 14:53:35.411028 Process 93 bytes request 14:53:35.411042 Got request: GET /verifiedserver HTTP/1.1 14:53:35.411053 Are-we-friendly question received 14:53:35.411076 Wrote request (93 bytes) input to log/2/server.input 14:53:35.411094 Identifying ourselves as friends 14:53:35.411151 Response sent (56 bytes) and written to log/2/server.response 14:53:35.411163 special request received, no persistency 14:53:35.411173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 59936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind498 ==102818== ==102818== Process terminating with default action of signal 4 (SIGILL) ==102818== Illegal opcode at address 0x4014B6F ==102818== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102818== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102818== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102818== by 0x4004266: main (tool_main.c:199) === End of file valgrind498 test 0497...[Reject too large accumulated HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind497 ../src/curl -q --output log/16/curl497.out --include --trace-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46041/500 log/5/ip500 > log/5/stdout500 2> log/5/stderr500 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:42027/499 -I > log/22/stdout499 2> log/22/stderr499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind501 ./libtest/libtests lib501 - > log/7/stdout501 2> log/7/stderr501 ascii log/16/trace497 --trace-time http://127.0.0.1:34475/497 > log/16/stdout497 2> log/16/stderr497 497: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind497 ../src/curl -q --output log/16/curl497.out --include --trace-ascii log/16/trace497 --trace-time http://127.0.0.1:34475/497 > log/16/stdout497 2> log/16/stderr497 === End of file commands.log === Start of file http_server.log 14:53:35.409744 ====> Client connect 14:53:35.409780 accept_connection 3 returned 4 14:53:35.409799 accept_connection 3 returned 0 14:53:35.409817 Read 93 bytes 14:53:35.409829 Process 93 bytes request 14:53:35.409845 Got request: GET /verifiedserver HTTP/1.1 14:53:35.409856 Are-we-friendly question received 14:53:35.409881 Wrote request (93 bytes) input to log/16/server.input 14:53:35.409900 Identifying ourselves as friends 14:53:35.409952 Response sent (56 bytes) and written to log/16/server.response 14:53:35.409963 special request received, no persistency 14:53:35.409974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 49726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind497 ==102813== ==102813== Process terminating with default action of signal 4 (SIGILL) ==102813== Illegal opcode at address 0x4014B6F ==102813== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102813== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102813== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102813== by 0x4004266: main (tool_main.c:199) === End of file valgrind497 test 0500...[simple libcurl HTTP GET tool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46041/500 log/5/ip500 > log/5/stdout500 2> log/5/stderr500 500: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 500 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46041/500 log/5/ip500 > log/5/stdout500 2> log/5/stderr500 === End of file commands.log === Start of file http_server.log 14:53:35.585870 ====> Client connect 14:53:35.585906 accept_connection 3 returned 4 14:53:35.585925 accept_connection 3 returned 0 14:53:35.585941 Read 93 bytes 14:53:35.585953 Process 93 bytes request 14:53:35.585968 Got request: GET /verifiedserver HTTP/1.1 14:53:35.585979 Are-we-friendly question received 14:53:35.586006 Wrote request (93 bytes) input to log/5/server.input 14:53:35.586025 Identifying ourselves as friends 14:53:35.586078 Response sent (56 bytes) and written to log/5/server.response 14:53:35.586089 special request received, no persistency 14:53:35.586100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 57596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:46041/500 === End of file stderr500 === Start of file valgrind500 ==102958== ==102958== Process terminating with default action of signal 4 (SIGILL) ==102958== Illegal opcode at address 0x51D42F3 ==102958== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==102958== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==102958== by 0x51D42F3: Curl_open (url.c:551) ==102958== by 0x514CA2F: curl_easy_init (easy.c:372) ==102958== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==102958== by 0x400347F: main (first.c:281) ==102958== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==102958== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==102958== by 0x51D4243: Curl_open (url.c:530) ==102958== by 0x514CA2F: curl_easy_init (easy.c:372) ==102958== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==102958== by 0x400347F: main (first.c:281) ==102958== === End of file valgrind500 test 0499...[HTTP HEAD to server still sending a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:42027/499 -I > log/22/stdout499 2> log/22/stderr499 499: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:42027/499 -I > log/22/stdout499 2> log/22/stderr499 === End of file commands.log === Start of file http_server.log 14:53:35.552072 ====> Client connect 14:53:35.552109 accept_connection 3 returned 4 14:53:35.552128 accept_connection 3 returned 0 14:53:35.552145 Read 93 bytes 14:53:35.552156 Process 93 bytes request 14:53:35.552170 Got request: GET /verifiedserver HTTP/1.1 14:53:35.552182 Are-we-friendly question received 14:53:35.552208 Wrote request (93 bytes) input to log/22/server.input 14:53:35.552227 Identifying ourselves as friends 14:53:35.552286 Response sent (56 bytes) and written to log/22/server.response 14:53:35.552299 special request received, no persistency 14:53:35.552310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 44292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-LengtCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/9/test502.txt > log/9/stdout502 2> log/9/stderr502 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind480 ../src/curl -q --output log/10/curl480.out --include --trace-ascii log/10/trace480 --trace-time --netrc --netrc-file log/10/netrc480 pop3://127.0.0.1:33159/480 > log/10/stdout480 2> log/10/stderr480 h: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind499 ==102951== ==102951== Process terminating with default action of signal 4 (SIGILL) ==102951== Illegal opcode at address 0x4014B6F ==102951== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==102951== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==102951== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==102951== by 0x4004266: main (tool_main.c:199) === End of file valgrind499 test 0501...[simple libcurl attempt operation without URL set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind501 ./libtest/libtests lib501 - > log/7/stdout501 2> log/7/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/7/ dir after test 501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind501 ./libtest/libtests lib501 - > log/7/stdout501 2> log/7/stderr501 === End of file commands.log === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file stderr501 URL: - === End of file stderr501 === Start of file valgrind501 ==102961== ==102961== Process terminating with default action of signal 4 (SIGILL) ==102961== Illegal opcode at address 0x51D42F3 ==102961== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==102961== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==102961== by 0x51D42F3: Curl_open (url.c:551) ==102961== by 0x514CA2F: curl_easy_init (easy.c:372) ==102961== by 0x4009641: test_lib501.lto_priv.0 (lib501.c:40) ==102961== by 0x400347F: main (first.c:281) ==102961== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==102961== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==102961== by 0x51D4243: Curl_open (url.c:530) ==102961== by 0x514CA2F: curl_easy_init (easy.c:372) ==102961== by 0x4009641: test_lib501.lto_priv.0 (lib501.c:40) ==102961== by 0x400347F: main (first.c:281) ==102961== === End of file valgrind501 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/19/stdout504 2> log/19/stderr504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/23/stdout507 2> log/23/stderr507 test 0502...[simple multi file:// get] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/9/test502.txt > log/9/stdout502 2> log/9/stderr502 502: data FAILED: --- log/9/check-expected 2025-09-11 14:53:36.632197404 +0000 +++ log/9/check-generated 2025-09-11 14:53:36.632197404 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/9/ dir after test 502 === Start of file check-expected foo[LF] bar swsclose[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/9/test502.txt > log/9/stdout502 2> log/9/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file stderr502 URL: file:///startdir/src/build-curl/tests/log/9/test502.txt === End of file stderr502 === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 ==103101== ==103101== Process terminating with default action of signal 4 (SIGILL) ==103101== Illegal opcode at address 0x51D42F3 ==103101== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103101== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103101== by 0x51D42F3: Curl_open (url.c:551) ==103101== by 0x514CA2F: curl_easy_init (easy.c:372) ==103101== by 0x4060F35: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103101== by 0x400347F: main (first.c:281) ==103101== 5,408 bytes in 1 blocks are possibly lost in loss record 637 of 639 ==103101== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103101== by 0x51D4243: Curl_open (url.c:530) ==103101== by 0x514CA2F: curl_easy_init (easy.c:372) ==103101== by 0x4060F35: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103101== by 0x400347F: main (first.c:281) ==103101== === End of file valgrind502 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/pop3_server.pid" --logfile "log/10/pop3_server.log" --logdir "log/10" --portfile "log/10/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33159 (log/10/server/pop3_server.port) RUN: POP3 server is PID 101647 port 33159 * pid pop3 => 101647 101647 test 0480...[Reject .netrc with credentials using CRLF for POP3] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind480 ../src/curl -q --output log/10/curl480.out --include --trace-ascii log/10/trace480 --trace-time --netrc --netrc-file log/10/netrc480 pop3://127.0.0.1:33159/480 > log/10/stdout480 2> log/10/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/10/ dir after test 480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind480 ../src/curl -q --output log/10/curl480.out --include --trace-ascii log/10/trace480 --trace-time --netrc --netrc-file log/10/netrc480 pop3://127.0.0.1:33159/480 > log/10/stdout480 2> log/10/stderr480 === End of file commands.log === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of file netrc480 === Start of file pop3_server.log 14:53:34.648299 POP3 server listens on port IPv4/33159 14:53:34.648397 logged pid 101647 in log/10/server/pop3_server.pid 14:53:34.648426 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:53:34.730593 Running IPv4 version 14:53:34.730658 Listening on port 33159 14:53:34.730698 Wrote pid 101718 to log/10/server/pop3_sockfilt.pid 14:53:34.730729 Wrote port 33159 to log/10/server/pop3_server.port 14:53:34.730999 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 480 === End of file server.cmd === Start of file valgrind480 ==103134== ==103134== Process terminating with default action of signal 4 (SIGILL) ==103134== Illegal opcode at address 0x4014B6F ==103134== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==103134== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==103134== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==103134== by 0x4004266: main (tool_main.c:199) === End of file valgrind480 test 0504...[simple multi through local proxy without listener] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/19/stdout504 2> log/19/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/19/ dir after test 504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/19/stdout504 2> log/19/stderr504 === End of file commands.log === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file stderr504 URL: http://127.0.0.1:47/504 === End of file stderr504 === Start of file valgrind504 ==103197== ==103197== Process terminating with default action of signal 4 (SIGILL) ==103197== Illegal opcode at address 0x51D42F3 ==103197== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103197== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103197== by 0x51D42F3: Curl_open (url.c:551) ==103197== by 0x514CA2F: curl_easy_init (easy.c:372) ==103197== by 0x405FD35: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103197== by 0x400347F: main (first.c:281) ==103197== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103197== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103197== by 0x51D4243: Curl_open (url.c:530) ==103197== by 0x514CA2F: curl_easy_init (easy.c:372) ==103197== by 0x405FD35: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103197== by 0x400347F: main (first.c:281) ==103197== === End of file valgrind504 test 0507...[multi interface get with non-existing host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/23/stdout507 2> log/23/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/23/ dir after test 507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/23/stdout507 2> log/23/stderr507 === End of file commands.log === Start of file http_server.log 14:53:35.793706 ====> Client connect 14:53:35.793737 accept_connection 3 returned 4 14:53:35.793756 accept_connection 3 returned 0 14:53:35.793771 Read 93 bytes 14:53:35.793782 Process 93 bytes request 14:53:35.793797 Got request: GET /verifiedserver HTTP/1.1 14:53:35.793807 Are-we-friendly question received 14:53:35.793830 Wrote request (93 bytes) input to log/23/server.input 14:53:35.793846 Identifying ourselves as friends 14:53:35.793924 Response sentCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind509 ./libtest/libtests lib509 - > log/8/stdout509 2> log/8/stderr509 (56 bytes) and written to log/23/server.response 14:53:35.793935 special request received, no persistency 14:53:35.793945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 35934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 507 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==103327== ==103327== Process terminating with default action of signal 4 (SIGILL) ==103327== Illegal opcode at address 0x519C257 ==103327== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==103327== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==103327== by 0x519C257: Curl_multi_handle (multi.c:236) ==103327== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103327== by 0x400347F: main (first.c:281) ==103327== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==103327== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103327== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==103327== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103327== by 0x400347F: main (first.c:281) ==103327== === End of file valgrind507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:34037/508 > log/21/stdout508 2> log/21/stderr508 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:39793/510 > log/4/stdout510 2> log/4/stderr510 test 0509...[initialization with memory callbacks and actual usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind509 ./libtest/libtests lib509 - > log/8/stdout509 2> log/8/stderr509 509: stdout FAILED: --- log/8/check-expected 2025-09-11 14:53:36.712197406 +0000 +++ log/8/check-generated 2025-09-11 14:53:36.712197406 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/8/ dir after test 509 === Start of file check-expected Callbacks were invoked![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind509 ./libtest/libtests lib509 - > log/8/stdout509 2> log/8/stderr509 === End of file commands.log === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file stderr509 URL: - === End of file stderr509 === Start of file valgrind509 ==103333== ==103333== Process terminating with default action of signal 4 (SIGILL) ==103333== Illegal opcode at address 0x51D42F3 ==103333== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103333== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103333== by 0x51D42F3: Curl_open (url.c:551) ==103333== by 0x514CA2F: curl_easy_init (easy.c:372) ==103333== by 0x400DA4A: test_lib509.lto_priv.0 (lib509.c:91) ==103333== by 0x400347F: main (first.c:281) ==103333== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103333== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103333== by 0x51D4243: Curl_open (url.c:530) ==103333== by 0x514CA2F: curl_easy_init (easy.c:372) ==103333== by 0x400DA4A: test_lib509.lto_priv.0 (lib509.c:91) ==103333== by 0x400347F: main (first.c:281) ==103333== === End of file valgrind509 test 0508...[send HTTP POST using read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:34037/508 > log/21/stdout508 2> log/21/stderr508 508: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 508 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:34037/508 > log/21/stdout508 2> log/21/stderr508 === End of file commands.log === Start of file http_server.log 14:53:35.807684 ====> Client connect 14:53:35.807722 accept_connection 3 returned 4 14:53:35.807742 accept_connection 3 returned 0 14:53:35.807761 Read 93 bytes 14:53:35.807774 Process 93 bytes request 14:53:35.807791 Got request: GET /verifiedserver HTTP/1.1 14:53:35.807803 Are-we-friendly question received 14:53:35.807832 Wrote request (93 bytes) input to log/21/server.input 14:53:35.807851 Identifying ourselves as friends 14:53:35.807925 Response sent (56 bytes) and written to log/21/server.response 14:53:35.807939 special request received, no persistency 14:53:35.807950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 58208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 508 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:34037/508 === End of file stderr508 === Start of file valgrind508 ==103342== ==103342== Process terminating with default action of signal 4 (SIGILL) ==103342== Illegal opcode at address 0x51D42F3 ==103342== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103342== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103342== by 0x51D42F3: Curl_open (url.c:551) ==103342== by 0x514CA2F: curl_easy_init (easy.c:372) ==103342== by 0x400974A: test_lib508.lto_priv.0 (lib508.c:68) ==103342== by 0x400347F: main (first.c:281) ==103342== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103342== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103342== by 0x51D4243: Curl_open (url.c:530) ==103342== by 0x514CA2F: curl_easy_init (easy.c:372) ==103342== by 0x400974A: test_lib508.lto_priv.0 (lib508.c:68) ==103342== by 0x400347F: main (first.c:281) ==103342== === End of file valgrind508 test 0510...[send HTTP POST using read callback, using chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:39793/510 > log/4/stdout510 2> log/4/stderr510 510: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:39793/510 > log/4/stdout510 2> log/4/stderr510 === End of file commands.log === Start of file http_server.log 14:53:35.829722 ====> Client connect 14:53:35.829759 accept_connection 3 returned 4 14:53:35.829774 accept_connection 3 returned 0 14:53:35.829787 Read 93 bytes 14:53:35.829796 Process 93 bytes request 14:53:35.829809 Got request: GET /verifiedserver HTTP/1.1 14:53:35.829818 Are-we-friendly question received 14:53:35.829842 Wrote request (93 bytes) input to log/4/server.input 14:53:35.829860 Identifying ourselves as friends 14:53:35.829922 Response sent (56 bytes) and written to log/4/server.response 14:53:35.829935 special request received, no persistency 14:53:35.829945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:39793/510 === End of file stderr510 === Start of file valgrind510 ==103435== ==103435== Process terminating with default action of signal 4 (SIGILL) ==103435== Illegal opcode at address 0x51D42F3 ==103435== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103435== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103435== by 0x51D42F3: Curl_open (url.c:551) ==103435== by 0x514CA2F: curl_easy_init (easy.c:372) ==103435== by 0x40098E0: test_lib510.lto_priv.0 (lib510.c:76) ==103435== by 0x400347F: main CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:42919/505 log/24/upload505 > log/24/stdout505 2> log/24/stderr505 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind517 ./libtest/libtests lib517 - > log/18/stdout517 2> log/18/stderr517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:37155/511 > log/3/stdout511 2> log/3/stderr511 (first.c:281) ==103435== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103435== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103435== by 0x51D4243: Curl_open (url.c:530) ==103435== by 0x514CA2F: curl_easy_init (easy.c:372) ==103435== by 0x40098E0: test_lib510.lto_priv.0 (lib510.c:76) ==103435== by 0x400347F: main (first.c:281) ==103435== === End of file valgrind510 test 0505...[FTP upload with rename after transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:42919/505 log/24/upload505 > log/24/stdout505 2> log/24/stderr505 505: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:42919/505 log/24/upload505 > log/24/stdout505 2> log/24/stderr505 === End of file commands.log === Start of file ftp_server.log 14:53:35.660498 ====> Client connect 14:53:35.660673 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:35.660984 < "USER anonymous" 14:53:35.661020 > "331 We are happy you popped in![CR][LF]" 14:53:35.661188 < "PASS ftp@example.com" 14:53:35.661216 > "230 Welcome you silly person[CR][LF]" 14:53:35.661366 < "PWD" 14:53:35.661394 > "257 "/" is current directory[CR][LF]" 14:53:35.661571 < "EPSV" 14:53:35.661595 ====> Passive DATA channel requested by client 14:53:35.661609 DATA sockfilt for passive data channel starting... 14:53:35.663564 DATA sockfilt for passive data channel started (pid 103246) 14:53:35.663671 DATA sockfilt for passive data channel listens on port 43033 14:53:35.663712 > "229 Entering Passive Mode (|||43033|)[LF]" 14:53:35.663731 Client has been notified that DATA conn will be accepted on port 43033 14:53:35.663960 Client connects to port 43033 14:53:35.663980 ====> Client established passive DATA connection on port 43033 14:53:35.664048 < "TYPE I" 14:53:35.664077 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:35.664246 < "SIZE verifiedserver" 14:53:35.664282 > "213 17[CR][LF]" 14:53:35.664432 < "RETR verifiedserver" 14:53:35.664464 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:35.664545 =====> Closing passive DATA connection... 14:53:35.664561 Server disconnects passive DATA connection 14:53:35.664757 Server disconnected passive DATA connection 14:53:35.664786 DATA sockfilt for passive data channel quits (pid 103246) 14:53:35.665021 DATA sockfilt for passive data channel quit (pid 103246) 14:53:35.665053 =====> Closed passive DATA connection 14:53:35.665079 > "226 File transfer complete[CR][LF]" 14:53:35.710566 < "QUIT" 14:53:35.710629 > "221 bye bye baby[CR][LF]" 14:53:35.715005 MAIN sockfilt said DISC 14:53:35.715064 ====> Client disconnected 14:53:35.715133 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:35.743186 ====> Client connect 14:53:35.743506 Received DATA (on stdin) 14:53:35.743525 > 160 bytes data, server => client 14:53:35.743540 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:35.743553 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:35.743564 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:35.743642 < 16 bytes data, client => server 14:53:35.743660 'USER anonymous\r\n' 14:53:35.743841 Received DATA (on stdin) 14:53:35.743854 > 33 bytes data, server => client 14:53:35.743867 '331 We are happy you popped in!\r\n' 14:53:35.743918 < 22 bytes data, client => server 14:53:35.743930 'PASS ftp@example.com\r\n' 14:53:35.744032 Received DATA (on stdin) 14:53:35.744044 > 30 bytes data, server => client 14:53:35.744056 '230 Welcome you silly person\r\n' 14:53:35.744102 < 5 bytes data, client => server 14:53:35.744113 'PWD\r\n' 14:53:35.744210 Received DATA (on stdin) 14:53:35.744222 > 30 bytes data, server => client 14:53:35.744235 '257 "/" is current directory\r\n' 14:53:35.744298 < 6 bytes data, client => server 14:53:35.744310 'EPSV\r\n' 14:53:35.746563 Received DATA (on stdin) 14:53:35.746586 > 38 bytes data, server => client 14:53:35.746600 '229 Entering Passive Mode (|||43033|)\n' 14:53:35.746756 < 8 bytes data, client => server 14:53:35.746769 'TYPE I\r\n' 14:53:35.746894 Received DATA (on stdin) 14:53:35.746908 > 33 bytes data, server => client 14:53:35.746921 '200 I modify TYPE as you wanted\r\n' 14:53:35.746977 < 21 bytes data, client => server 14:53:35.746991 'SIZE verifiedserver\r\n' 14:53:35.747098 Received DATA (on stdin) 14:53:35.747110 > 8 bytes data, server => client 14:53:35.747122 '213 17\r\n' 14:53:35.747169 < 21 bytes data, client => server 14:53:35.747181 'RETR verifiedserver\r\n' 14:53:35.747382 Received DATA (on stdin) 14:53:35.747395 > 29 bytes data, server => client 14:53:35.747407 '150 Binary junk (17 bytes).\r\n' 14:53:35.747882 Received DATA (on stdin) 14:53:35.747898 > 28 bytes data, server => client 14:53:35.747911 '226 File transfer complete\r\n' 14:53:35.793141 < 6 bytes data, client => server 14:53:35.793180 'QUIT\r\n' 14:53:35.793457 Received DATA (on stdin) 14:53:35.793474 > 18 bytes data, server => client 14:53:35.793487 '221 bye bye baby\r\n' 14:53:35.797748 ====> Client disconnect 14:53:35.797953 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:35.745875 Running IPv4 version 14:53:35.745930 Listening on port 43033 14:53:35.745966 Wrote pid 103246 to log/24/server/ftp_sockdata.pid 14:53:35.746309 Received PING (on stdin) 14:53:35.746404 Received PORT (on stdin) 14:53:35.746726 ====> Client connect 14:53:35.747293 Received DATA (on stdin) 14:53:35.747308 > 17 bytes data, server => client 14:53:35.747320 'WE ROOLZ: 80263\r\n' 14:53:35.747432 Received DISC (on stdin) 14:53:35.747447 ====> Client forcibly disconnected 14:53:35.747611 Received QUIT (on stdin) 14:53:35.747624 quits 14:53:35.747680 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file stderr505 URL: ftp://127.0.0.1:42919/505 === End of file stderr505 === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 ==103506== ==103506== Process terminating with default action of signal 4 (SIGILL) ==103506== Illegal opcode at address 0x51D42F3 ==103506== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103506== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103506== by 0x51D42F3: Curl_open (url.c:551) ==103506== by 0x514CA2F: curl_easy_init (easy.c:372) ==103506== by 0x400CB98: test_lib505.lto_priv.0 (lib505.c:90) ==103506== by 0x400347F: main (first.c:281) ==103506== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==103506== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103506== by 0x51D4243: Curl_open (url.c:530) ==103506== by 0x514CA2F: curl_easy_init (easy.c:372) ==103506== by 0x400CB98: test_lib505.lto_priv.0 (lib505.c:90) ==103506== by 0x400347F: main (first.c:281) ==103506== === End of file valgrind505 test 0517...[curl_getdate() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind517 ./libtest/libtests lib517 - > log/18/stdout517 2> log/18/stderr517 -------e-v- OK (493 out of 1725, remaining: 01:53, took 0.739s, duration: 00:45) test 0511...[FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39569/512 > log/20/stdout512 2> log/20/stderr512 usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:37155/511 > log/3/stdout511 2> log/3/stderr511 511: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 511 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:37155/511 > log/3/stdout511 2> log/3/stderr511 === End of file commands.log === Start of file ftp_server.log 14:53:35.768085 ====> Client connect 14:53:35.768242 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:35.768540 < "USER anonymous" 14:53:35.768577 > "331 We are happy you popped in![CR][LF]" 14:53:35.768747 < "PASS ftp@example.com" 14:53:35.768772 > "230 Welcome you silly person[CR][LF]" 14:53:35.768921 < "PWD" 14:53:35.768950 > "257 "/" is current directory[CR][LF]" 14:53:35.769114 < "EPSV" 14:53:35.769138 ====> Passive DATA channel requested by client 14:53:35.769151 DATA sockfilt for passive data channel starting... 14:53:35.770884 DATA sockfilt for passive data channel started (pid 103475) 14:53:35.770995 DATA sockfilt for passive data channel listens on port 38573 14:53:35.771035 > "229 Entering Passive Mode (|||38573|)[LF]" 14:53:35.771055 Client has been notified that DATA conn will be accepted on port 38573 14:53:35.771280 Client connects to port 38573 14:53:35.771311 ====> Client established passive DATA connection on port 38573 14:53:35.771385 < "TYPE I" 14:53:35.771414 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:35.771574 < "SIZE verifiedserver" 14:53:35.771609 > "213 17[CR][LF]" 14:53:35.771761 < "RETR verifiedserver" 14:53:35.771791 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:35.771876 =====> Closing passive DATA connection... 14:53:35.771894 Server disconnects passive DATA connection 14:53:35.772135 Server disconnected passive DATA connection 14:53:35.772161 DATA sockfilt for passive data channel quits (pid 103475) 14:53:35.772366 DATA sockfilt for passive data channel quit (pid 103475) 14:53:35.772392 =====> Closed passive DATA connection 14:53:35.772418 > "226 File transfer complete[CR][LF]" 14:53:35.814257 < "QUIT" 14:53:35.814320 > "221 bye bye baby[CR][LF]" 14:53:35.814674 MAIN sockfilt said DISC 14:53:35.814728 ====> Client disconnected 14:53:35.814800 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:35.850783 ====> Client connect 14:53:35.851077 Received DATA (on stdin) 14:53:35.851096 > 160 bytes data, server => client 14:53:35.851112 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:35.851124 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:35.851135 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:35.851212 < 16 bytes data, client => server 14:53:35.851225 'USER anonymous\r\n' 14:53:35.851397 Received DATA (on stdin) 14:53:35.851410 > 33 bytes data, server => client 14:53:35.851422 '331 We are happy you popped in!\r\n' 14:53:35.851474 < 22 bytes data, client => server 14:53:35.851486 'PASS ftp@example.com\r\n' 14:53:35.851588 Received DATA (on stdin) 14:53:35.851600 > 30 bytes data, server => client 14:53:35.851612 '230 Welcome you silly person\r\n' 14:53:35.851658 < 5 bytes data, client => server 14:53:35.851669 'PWD\r\n' 14:53:35.851767 Received DATA (on stdin) 14:53:35.851779 > 30 bytes data, server => client 14:53:35.851791 '257 "/" is current directory\r\n' 14:53:35.851849 < 6 bytes data, client => server 14:53:35.851861 'EPSV\r\n' 14:53:35.853877 Received DATA (on stdin) 14:53:35.853892 > 38 bytes data, server => client 14:53:35.853904 '229 Entering Passive Mode (|||38573|)\n' 14:53:35.854014 < 8 bytes data, client => server 14:53:35.854029 'TYPE I\r\n' 14:53:35.854231 Received DATA (on stdin) 14:53:35.854244 > 33 bytes data, server => client 14:53:35.854256 '200 I modify TYPE as you wanted\r\n' 14:53:35.854307 < 21 bytes data, client => server 14:53:35.854320 'SIZE verifiedserver\r\n' 14:53:35.854426 Received DATA (on stdin) 14:53:35.854439 > 8 bytes data, server => client 14:53:35.854450 '213 17\r\n' 14:53:35.854497 < 21 bytes data, client => server 14:53:35.854509 'RETR verifiedserver\r\n' 14:53:35.854712 Received DATA (on stdin) 14:53:35.854724 > 29 bytes data, server => client 14:53:35.854736 '150 Binary junk (17 bytes).\r\n' 14:53:35.855237 Received DATA (on stdin) 14:53:35.855252 > 28 bytes data, server => client 14:53:35.855264 '226 File transfer complete\r\n' 14:53:35.896868 < 6 bytes data, client => server 14:53:35.896904 'QUIT\r\n' 14:53:35.897147 Received DATA (on stdin) 14:53:35.897162 > 18 bytes data, server => client 14:53:35.897174 '221 bye bye baby\r\n' 14:53:35.897412 ====> Client disconnect 14:53:35.897618 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:35.853398 Running IPv4 version 14:53:35.853449 Listening on port 38573 14:53:35.853494 Wrote pid 103475 to log/3/server/ftp_sockdata.pid 14:53:35.853644 Received PING (on stdin) 14:53:35.853727 Received PORT (on stdin) 14:53:35.854050 ====> Client connect 14:53:35.854762 Received DATA (on stdin) 14:53:35.854776 > 17 bytes data, server => client 14:53:35.854789 'WE ROOLZ: 80281\r\n' 14:53:35.854811 Received DISC (on stdin) 14:53:35.854824 ====> Client forcibly disconnected 14:53:35.854987 Received QUIT (on stdin) 14:53:35.855000 quits 14:53:35.855056 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 bluah you f00l REPLY SIZE 550 bluah you f00l Testnum 511 === End of file server.cmd === Start of file stderr511 URL: ftp://127.0.0.1:37155/511 === End of file stderr511 === Start of file valgrind511 ==103593== ==103593== Process terminating with default action of signal 4 (SIGILL) ==103593== Illegal opcode at address 0x51D42F3 ==103593== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103593== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103593== by 0x51D42F3: Curl_open (url.c:551) ==103593== by 0x514CA2F: curl_easy_init (easy.c:372) ==103593== by 0x4009B0A: test_lib511.lto_priv.0 (lib511.c:38) ==103593== by 0x400347F: main (first.c:281) ==103593== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103593== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103593== by 0x51D4243: Curl_open (url.c:530) ==103593== by 0x514CA2F: curl_easy_init (easy.c:372) ==103593== by 0x4009B0A: test_lib511.lto_priv.0 (lib511.c:38) ==103593== by 0x400347F: main (first.c:281) ==103593== === End of file valgrind511 test 0512...[simple curl_easy_duplicate() test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39569/512 > log/20/stdout512 2> log/20/stderr512 512: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 512 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39569/512 > log/20/stdout512 2> log/20/stderr512 === End of file commands.log === Start of file http_server.log 14:53:36.041834 ====> Client connect 14:53:36.041873 accept_connection 3 returned 4 14:53:36.041891 accept_connection 3 returned 0 14:53:36.041908 Read 93CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46043/514 > log/14/stdout514 2> log/14/stderr514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:44029/516 > log/1/stdout516 2> log/1/stderr516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:45171/513 > log/17/stdout513 2> log/17/stderr513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:41533/515 > log/13/stdout515 2> log/13/stderr515 bytes 14:53:36.041920 Process 93 bytes request 14:53:36.041935 Got request: GET /verifiedserver HTTP/1.1 14:53:36.041946 Are-we-friendly question received 14:53:36.041971 Wrote request (93 bytes) input to log/20/server.input 14:53:36.041989 Identifying ourselves as friends 14:53:36.042049 Response sent (56 bytes) and written to log/20/server.response 14:53:36.042730 special request received, no persistency 14:53:36.042745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 52796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 512 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:39569/512 === End of file stderr512 === Start of file valgrind512 ==103665== ==103665== Process terminating with default action of signal 4 (SIGILL) ==103665== Illegal opcode at address 0x51D42F3 ==103665== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103665== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103665== by 0x51D42F3: Curl_open (url.c:551) ==103665== by 0x514CA2F: curl_easy_init (easy.c:372) ==103665== by 0x400DB75: test_lib512.lto_priv.0 (lib512.c:38) ==103665== by 0x400347F: main (first.c:281) ==103665== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103665== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103665== by 0x51D4243: Curl_open (url.c:530) ==103665== by 0x514CA2F: curl_easy_init (easy.c:372) ==103665== by 0x400DB75: test_lib512.lto_priv.0 (lib512.c:38) ==103665== by 0x400347F: main (first.c:281) ==103665== === End of file valgrind512 test 0516...[make an HTTPPOST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:44029/516 > log/1/stdout516 2> log/1/stderr516 516: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:44029/516 > log/1/stdout516 2> log/1/stderr516 === End of file commands.log === Start of file http_server.log 14:53:36.136848 ====> Client connect 14:53:36.136882 accept_connection 3 returned 4 14:53:36.136900 accept_connection 3 returned 0 14:53:36.136916 Read 93 bytes 14:53:36.136928 Process 93 bytes request 14:53:36.136942 Got request: GET /verifiedserver HTTP/1.1 14:53:36.136953 Are-we-friendly question received 14:53:36.136977 Wrote request (93 bytes) input to log/1/server.input 14:53:36.136995 Identifying ourselves as friends 14:53:36.137047 Response sent (56 bytes) and written to log/1/server.response 14:53:36.137058 special request received, no persistency 14:53:36.137067 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 34122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:44029/516 === End of file stderr516 === Start of file valgrind516 ==103859== ==103859== Process terminating with default action of signal 4 (SIGILL) ==103859== Illegal opcode at address 0x51D42F3 ==103859== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103859== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103859== by 0x51D42F3: Curl_open (url.c:551) ==103859== by 0x514CA2F: curl_easy_init (easy.c:372) ==103859== by 0x400A02A: test_lib516.lto_priv.0 (lib516.c:38) ==103859== by 0x400347F: main (first.c:281) ==103859== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103859== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103859== by 0x51D4243: Curl_open (url.c:530) ==103859== by 0x514CA2F: curl_easy_init (easy.c:372) ==103859== by 0x400A02A: test_lib516.lto_priv.0 (lib516.c:38) ==103859== by 0x400347F: main (first.c:281) ==103859== === End of file valgrind516 test 0515...[make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:41533/515 > log/13/stdout515 2> log/13/stderr515 515: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 515 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:41533/515 > log/13/stdout515 2> log/13/stderr515 === End of file commands.log === Start of file http_server.log 14:53:36.133032 ====> Client connect 14:53:36.133064 accept_connection 3 returned 4 14:53:36.133080 accept_connection 3 returned 0 14:53:36.133095 Read 93 bytes 14:53:36.133105 Process 93 bytes request 14:53:36.133117 Got request: GET /verifiedserver HTTP/1.1 14:53:36.133127 Are-we-friendly question received 14:53:36.133152 Wrote request (93 bytes) input to log/13/server.input 14:53:36.133170 Identifying ourselves as friends 14:53:36.133225 Response sent (56 bytes) and written to log/13/server.response 14:53:36.133236 special request received, no persistency 14:53:36.133246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 33674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:41533/515 === End of file stderr515 === Start of file valgrind515 ==103839== ==103839== Process terminating with default action of signal 4 (SIGILL) ==103839== Illegal opcode at address 0x51D42F3 ==103839== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103839== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103839CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:33503/519 > log/11/stdout519 2> log/11/stderr519 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36077 > log/6/stdout521 2> log/6/stderr521 == by 0x51D42F3: Curl_open (url.c:551) ==103839== by 0x514CA2F: curl_easy_init (easy.c:372) ==103839== by 0x4009F0A: test_lib515.lto_priv.0 (lib515.c:38) ==103839== by 0x400347F: main (first.c:281) ==103839== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103839== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103839== by 0x51D4243: Curl_open (url.c:530) ==103839== by 0x514CA2F: curl_easy_init (easy.c:372) ==103839== by 0x4009F0A: test_lib515.lto_priv.0 (lib515.c:38) ==103839== by 0x400347F: main (first.c:281) ==103839== === End of file valgrind515 test 0519...[GET same URL twice with different users] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:33503/519 > log/11/stdout519 2> log/11/stderr519 519: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 519 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:33503/519 > log/11/stdout519 2> log/11/stderr519 === End of file commands.log === Start of file http_server.log 14:53:36.187162 ====> Client connect 14:53:36.187196 accept_connection 3 returned 4 14:53:36.187214 accept_connection 3 returned 0 14:53:36.187232 Read 93 bytes 14:53:36.187244 Process 93 bytes request 14:53:36.187261 Got request: GET /verifiedserver HTTP/1.1 14:53:36.187272 Are-we-friendly question received 14:53:36.187298 Wrote request (93 bytes) input to log/11/server.input 14:53:36.187317 Identifying ourselves as friends 14:53:36.187378 Response sent (56 bytes) and written to log/11/server.response 14:53:36.187389 special request received, no persistency 14:53:36.187399 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:33503/519 === End of file stderr519 === Start of file valgrind519 ==104085== ==104085== Process terminating with default action of signal 4 (SIGILL) ==104085== Illegal opcode at address 0x51D42F3 ==104085== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104085== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104085== by 0x51D42F3: Curl_open (url.c:551) ==104085== by 0x514CA2F: curl_easy_init (easy.c:372) ==104085== by 0x400A14A: test_lib519.lto_priv.0 (lib519.c:38) ==104085== by 0x400347F: main (first.c:281) ==104085== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104085== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104085== by 0x51D4243: Curl_open (url.c:530) ==104085== by 0x514CA2F: curl_easy_init (easy.c:372) ==104085== by 0x400A14A: test_lib519.lto_priv.0 (lib519.c:38) ==104085== by 0x400347F: main (first.c:281) ==104085== === End of file valgrind519 test 0521...[FTP dir list PASV with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36077 > log/6/stdout521 2> log/6/stderr521 521: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 521 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36077 > log/6/stdout521 2> log/6/stderr521 === End of file commands.log === Start of file ftp_server.log 14:53:36.145428 ====> Client connect 14:53:36.145598 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.145892 < "USER anonymous" 14:53:36.145928 > "331 We are happy you popped in![CR][LF]" 14:53:36.146101 < "PASS ftp@example.com" 14:53:36.146125 > "230 Welcome you silly person[CR][LF]" 14:53:36.146282 < "PWD" 14:53:36.146319 > "257 "/" is current directory[CR][LF]" 14:53:36.146516 < "EPSV" 14:53:36.146541 ====> Passive DATA channel requested by client 14:53:36.146556 DATA sockfilt for passive data channel starting... 14:53:36.148076 DATA sockfilt for passive data channel started (pid 104136) 14:53:36.148194 DATA sockfilt for passive data channel listens on port 42939 14:53:36.148239 > "229 Entering Passive Mode (|||42939|)[LF]" 14:53:36.148261 Client has been notified that DATA conn will be accepted on port 42939 14:53:36.148506 Client connects to port 42939 14:53:36.148536 ====> Client established passive DATA connection on port 42939 14:53:36.148612 < "TYPE I" 14:53:36.148641 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.148803 < "SIZE verifiedserver" 14:53:36.148840 > "213 17[CR][LF]" 14:53:36.148994 < "RETR verifiedserver" 14:53:36.149025 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.149108 =====> Closing passive DATA connection... 14:53:36.149124 Server disconnects passive DATA connection 14:53:36.149367 Server disconnected passive DATA connection 14:53:36.149394 DATA sockfilt for passive data channel quits (pid 104136) 14:53:36.149608 DATA sockfilt for passive data channel quit (pid 104136) 14:53:36.149631 =====> Closed passive DATA connection 14:53:36.149657 > "226 File transfer complete[CR][LF]" 14:53:36.191027 < "QUIT" 14:53:36.191081 > "221 bye bye baby[CR][LF]" 14:53:36.191814 MAIN sockfilt said DISC 14:53:36.191846 ====> Client disconnected 14:53:36.191922 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:35.228117 ====> Client connect 14:53:35.228428 Received DATA (on stdin) 14:53:35.228445 > 160 bytes data, server => client 14:53:35.228459 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:35.228472 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:35.228484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:35.228561 < 16 bytes data, client => server 14:53:35.228576 'USER anonymous\r\n' 14:53:35.228750 Received DATA (on stdin) 14:53:35.228764 > 33 bytes data, server => client 14:53:35.228776 '331 We are happy you popped in!\r\n' 14:53:35.228829 < 22 bytes data, client => server 14:53:35.228842 'PASS ftp@example.com\r\n' 14:53:35.228942 Received DATA (on stdin) 14:53:35.228955 > 30 bytes data, server => client 14:53:35.228968 '230 Welcome you silly person\r\n' 14:53:35.229016 < 5 bytes data, client => server 14:53:35.229028 'PWD\r\n' 14:53:35.229139 Received DATA (on stdin) 14:53:35.229155 > 30 bytes data, server => client 14:53:35.229168 '257 "/" is current directory\r\n' 14:53:35.229242 < 6 bytes data, client => server 14:53:35.229256 'EPSV\r\n' 14:53:35.231089 Received DATA (on stdin) 14:53:35.231105 > 38 bytes data, server => client 14:53:35.231118 '229 Entering Passive Mode (|||42939|)\n' 14:53:35.231267 < 8 bytes daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:38141/520 > log/12/stdout520 2> log/12/stderr520 ta, client => server 14:53:35.231280 'TYPE I\r\n' 14:53:35.231459 Received DATA (on stdin) 14:53:35.231473 > 33 bytes data, server => client 14:53:35.231485 '200 I modify TYPE as you wanted\r\n' 14:53:35.231535 < 21 bytes data, client => server 14:53:35.231548 'SIZE verifiedserver\r\n' 14:53:35.231657 Received DATA (on stdin) 14:53:35.231669 > 8 bytes data, server => client 14:53:35.231681 '213 17\r\n' 14:53:35.231729 < 21 bytes data, client => server 14:53:35.231742 'RETR verifiedserver\r\n' 14:53:35.231943 Received DATA (on stdin) 14:53:35.231956 > 29 bytes data, server => client 14:53:35.231968 '150 Binary junk (17 bytes).\r\n' 14:53:35.232475 Received DATA (on stdin) 14:53:35.232490 > 28 bytes data, server => client 14:53:35.232503 '226 File transfer complete\r\n' 14:53:35.273665 < 6 bytes data, client => server 14:53:35.273694 'QUIT\r\n' 14:53:35.273902 Received DATA (on stdin) 14:53:35.273916 > 18 bytes data, server => client 14:53:35.273928 '221 bye bye baby\r\n' 14:53:35.274575 ====> Client disconnect 14:53:35.274741 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.230726 Running IPv4 version 14:53:36.230780 Listening on port 42939 14:53:36.230814 Wrote pid 104136 to log/6/server/ftp_sockdata.pid 14:53:36.230835 Received PING (on stdin) 14:53:36.230925 Received PORT (on stdin) 14:53:36.231237 ====> Client connect 14:53:36.231993 Received DATA (on stdin) 14:53:36.232008 > 17 bytes data, server => client 14:53:36.232020 'WE ROOLZ: 80241\r\n' 14:53:36.232044 Received DISC (on stdin) 14:53:36.232057 ====> Client forcibly disconnected 14:53:36.232220 Received QUIT (on stdin) 14:53:36.232233 quits 14:53:36.232290 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file stderr521 URL: ftp://127.0.0.1/521/ === End of file stderr521 === Start of file valgrind521 ==104175== ==104175== Process terminating with default action of signal 4 (SIGILL) ==104175== Illegal opcode at address 0x51D42F3 ==104175== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104175== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104175== by 0x51D42F3: Curl_open (url.c:551) ==104175== by 0x514CA2F: curl_easy_init (easy.c:372) ==104175== by 0x400A38A: test_lib521.lto_priv.0 (lib521.c:38) ==104175== by 0x400347F: main (first.c:281) ==104175== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104175== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104175== by 0x51D4243: Curl_open (url.c:530) ==104175== by 0x514CA2F: curl_easy_init (easy.c:372) ==104175== by 0x400A38A: test_lib521.lto_priv.0 (lib521.c:38) ==104175== by 0x400347F: main (first.c:281) ==104175== === End of file valgrind521 test 0520...[FTP RETR with FILETIME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:38141/520 > log/12/stdout520 2> log/12/stderr520 520: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:38141/520 > log/12/stdout520 2> log/12/stderr520 === End of file commands.log === Start of file ftp_server.log 14:53:36.122412 ====> Client connect 14:53:36.122566 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.122873 < "USER anonymous" 14:53:36.122913 > "331 We are happy you popped in![CR][LF]" 14:53:36.123113 < "PASS ftp@example.com" 14:53:36.123146 > "230 Welcome you silly person[CR][LF]" 14:53:36.123323 < "PWD" 14:53:36.123357 > "257 "/" is current directory[CR][LF]" 14:53:36.123617 < "EPSV" 14:53:36.123644 ====> Passive DATA channel requested by client 14:53:36.123658 DATA sockfilt for passive data channel starting... 14:53:36.125558 DATA sockfilt for passive data channel started (pid 104092) 14:53:36.125691 DATA sockfilt for passive data channel listens on port 43623 14:53:36.125737 > "229 Entering Passive Mode (|||43623|)[LF]" 14:53:36.125761 Client has been notified that DATA conn will be accepted on port 43623 14:53:36.126024 Client connects to port 43623 14:53:36.126057 ====> Client established passive DATA connection on port 43623 14:53:36.126139 < "TYPE I" 14:53:36.126169 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.126352 < "SIZE verifiedserver" 14:53:36.126391 > "213 17[CR][LF]" 14:53:36.126567 < "RETR verifiedserver" 14:53:36.126606 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.126694 =====> Closing passive DATA connection... 14:53:36.126714 Server disconnects passive DATA connection 14:53:36.127150 Server disconnected passive DATA connection 14:53:36.127179 DATA sockfilt for passive data channel quits (pid 104092) 14:53:36.127462 DATA sockfilt for passive data channel quit (pid 104092) 14:53:36.127490 =====> Closed passive DATA connection 14:53:36.127523 > "226 File transfer complete[CR][LF]" 14:53:36.173802 < "QUIT" 14:53:36.173863 > "221 bye bye baby[CR][LF]" 14:53:36.174698 MAIN sockfilt said DISC 14:53:36.174728 ====> Client disconnected 14:53:36.174800 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:35.205128 ====> Client connect 14:53:35.205403 Received DATA (on stdin) 14:53:35.205422 > 160 bytes data, server => client 14:53:35.205436 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:35.205449 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:35.205460 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:35.205542 < 16 bytes data, client => server 14:53:35.205558 'USER anonymous\r\n' 14:53:35.205736 Received DATA (on stdin) 14:53:35.205751 > 33 bytes data, server => client 14:53:35.205764 '331 We are happy you popped in!\r\n' 14:53:35.205822 < 22 bytes data, client => server 14:53:35.205837 'PASS ftp@example.com\r\n' 14:53:35.205966 Received DATA (on stdin) 14:53:35.205980 > 30 bytes data, server => client 14:53:35.205992 '230 Welcome you silly person\r\n' 14:53:35.206046 < 5 bytes data, client => server 14:53:35.206061 'PWD\r\n' 14:53:35.206175 Received DATA (on stdin) 14:53:35.206189 > 30 bytes data, server => client 14:53:35.206201 '257 "/" is current directory\r\n' 14:53:35.206311 < 6 bytes data, client => server 14:53:35.206332 'EPSV\r\n' 14:53:35.208587 Received DATA (on stdin) 14:53:35.208604 > 38 bytes data, server => client 14:53:35.208617 '229 Entering Passive Mode (|||43623|)\n' 14:53:35.208784 < 8 bytes data, client => server 14:53:35.208798 'TYPE I\r\n' 14:53:35.208991 Received DATA (on stdin) 14:53:35.209005 > 33 bytes data, server => client 14:53:35.209018 '200 I modify TYPE as you wanted\r\n' 14:53:35.209073 < 21 bytes data, client => server 14:53:35.209089 'SIZE verifiedserver\r\n' 14:53:35.209212 Received DATA (on stdin) 14:53:35.209225 > 8 bytes data, server => client 14:53:35.209237 '213 17\r\n' 14:53:35.209290 < 21 bytes data, client => server 14:53:35.209305 'RETR verifiedserver\r\n' 14:53:35.209536 Received DATA (on stdin) 14:53:35.209551 > 29 bytes data, server => client 14:53:35.209563 '150 Binary junk (17 bytes).\r\n' 14:53:35.210345 Received DATA (on stdin) 14:53:35.210361 > 28 bytes data, server => client 14:53:35.210373 '226 File transfer complete\r\n' 14:53:35.256261 < 6 bytes data, client => server 14:53:35.256290 'QUIT\r\n' 14:53:35.256687 Received DATA (on stdin) 14:53:35.256701 > 18 bytes data, server => client 14:53:35.256713 '221 bye bye baby\r\n' 14:53:35.257463 ====> Client disconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 37587 > log/2/stdout522 2> log/2/stderr522 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34475 > log/16/stdout523 2> log/16/stderr523 nect 14:53:35.257619 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.208194 Running IPv4 version 14:53:36.208251 Listening on port 43623 14:53:36.208293 Wrote pid 104092 to log/12/server/ftp_sockdata.pid 14:53:36.208314 Received PING (on stdin) 14:53:36.208412 Received PORT (on stdin) 14:53:36.208751 ====> Client connect 14:53:36.209592 Received DATA (on stdin) 14:53:36.209609 > 17 bytes data, server => client 14:53:36.209621 'WE ROOLZ: 80195\r\n' 14:53:36.209648 Received DISC (on stdin) 14:53:36.209896 ====> Client forcibly disconnected 14:53:36.210010 Received QUIT (on stdin) 14:53:36.210023 quits 14:53:36.210089 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file stderr520 URL: ftp://127.0.0.1:38141/520 === End of file stderr520 === Start of file valgrind520 ==104155== ==104155== Process terminating with default action of signal 4 (SIGILL) ==104155== Illegal opcode at address 0x51D42F3 ==104155== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104155== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104155== by 0x51D42F3: Curl_open (url.c:551) ==104155== by 0x514CA2F: curl_easy_init (easy.c:372) ==104155== by 0x400A28A: test_lib520.lto_priv.0 (lib520.c:38) ==104155== by 0x400347F: main (first.c:281) ==104155== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104155== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104155== by 0x51D4243: Curl_open (url.c:530) ==104155== by 0x514CA2F: curl_easy_init (easy.c:372) ==104155== by 0x400A28A: test_lib520.lto_priv.0 (lib520.c:38) ==104155== by 0x400347F: main (first.c:281) ==104155== === End of file valgrind520 test 0522...[HTTP GET with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 37587 > log/2/stdout522 2> log/2/stderr522 522: stdout FAILED: --- log/2/check-expected 2025-09-11 14:53:37.462197416 +0000 +++ log/2/check-generated 2025-09-11 14:53:37.462197416 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/2/ dir after test 522 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 37587 > log/2/stdout522 2> log/2/stderr522 === End of file commands.log === Start of file http_server.log 14:53:36.513208 ====> Client connect 14:53:36.513249 accept_connection 3 returned 4 14:53:36.513268 accept_connection 3 returned 0 14:53:36.513285 Read 93 bytes 14:53:36.513297 Process 93 bytes request 14:53:36.513313 Got request: GET /verifiedserver HTTP/1.1 14:53:36.513324 Are-we-friendly question received 14:53:36.513350 Wrote request (93 bytes) input to log/2/server.input 14:53:36.513371 Identifying ourselves as friends 14:53:36.513430 Response sent (56 bytes) and written to log/2/server.response 14:53:36.513443 special request received, no persistency 14:53:36.513454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 59942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==104305== ==104305== Process terminating with default action of signal 4 (SIGILL) ==104305== Illegal opcode at address 0x51D42F3 ==104305== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104305== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104305== by 0x51D42F3: Curl_open (url.c:551) ==104305== by 0x514CA2F: curl_easy_init (easy.c:372) ==104305== by 0x400A38A: test_lib521.lto_priv.0 (lib521.c:38) ==104305== by 0x400347F: main (first.c:281) ==104305== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104305== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104305== by 0x51D4243: Curl_open (url.c:530) ==104305== by 0x514CA2F: curl_easy_init (easy.c:372) ==104305== by 0x400A38A: test_lib521.lto_priv.0 (lib521.c:38) ==104305== by 0x400347F: main (first.c:281) ==104305== === End of file valgrind522 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37495/path/526 > log/7/stdout526 2> log/7/stderr526 test 0523...[HTTP GET with proxy and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34475 > log/16/stdout523 2> log/16/stderr523 523: stdout FAILED: --- log/16/check-expected 2025-09-11 14:53:37.468864083 +0000 +++ log/16/check-generated 2025-09-11 14:53:37.468864083 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/16/ dir after test 523 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34475 > log/16/stdout523 2> log/16/stderr523 === End of file commands.log === Start of file http_server.log 14:53:36.518243 ====> Client connect 14:53:36.518276 accept_connection 3 returned 4 14:53:36.518293 accept_connection 3 returned 0 14:53:36.518309 Read 93 bytes 14:53:36.518320 Process 93 bytes request 14:53:36.518334 Got request: GET /verifiedserver HTTP/1.1 14:53:36.518345 Are-we-friendly question received 14:53:36.518368 Wrote request (93 bytes) input to log/16/server.input 14:53:36.518385 Identifying ourselves as friends 14:53:36.518437 Response sent (56 bytes) and written to log/16/server.response 14:53:36.518448 special request received, no persistency 14:53:36.518458 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 49742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==104312== ==104312== Process terminating with default action of signal 4 (SIGILL) ==104312== Illegal opcode at address 0x51D42F3 ==104312== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104312== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104312== by 0x51D42F3: Curl_open (url.c:551) ==104312== by 0x514CA2F: curl_easy_init (easy.c:372) ==104312== by 0x400A4CA: test_lib523.lto_priv.0 (lib523.c:38) ==104312== by 0x400347F: main (first.c:281) ==104312== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104312== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104312== by 0x51D4243: Curl_open (url.c:530) ==104312== by 0x514CA2F: curl_easy_init (easy.c:372) ==104312== by 0x400A4CA: test_lib523.lto_priv.0 (lib523.c:38) ==104312== by 0x400347F: main (first.c:281) ==104312== === End of file valgrind523 test 0526...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37495/path/526 > log/7/stdout526 2> log/7/stderr526 526: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37495/path/526 > log/7/stdout526 2> log/7/stderr526 === End of file commands.log === Start of file ftp_server.log 14:53:36.540139 ====> Client connect 14:53:36.540293 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.540556 < "USER anonymous" 14:53:36.540588 > "331 We are happy you popped in![CR][LF]" 14:53:36.540754 < "PASS ftp@example.com" 14:53:36.540779 > "230 Welcome you silly person[CR][LF]" 14:53:36.540929 < "PWD" 14:53:36.540956 > "257 "/" is current directory[CR][LF]" 14:53:36.541116 < "EPSV" 14:53:36.541140 ====> Passive DATA channel requested by client 14:53:36.541153 DATA sockfilt for passive data channel starting... 14:53:36.542724 DATA sockfilt for passive data channel started (pid 104451) 14:53:36.542851 DATA sockfilt for passive data channel listens on port 33237 14:53:36.542901 > "229 Entering Passive Mode (|||33237|)[LF]" 14:53:36.542926 Client has been notified that DATA conn will be accepted on port 33237 14:53:36.543170 Client connects to port 33237 14:53:36.543200 ====> Client established passive DATA connection on port 33237 14:53:36.543281 < "TYPE I" 14:53:36.543310 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.543498 < "SIZE verifiedserver" 14:53:36.543546 > "213 17[CR][LF]" 14:53:36.543727 < "RETR verifiedserver" 14:53:36.543764 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.543847 =====> Closing passive DATA connection... 14:53:36.543867 Server disconnects passive DATA connection 14:53:36.544115 Server disconnected passive DATA connection 14:53:36.544148 DATA sockfilt for passive data channel quits (pid 104451) 14:53:36.544364 DATA sockfilt for passive data channel quit (pid 104451) 14:53:36.544392 =====> Closed passive DATA connection 14:53:36.544420 > "226 File transfer complete[CR][LF]" 14:53:36.588381 < "QUIT" 14:53:36.588431 > "221 bye bye baby[CR][LF]" 14:53:36.589174 MAIN sockfilt said DISC 14:53:36.589206 ====> Client disconnected 14:53:36.589270 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:35.622864 ====> Client connect 14:53:35.623119 Received DATA (on stdin) 14:53:35.623135 > 160 bytes data, server => client 14:53:35.623148 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:35.623161 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:35.623172 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:35.623240 < 16 bytes data, client => server 14:53:35.623254 'USER anonymous\r\n' 14:53:35.623407 Received DATA (on stdin) 14:53:35.623421 > 33 bytes data, server => client 14:53:35.623433 '331 We are happy you popped in!\r\n' 14:53:35.623483 < 22 bytes data, client => server 14:53:35.623496 'PASS ftp@example.com\r\n' 14:53:35.623595 Received DATA (on stdin) 14:53:35.623607 > 30 bytes data, server => client 14:53:35.623619 '230 Welcome you silly person\r\n' 14:53:35.623666 < 5 bytes data, client => server 14:53:35.623677 'PWD\r\n' 14:53:35.623771 Received DATA (on stdin) 14:53:35.623783 > 30 bytes data, server => client 14:53:35.623796 '257 "/" is current directory\r\n' 14:53:35.623851 < 6 bytes data, client => server 14:53:35.623864 'EPSV\r\n' 14:53:35.625752 Received DATA (on stdin) 14:53:35.625767 > 38 bytes data, server => client 14:53:35.625780 '229 Entering Passive Mode (|||33237|)\n' 14:53:35.625928 < 8 bytes data, client => server 14:53:35.625942 'TYPE I\r\n' 14:53:35.626133 Received DATA (on stdin) 14:53:35.626147 > 33 bytes data, server => client 14:53:35.626160 '200 I modify TYPE as you wanted\r\n' 14:53:35.626216 < 21 bytes data, client => server 14:53:35.626232 'SIZE verifiedserver\r\n' 14:53:35.626370 Received DATA (on stdin) 14:53:35.626384 > 8 bytes data, server => client 14:53:35.626396 '213 17\r\n' 14:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45969/path/525 log/22/upload525 > log/22/stdout525 2> log/22/stderr525 3:35.626451 < 21 bytes data, client => server 14:53:35.626465 'RETR verifiedserver\r\n' 14:53:35.626688 Received DATA (on stdin) 14:53:35.626702 > 29 bytes data, server => client 14:53:35.626714 '150 Binary junk (17 bytes).\r\n' 14:53:35.627241 Received DATA (on stdin) 14:53:35.627256 > 28 bytes data, server => client 14:53:35.627269 '226 File transfer complete\r\n' 14:53:35.671034 < 6 bytes data, client => server 14:53:35.671062 'QUIT\r\n' 14:53:35.671256 Received DATA (on stdin) 14:53:35.671271 > 18 bytes data, server => client 14:53:35.671283 '221 bye bye baby\r\n' 14:53:35.671937 ====> Client disconnect 14:53:35.672092 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.625358 Running IPv4 version 14:53:36.625413 Listening on port 33237 14:53:36.625456 Wrote pid 104451 to log/7/server/ftp_sockdata.pid 14:53:36.625479 Received PING (on stdin) 14:53:36.625578 Received PORT (on stdin) 14:53:36.625895 ====> Client connect 14:53:36.626743 Received DATA (on stdin) 14:53:36.626758 > 17 bytes data, server => client 14:53:36.626770 'WE ROOLZ: 80245\r\n' 14:53:36.626796 Received DISC (on stdin) 14:53:36.626809 ====> Client forcibly disconnected 14:53:36.626978 Received QUIT (on stdin) 14:53:36.626992 quits 14:53:36.627045 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file stderr526 URL: ftp://127.0.0.1:37495/path/526 === End of file stderr526 === Start of file valgrind526 ==104477== ==104477== Process terminating with default action of signal 4 (SIGILL) ==104477== Illegal opcode at address 0x51D42F3 ==104477== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104477== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104477== by 0x51D42F3: Curl_open (url.c:551) ==104477== by 0x514CA2F: curl_easy_init (easy.c:372) ==104477== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104477== by 0x400347F: main (first.c:281) ==104477== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104477== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104477== by 0x51D4243: Curl_open (url.c:530) ==104477== by 0x514CA2F: curl_easy_init (easy.c:372) ==104477== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104477== by 0x400347F: main (first.c:281) ==104477== === End of file valgrind526 test 0525...[FTP PORT upload using multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45969/path/525 log/22/upload525 > log/22/stdout525 2> log/22/stderr525 525: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45969/path/525 log/22/upload525 > log/22/stdout525 2> log/22/stderr525 === End of file commands.log === Start of file ftp_server.log 14:53:36.535194 ====> Client connect 14:53:36.535339 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.535643 < "USER anonymous" 14:53:36.535681 > "331 We are happy you popped in![CR][LF]" 14:53:36.535867 < "PASS ftp@example.com" 14:53:36.535895 > "230 Welcome you silly person[CR][LF]" 14:53:36.536050 < "PWD" 14:53:36.536080 > "257 "/" is current directory[CR][LF]" 14:53:36.536238 < "EPSV" 14:53:36.536263 ====> Passive DATA channel requested by client 14:53:36.536277 DATA sockfilt for passive data channel starting... 14:53:36.538205 DATA sockfilt for passive data channel started (pid 104450) 14:53:36.538336 DATA sockfilt for passive data channel listens on port 44825 14:53:36.538388 > "229 Entering Passive Mode (|||44825|)[LF]" 14:53:36.538413 Client has been notified that DATA conn will be accepted on port 44825 14:53:36.538697 Client connects to port 44825 14:53:36.538729 ====> Client established passive DATA connection on port 44825 14:53:36.538814 < "TYPE I" 14:53:36.538849 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.539033 < "SIZE verifiedserver" 14:53:36.539077 > "213 17[CR][LF]" 14:53:36.539265 < "RETR verifiedserver" 14:53:36.539310 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.539405 =====> Closing passive DATA connection... 14:53:36.539426 Server disconnects passive DATA connection 14:53:36.539698 Server disconnected passive DATA connection 14:53:36.539732 DATA sockfilt for passive data channel quits (pid 104450) 14:53:36.539962 DATA sockfilt for passive data channel quit (pid 104450) 14:53:36.539991 =====> Closed passive DATA connection 14:53:36.540021 > "226 File transfer complete[CR][LF]" 14:53:36.583423 < "QUIT" 14:53:36.583462 > "221 bye bye baby[CR][LF]" 14:53:36.584049 MAIN sockfilt said DISC 14:53:36.584073 ====> Client disconnected 14:53:36.584122 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.617899 ====> Client connect 14:53:36.618170 Received DATA (on stdin) 14:53:36.618187 > 160 bytes data, server => client 14:53:36.618201 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.618214 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.618226 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.618308 < 16 bytes data, client => server 14:53:36.618326 'USER anonymous\r\n' 14:53:36.618491 Received DATA (on stdin) 14:53:36.618513 > 33 bytes data, server => client 14:53:36.618527 '331 We are happy you popped in!\r\n' 14:53:36.618585 < 22 bytes data, client => server 14:53:36.618599 'PASS ftp@example.com\r\n' 14:53:36.618712 Received DATA (on stdin) 14:53:36.618724 > 30 bytes data, server => client 14:53:36.618737 '230 Welcome you silly person\r\n' 14:53:36.618784 < 5 bytes data, client => server 14:53:36.618796 'PWD\r\n' 14:53:36.618896 Received DATA (on stdin) 14:53:36.618908 > 30 bytes data, server => client 14:53:36.618920 '257 "/" is current directory\r\n' 14:53:36.618975 < 6 bytes data, client => server 14:53:36.618987 'EPSV\r\n' 14:53:36.621239 Received DATA (on stdin) 14:53:36.621256 > 38 bytes data, server => client 14:53:36.621270 '229 Entering Passive Mode (|||44825|)\n' 14:53:36.621456 < 8 bytes data, client => server 14:53:36.621470 'TYPE I\r\n' 14:53:36.621670 Received DATA (on stdin) 14:53:36.621685 > 33 bytes data, server => client 14:53:36.621698 '200 I modify TYPE as you wanted\r\n' 14:53:36.621753 < 21 bytes data, client => server 14:53:36.621768 'SIZE verifiedserver\r\n' 14:53:36.621898 Received DATA (on stdin) 14:53:36.621913 > 8 bytes data, server => client 14:53:36.621925 '213 17\r\n' 14:53:36.621984 < 21 bytes data, client => server 14:53:36.622001 'RETR verifiedserver\r\n' 14:53:36.622247 Received DATA (on stdin) 14:53:36.622262 > 29 bytes data, server => client 14:53:36.622275 '150 Binary junk (17 bytes).\r\n' 14:53:36.622842 Received DATA (on stdin) 14:53:36.622857 > 28 bytes data, server => client 14:53:36.622870 '226 File transfer complete\r\n' 14:53:36.665147 < 6 bytes data, client => server 14:53:36.666116 'QUIT\r\n' 14:53:36.666278 Received DATA (on stdin) 14:53:36.666288 > 18 bytes data, server => client 14:53:36.666298 '221 bye bye baby\r\n' 14:53:36.666817 ====> Client disconnect 14:53:36.666935 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.620827 Running IPv4 version 14:53:36.620891 Listening on port 44825 14:53:36.620934 Wrote pid 104450 to log/22/server/ftp_sockdata.pid 14:53:36.620959 Received PING (on stdin) 14:53:36.621059 Received PORT (on stdin) 14:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:32907/path/to/ > log/5/stdout524 2> log/5/stderr524 3:36.621423 ====> Client connect 14:53:36.622304 Received DATA (on stdin) 14:53:36.622320 > 17 bytes data, server => client 14:53:36.622332 'WE ROOLZ: 80268\r\n' 14:53:36.622359 Received DISC (on stdin) 14:53:36.622373 ====> Client forcibly disconnected 14:53:36.622561 Received QUIT (on stdin) 14:53:36.622576 quits 14:53:36.622637 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file stderr525 URL: ftp://127.0.0.1:45969/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==104472== ==104472== Process terminating with default action of signal 4 (SIGILL) ==104472== Illegal opcode at address 0x51D42F3 ==104472== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104472== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104472== by 0x51D42F3: Curl_open (url.c:551) ==104472== by 0x514CA2F: curl_easy_init (easy.c:372) ==104472== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==104472== by 0x400347F: main (first.c:281) ==104472== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==104472== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104472== by 0x51D4243: Curl_open (url.c:530) ==104472== by 0x514CA2F: curl_easy_init (easy.c:372) ==104472== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==104472== by 0x400347F: main (first.c:281) ==104472== === End of file valgrind525 test 0524...[FTP upload with target URL ending with slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:32907/path/to/ > log/5/stdout524 2> log/5/stderr524 524: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:32907/path/to/ > log/5/stdout524 2> log/5/stderr524 === End of file commands.log === Start of file ftp_server.log 14:53:36.527648 ====> Client connect 14:53:36.527829 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.528119 < "USER anonymous" 14:53:36.528151 > "331 We are happy you popped in![CR][LF]" 14:53:36.528320 < "PASS ftp@example.com" 14:53:36.528348 > "230 Welcome you silly person[CR][LF]" 14:53:36.528498 < "PWD" 14:53:36.528525 > "257 "/" is current directory[CR][LF]" 14:53:36.528687 < "EPSV" 14:53:36.528710 ====> Passive DATA channel requested by client 14:53:36.528724 DATA sockfilt for passive data channel starting... 14:53:36.531287 DATA sockfilt for passive data channel started (pid 104442) 14:53:36.531410 DATA sockfilt for passive data channel listens on port 36907 14:53:36.531455 > "229 Entering Passive Mode (|||36907|)[LF]" 14:53:36.531475 Client has been notified that DATA conn will be accepted on port 36907 14:53:36.531719 Client connects to port 36907 14:53:36.531749 ====> Client established passive DATA connection on port 36907 14:53:36.531830 < "TYPE I" 14:53:36.531859 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.532025 < "SIZE verifiedserver" 14:53:36.532062 > "213 17[CR][LF]" 14:53:36.532219 < "RETR verifiedserver" 14:53:36.532248 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.532330 =====> Closing passive DATA connection... 14:53:36.532346 Server disconnects passive DATA connection 14:53:36.532594 Server disconnected passive DATA connection 14:53:36.532622 DATA sockfilt for passive data channel quits (pid 104442) 14:53:36.532831 DATA sockfilt for passive data channel quit (pid 104442) 14:53:36.532854 =====> Closed passive DATA connection 14:53:36.532881 > "226 File transfer complete[CR][LF]" 14:53:36.575691 < "QUIT" 14:53:36.575744 > "221 bye bye baby[CR][LF]" 14:53:36.576436 MAIN sockfilt said DISC 14:53:36.576469 ====> Client disconnected 14:53:36.576546 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.610313 ====> Client connect 14:53:36.610660 Received DATA (on stdin) 14:53:36.610676 > 160 bytes data, server => client 14:53:36.610690 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.610703 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.610715 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.610792 < 16 bytes data, client => server 14:53:36.610806 'USER anonymous\r\n' 14:53:36.610971 Received DATA (on stdin) 14:53:36.610984 > 33 bytes data, server => client 14:53:36.610996 '331 We are happy you popped in!\r\n' 14:53:36.611047 < 22 bytes data, client => server 14:53:36.611060 'PASS ftp@example.com\r\n' 14:53:36.611164 Received DATA (on stdin) 14:53:36.611176 > 30 bytes data, server => client 14:53:36.611188 '230 Welcome you silly person\r\n' 14:53:36.611234 < 5 bytes data, client => server 14:53:36.611246 'PWD\r\n' 14:53:36.611341 Received DATA (on stdin) 14:53:36.611353 > 30 bytes data, server => client 14:53:36.611365 '257 "/" is current directory\r\n' 14:53:36.611421 < 6 bytes data, client => server 14:53:36.611434 'EPSV\r\n' 14:53:36.614298 Received DATA (on stdin) 14:53:36.614313 > 38 bytes data, server => client 14:53:36.614327 '229 Entering Passive Mode (|||36907|)\n' 14:53:36.614478 < 8 bytes data, client => server 14:53:36.614493 'TYPE I\r\n' 14:53:36.614676 Received DATA (on stdin) 14:53:36.614690 > 33 bytes data, server => client 14:53:36.614703 '200 I modify TYPE as you wanted\r\n' 14:53:36.614756 < 21 bytes data, client => server 14:53:36.614769 'SIZE verifiedserver\r\n' 14:53:36.614879 Received DATA (on stdin) 14:53:36.614892 > 8 bytes data, server => client 14:53:36.614904 '213 17\r\n' 14:53:36.614953 < 21 bytes data, client => server 14:53:36.614966 'RETR verifiedserver\r\n' 14:53:36.615166 Received DATA (on stdin) 14:53:36.615180 > 29 bytes data, server => client 14:53:36.615193 '150 Binary junk (17 bytes).\r\n' 14:53:36.615699 Received DATA (on stdin) 14:53:36.615714 > 28 bytes data, server => client 14:53:36.615727 '226 File transfer complete\r\n' 14:53:36.658319 < 6 bytes data, client => server 14:53:36.658346 'QUIT\r\n' 14:53:36.658565 Received DATA (on stdin) 14:53:36.658578 > 18 bytes data, server => client 14:53:36.658590 '221 bye bye baby\r\n' 14:53:36.659187 ====> Client disconnect 14:53:36.659368 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.613915 Running IPv4 version 14:53:36.613981 Listening on port 36907 14:53:36.614017 Wrote pid 104442 to log/5/server/ftp_sockdata.pid 14:53:36.614041 Received PING (on stdin) 14:53:36.614136 Received PORT (on stdin) 14:53:36.614447 ====> Client connect 14:53:36.615219 Received DATA (on stdin) 14:53:36.615233 > 17 bytes data, server => client 14:53:36.615246 'WE ROOLZ: 80255\r\n' 14:53:36.615270 Received DISC (on stdin) 14:53:36.615282 ====> Client forcibly disconnected 14:53:36.615448 Received QUIT (on stdin) 14:53:36.615462 quits 14:53:36.615520 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file stderr524 URL: ftp://127.0.0.1:32907/path/to/ === End of file stderr524 === Start of file valgrind524 ==104460== ==104460== Process terminating with default action of signal 4 (SIGILL) ==104460== Illegal opcode at address 0x51D42F3 ==104460== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104460== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104460== by 0x51D42F3: Curl_open (url.c:551) ==104460== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind503 ./libtest/libtests lib503 http://machine.503:42107/503 127.0.0.1:33761 > log/15/stdout503 2> log/15/stderr503 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:37027/path/527 > log/9/stdout527 2> log/9/stderr527 by 0x514CA2F: curl_easy_init (easy.c:372) ==104460== by 0x400A60A: test_lib524.lto_priv.0 (lib524.c:38) ==104460== by 0x400347F: main (first.c:281) ==104460== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104460== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104460== by 0x51D4243: Curl_open (url.c:530) ==104460== by 0x514CA2F: curl_easy_init (easy.c:372) ==104460== by 0x400A60A: test_lib524.lto_priv.0 (lib524.c:38) ==104460== by 0x400347F: main (first.c:281) ==104460== === End of file valgrind524 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/15/server/http2_server.pid" --logfile "log/15/http2_server.log" --logdir "log/15" --portfile log/15/server/http2_server.port --config log/15/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 103138 port 33761 * pid http-proxy => 103138 103138 test 0503...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind503 ./libtest/libtests lib503 http://machine.503:42107/503 127.0.0.1:33761 > log/15/stdout503 2> log/15/stderr503 503: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind503 ./libtest/libtests lib503 http://machine.503:42107/503 127.0.0.1:33761 > log/15/stdout503 2> log/15/stderr503 === End of file commands.log === Start of file http2_server.log 14:53:35.726144 Run as proxy, CONNECT to host 127.0.0.1 14:53:35.726271 Running HTTP IPv4 version on port 33761 14:53:35.726310 Wrote pid 103138 to log/15/server/http2_server.pid 14:53:35.726348 Wrote port 33761 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:53:35.700882 ====> Client connect 14:53:35.700920 accept_connection 3 returned 4 14:53:35.700940 accept_connection 3 returned 0 14:53:35.700957 Read 93 bytes 14:53:35.700969 Process 93 bytes request 14:53:35.700983 Got request: GET /verifiedserver HTTP/1.1 14:53:35.700993 Are-we-friendly question received 14:53:35.701014 Wrote request (93 bytes) input to log/15/server.input 14:53:35.701029 Identifying ourselves as friends 14:53:35.701077 Response sent (56 bytes) and written to log/15/server.response 14:53:35.701086 special request received, no persistency 14:53:35.701094 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 35462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr503 URL: http://machine.503:42107/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==104586== ==104586== Process terminating with default action of signal 4 (SIGILL) ==104586== Illegal opcode at address 0x51D42F3 ==104586== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104586== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104586== by 0x51D42F3: Curl_open (url.c:551) ==104586== by 0x514CA2F: curl_easy_init (easy.c:372) ==104586== by 0x4060795: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==104586== by 0x400347F: main (first.c:281) ==104586== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104586== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104586== by 0x51D4243: Curl_open (url.c:530) ==104586== by 0x514CA2F: curl_easy_init (easy.c:372) ==104586== by 0x4060795: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==104586== by 0x400347F: main (first.c:281) ==104586== === End of file valgrind503 test 0527...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:37027/path/527 > log/9/stdout527 2> log/9/stderr527 527: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:37027/path/527 > log/9/stdout527 2> log/9/stderr527 === End of file commands.log === Start of file ftp_server.log 14:53:36.657851 ====> Client connect 14:53:36.657991 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.658227 < "USER anonymous" 14:53:36.658265 > "331 We are happy you popped in![CR][LF]" 14:53:36.658450 < "PASS ftp@example.com" 14:53:36.658477 > "230 Welcome you silly person[CR][LF]" 14:53:36.658644 < "PWD" 14:53:36.658675 > "257 "/" is current directory[CR][LF]" 14:53:36.658852 < "EPSV" 14:53:36.658881 ====> Passive DATA channel requested by client 14:53:36.658896 DATA sockfilt for passive data channel starting... 14:53:36.660810 DATA sockfilt for passive data channel started (pid 104664) 14:53:36.660961 DATA sockfilt for passive data channel listens on port 36837 14:53:36.660998 > "229 Entering Passive Mode (|||36837|)[LF]" 14:53:36.661015 Client has been notified that DATA conn will be accepted on port 36837 14:53:36.661256 Client connects to port 36837 14:53:36.661289 ====> Client established passive DATA connection on port 36837 14:53:36.661371 < "TYPE I" 14:53:36.661402 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.661571 < "SIZE verifiedserver" 14:53:36.661608 > "213 17[CR][LF]" 14:53:36.661769 < "RETR verifiedserver" 14:53:36.661810 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.661939 =====> Closing passive DATA connection... 14:53:36.661958 Server disconnects passive DATA connection 14:53:36.662144 Server disconnected passive DATA connection 14:53:36.662245 DATA sockfilt for passive data channel quits (pid 104664) 14:53:36.663470 DATA sockfilt for passive data channel quit (pid 104664) 14:53:36.663555 =====> Closed passive DATA connection 14:53:36.663609 > "226 File transfer complete[CR][LF]" 14:53:36.709254 < "QUIT" 14:53:36.709318 > "221 bye bye baby[CR][LF]" 14:53:36.709541 MAIN sockfilt said DISC 14:53:36.709571 ====> Client disconnected 14:53:36.709650 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.740568 ====> Client connect 14:53:36.740813 Received DATA (on stdin) 14:53:36.740825 > 160 bytes data, server => client 14:53:36.740836 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.740845 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.740854 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.740916 < 16 bytes data, cliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:38851/file530 > log/23/stdout530 2> log/23/stderr530 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:33805/path/528 > log/19/stdout528 2> log/19/stderr528 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:42691/path/529 log/10/upload529 > log/10/stdout529 2> log/10/stderr529 ent => server 14:53:36.740926 'USER anonymous\r\n' 14:53:36.741086 Received DATA (on stdin) 14:53:36.741100 > 33 bytes data, server => client 14:53:36.741114 '331 We are happy you popped in!\r\n' 14:53:36.741167 < 22 bytes data, client => server 14:53:36.741181 'PASS ftp@example.com\r\n' 14:53:36.741294 Received DATA (on stdin) 14:53:36.741307 > 30 bytes data, server => client 14:53:36.741319 '230 Welcome you silly person\r\n' 14:53:36.741370 < 5 bytes data, client => server 14:53:36.741383 'PWD\r\n' 14:53:36.741478 Received DATA (on stdin) 14:53:36.741501 > 30 bytes data, server => client 14:53:36.741515 '257 "/" is current directory\r\n' 14:53:36.741584 < 6 bytes data, client => server 14:53:36.741600 'EPSV\r\n' 14:53:36.743834 Received DATA (on stdin) 14:53:36.743849 > 38 bytes data, server => client 14:53:36.743861 '229 Entering Passive Mode (|||36837|)\n' 14:53:36.744017 < 8 bytes data, client => server 14:53:36.744031 'TYPE I\r\n' 14:53:36.744224 Received DATA (on stdin) 14:53:36.744238 > 33 bytes data, server => client 14:53:36.744250 '200 I modify TYPE as you wanted\r\n' 14:53:36.744304 < 21 bytes data, client => server 14:53:36.744316 'SIZE verifiedserver\r\n' 14:53:36.744426 Received DATA (on stdin) 14:53:36.744439 > 8 bytes data, server => client 14:53:36.744450 '213 17\r\n' 14:53:36.744501 < 21 bytes data, client => server 14:53:36.744515 'RETR verifiedserver\r\n' 14:53:36.744779 Received DATA (on stdin) 14:53:36.744792 > 29 bytes data, server => client 14:53:36.744804 '150 Binary junk (17 bytes).\r\n' 14:53:36.746446 Received DATA (on stdin) 14:53:36.746470 > 28 bytes data, server => client 14:53:36.746483 '226 File transfer complete\r\n' 14:53:36.791167 < 6 bytes data, client => server 14:53:36.791367 'QUIT\r\n' 14:53:36.792144 Received DATA (on stdin) 14:53:36.792161 > 18 bytes data, server => client 14:53:36.792173 '221 bye bye baby\r\n' 14:53:36.792300 ====> Client disconnect 14:53:36.792467 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.743199 Running IPv4 version 14:53:36.743259 Listening on port 36837 14:53:36.743541 Wrote pid 104664 to log/9/server/ftp_sockdata.pid 14:53:36.743565 Received PING (on stdin) 14:53:36.743659 Received PORT (on stdin) 14:53:36.743987 ====> Client connect 14:53:36.744832 Received DATA (on stdin) 14:53:36.744846 > 17 bytes data, server => client 14:53:36.744858 'WE ROOLZ: 80262\r\n' 14:53:36.744897 Received DISC (on stdin) 14:53:36.744910 ====> Client forcibly disconnected 14:53:36.745187 Received QUIT (on stdin) 14:53:36.745337 quits 14:53:36.745459 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file stderr527 URL: ftp://127.0.0.1:37027/path/527 === End of file stderr527 === Start of file valgrind527 ==104778== ==104778== Process terminating with default action of signal 4 (SIGILL) ==104778== Illegal opcode at address 0x51D42F3 ==104778== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104778== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104778== by 0x51D42F3: Curl_open (url.c:551) ==104778== by 0x514CA2F: curl_easy_init (easy.c:372) ==104778== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104778== by 0x400347F: main (first.c:281) ==104778== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104778== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104778== by 0x51D4243: Curl_open (url.c:530) ==104778== by 0x514CA2F: curl_easy_init (easy.c:372) ==104778== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104778== by 0x400347F: main (first.c:281) ==104778== === End of file valgrind527 test 0530...[multi_socket interface transfer with callbacks returning error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:38851/file530 > log/23/stdout530 2> log/23/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/23/ dir after test 530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:38851/file530 > log/23/stdout530 2> log/23/stderr530 === End of file commands.log === Start of file http_server.log 14:53:36.811494 ====> Client connect 14:53:36.811527 accept_connection 3 returned 4 14:53:36.811545 accept_connection 3 returned 0 14:53:36.811563 Read 93 bytes 14:53:36.811575 Process 93 bytes request 14:53:36.811589 Got request: GET /verifiedserver HTTP/1.1 14:53:36.811600 Are-we-friendly question received 14:53:36.811626 Wrote request (93 bytes) input to log/23/server.input 14:53:36.811645 Identifying ourselves as friends 14:53:36.811717 Response sent (56 bytes) and written to log/23/server.response 14:53:36.811731 special request received, no persistency 14:53:36.811742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 35942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 530 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:38851/file530 [T530-0-0] [0/0] start === End of file stderr530 === Start of file valgrind530 ==104838== ==104838== Process terminating with default action of signal 4 (SIGILL) ==104838== Illegal opcode at address 0x51D42F3 ==104838== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104838== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104838== by 0x51D42F3: Curl_open (url.c:551) ==104838== by 0x514CA2F: curl_easy_init (easy.c:372) ==104838== by 0x4011B22: testone (lib530.c:305) ==104838== by 0x40127F8: test_lib530.lto_priv.0 (lib530.c:403) ==104838== by 0x400347F: main (first.c:281) ==104838== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104838== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104838== by 0x51D4243: Curl_open (url.c:530) ==104838== by 0x514CA2F: curl_easy_init (easy.c:372) ==104838== by 0x4011B22: testone (lib530.c:305) ==104838== by 0x40127F8: test_lib530.lto_priv.0 (lib530.c:403) ==104838== by 0x400347F: main (first.c:281) ==104838== === End of file valgrind530 test 0528...[HTTP GET same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:33805/path/528 > log/19/stdout528 2> log/19/stderr528 528: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 528 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:33805/path/528 > log/19/stdout528 2> log/19/stderr528 === End of file commands.log === Start of file http_server.log 14:53:35.746146 ====> Client connect 14:53:35.746180 accept_connection 3 returned 4 14:53:35.746196 accept_connection 3 returned 0 14:53:35.746211 Read 93 bytes 14:53:35.746222 Process 93 bytes request 14:53:35.746239 Got request: GET /verifiedserver HTTP/1.1 14:53:35.746248 Are-we-friendly question received 14:53:35.746271 Wrote request (93 bytes) input to log/19/server.input 14:53:35.746296 Identifying ourselves as friends 14:53:35.746377 Response sent (56 bytes) and written to log/19/server.response 14:53:35.746390 special request received, no persistency 14:53:35.746400 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 49332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:33805/path/528 === End of file stderr528 === Start of file valgrind528 ==104679== ==104679== Process terminating with default action of signal 4 (SIGILL) ==104679== Illegal opcode at address 0x51D42F3 ==104679== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104679== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104679== by 0x51D42F3: Curl_open (url.c:551) ==104679== by 0x514CA2F: curl_easy_init (easy.c:372) ==104679== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104679== by 0x400347F: main (first.c:281) ==104679== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==104679== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104679== by 0x51D4243: Curl_open (url.c:530) ==104679== by 0x514CA2F: curl_easy_init (easy.c:372) ==104679== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==104679== by 0x400347F: main (first.c:281) ==104679== === End of file valgrind528 test 0529...[FTP PORT upload using multi interface (weird cleanup function sequence)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:42691/path/529 log/10/upload529 > log/10/stdout529 2> log/10/stderr529 529: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:42691/path/529 log/10/upload529 > log/10/stdout529 2> log/10/stderr529 === End of file commands.log === Start of file ftp_server.log 14:53:36.691121 ====> Client connect 14:53:36.691306 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.691713 < "USER anonymous" 14:53:36.691770 > "331 We are happy you popped in![CR][LF]" 14:53:36.691961 < "PASS ftp@example.com" 14:53:36.691994 > "230 Welcome you silly person[CR][LF]" 14:53:36.692522 < "PWD" 14:53:36.692558 > "257 "/" is current directory[CR][LF]" 14:53:36.692741 < "EPSV" 14:53:36.692767 ====> Passive DATA channel requested by client 14:53:36.692782 DATA sockfilt for passive data channel starting... 14:53:36.694721 DATA sockfilt for passive data channel started (pid 104724) 14:53:36.694855 DATA sockfilt for passive data channel listens on port 38015 14:53:36.694897 > "229 Entering Passive Mode (|||38015|)[LF]" 14:53:36.694916 Client has been notified that DATA conn will be accepted on port 38015 14:53:36.695477 Client connects to port 38015 14:53:36.695506 ====> Client established passive DATA connection on port 38015 14:53:36.695687 < "TYPE I" 14:53:36.695715 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.695890 < "SIZE verifiedserver" 14:53:36.695932 > "213 17[CR][LF]" 14:53:36.696078 < "RETR verifiedserver" 14:53:36.696109 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.696186 =====> Closing passive DATA connection... 14:53:36.696201 Server disconnects passive DATA connection 14:53:36.696459 Server disconnected passive DATA connection 14:53:36.696488 DATA sockfilt for passive data channel quits (pid 104724) 14:53:36.696750 DATA sockfilt for passive data channel quit (pid 104724) 14:53:36.696773 =====> Closed passive DATA connection 14:53:36.696798 > "226 File transfer complete[CR][LF]" 14:53:36.737309 < "QUIT" 14:53:36.737366 > "221 bye bye baby[CR][LF]" 14:53:36.739224 MAIN sockfilt said DISC 14:53:36.739273 ====> Client disconnected 14:53:36.739353 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.773822 ====> Client connect 14:53:36.774107 Received DATA (on stdin) 14:53:36.774147 > 160 bytes data, server => client 14:53:36.774162 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.774180 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.774192 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.774310 < 16 bytes data, client => server 14:53:36.774326 'USER anonymous\r\n' 14:53:36.774595 Received DATA (on stdin) 14:53:36.774609 > 33 bytes data, server => client 14:53:36.774621 '331 We are happy you popped in!\r\n' 14:53:36.774681 < 22 bytes data, client => server 14:53:36.774694 'PASS ftp@example.com\r\n' 14:53:36.774812 Received DATA (on stdin) 14:53:36.774825 > 30 bytes data, server => client 14:53:36.774837 '230 Welcome you silly person\r\n' 14:53:36.775236 < 5 bytes data, client => server 14:53:36.775260 'PWD\r\n' 14:53:36.775377 Received DATA (on stdin) 14:53:36.775390 > 30 bytes data, server => client 14:53:36.775402 '257 "/" is current directory\r\n' 14:53:36.775467 < 6 bytes data, client => server 14:53:36.775480 'EPSV\r\n' 14:53:36.777738 Received DATA (on stdin) 14:53:36.777753 > 38 bytes data, server => client 14:53:36.777766 '229 Entering Passive Mode (|||38015|)\n' 14:53:36.778367 < 8 bytes data, client => server 14:53:36.778419 'TYPE I\r\n' 14:53:36.778533 Received DATA (on stdin) 14:53:36.778545 > 33 bytes data, server => client 14:53:36.778557 '200 I modify TYPE as you wanted\r\n' 14:53:36.778605 < 21 bytes data, client => server 14:53:36.778617 'SIZE verifiedserver\r\n' 14:53:36.778748 Received DATA (on stdin) 14:53:36.778760 > 8 bytes data, server => client 14:53:36.778770 '213 17\r\n' 14:53:36.778816 < 21 bytes data, client => server 14:53:36.778827 'RETR verifiedserver\r\n' 14:53:36.779020 Received DATA (on stdin) 14:53:36.779032 > 29 bytes data, server => client 14:53:36.779043 '150 Binary junk (17 bytes).\r\n' 14:53:36.779614 Received DATA (on stdin) 14:53:36.779627 > 28 bytes data, server => client 14:53:36.779639 '226 File transfer complete\r\n' 14:53:36.819908 < 6 bytes data, client => server 14:53:36.819944 'QUIT\r\n' 14:53:36.820240 Received DATA (on stdin) 14:53:36.820260 > 18 bytes data, server => client 14:53:36.820272 '221 bye bye baby\r\n' 14:53:36.821684 ====> Client disconnect 14:53:36.822172 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.777219 Running IPv4 version 14:53:36.777427 Listening on port 38015 14:53:36.777465 Wrote pid 104724 to log/10/server/ftp_sockdata.pid 14:53:36.777485 Received PING (on stdin) 14:53:36.777589 Received PORT (on stdin) 14:53:36.778238 ====> Client connect 14:53:36.779068 Received DATA (on stdin) 14:53:36.779081 > 17 bytes data, servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:43297/535 http://127.0.0.1:43297/5350001 > log/18/stdout535 2> log/18/stderr535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:43281/path/532 > log/21/stdout532 2> log/21/stderr532 er => client 14:53:36.779092 'WE ROOLZ: 80280\r\n' 14:53:36.779144 Received DISC (on stdin) 14:53:36.779156 ====> Client forcibly disconnected 14:53:36.779311 Received QUIT (on stdin) 14:53:36.779324 quits 14:53:36.779381 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file stderr529 URL: ftp://127.0.0.1:42691/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==104868== ==104868== Process terminating with default action of signal 4 (SIGILL) ==104868== Illegal opcode at address 0x51D42F3 ==104868== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==104868== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==104868== by 0x51D42F3: Curl_open (url.c:551) ==104868== by 0x514CA2F: curl_easy_init (easy.c:372) ==104868== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==104868== by 0x400347F: main (first.c:281) ==104868== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==104868== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104868== by 0x51D4243: Curl_open (url.c:530) ==104868== by 0x514CA2F: curl_easy_init (easy.c:372) ==104868== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==104868== by 0x400347F: main (first.c:281) ==104868== === End of file valgrind529 test 0535...[HTTP GET multi two files with FAILONERROR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:43297/535 http://127.0.0.1:43297/5350001 > log/18/stdout535 2> log/18/stderr535 535: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:43297/535 http://127.0.0.1:43297/5350001 > log/18/stdout535 2> log/18/stderr535 === End of file commands.log === Start of file http_server.log 14:53:36.869471 ====> Client connect 14:53:36.869508 accept_connection 3 returned 4 14:53:36.869525 accept_connection 3 returned 0 14:53:36.869541 Read 93 bytes 14:53:36.869552 Process 93 bytes request 14:53:36.869565 Got request: GET /verifiedserver HTTP/1.1 14:53:36.869575 Are-we-friendly question received 14:53:36.869600 Wrote request (93 bytes) input to log/18/server.input 14:53:36.869616 Identifying ourselves as friends 14:53:36.869688 Response sent (56 bytes) and written to log/18/server.response 14:53:36.869699 special request received, no persistency 14:53:36.869710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:43297/535 === End of file stderr535 === Start of file valgrind535 ==105026== ==105026== Process terminating with default action of signal 4 (SIGILL) ==105026== Illegal opcode at address 0x51D42F3 ==105026== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105026== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105026== by 0x51D42F3: Curl_open (url.c:551) ==105026== by 0x514CA2F: curl_easy_init (easy.c:372) ==105026== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105026== by 0x400347F: main (first.c:281) ==105026== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105026== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105026== by 0x51D4243: Curl_open (url.c:530) ==105026== by 0x514CA2F: curl_easy_init (easy.c:372) ==105026== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105026== by 0x400347F: main (first.c:281) ==105026== === End of file valgrind535 test 0532...[FTP RETR same file using reset handles between each transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:43281/path/532 > log/21/stdout532 2> log/21/stderr532 532: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:43281/path/532 > log/21/stdout532 2> log/21/stderr532 === End of file commands.log === Start of file ftp_server.log 14:53:36.739373 ====> Client connect 14:53:36.739514 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.739804 < "USER anonymous" 14:53:36.739846 > "331 We are happy you popped in![CR][LF]" 14:53:36.740020 < "PASS ftp@example.com" 14:53:36.740045 > "230 Welcome you silly person[CR][LF]" 14:53:36.740224 < "PWD" 14:53:36.740256 > "257 "/" is current directory[CR][LF]" 14:53:36.740439 < "EPSV" 14:53:36.740466 ====> Passive DATA channel requested by client 14:53:36.740480 DATA sockfilt for passive data channel starting... 14:53:36.742133 DATA sockfilt for passive data channel started (pid 104835) 14:53:36.742229 DATA sockfilt for passive data channel listens on port 43989 14:53:36.742260 > "229 Entering Passive Mode (|||43989|)[LF]" 14:53:36.742276 Client has been notified that DATA conn will be accepted on port 43989 14:53:36.742438 Client connects to port 43989 14:53:36.742463 ====> Client established passive DATA connection on port 43989 14:53:36.742559 < "TYPE I" 14:53:36.742583 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.742711 < "SIZE verifiedserver" 14:53:36.742743 > "213 17[CR][LF]" 14:53:36.742913 < "RETR verifiedserver" 14:53:36.742952 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.743034 =====> Closing passive DATA connection... 14:53:36.743054 Server disconnects passive DATA connection 14:53:36.743307 Server disconnected passive DATA connection 14:53:36.743339 DATA sockfilt for passive data channel quits (pid 104835) 14:53:36.743553 DATA sockfilt for passive data channel quit (pid 104835) 14:53:36.743580 =====> Closed passive DATA connection 14:53:36.743611 > "226 File transfer complete[CR][LF]" 14:53:36.787338 < "QUIT" 14:53:36.787394 > "221 bye bye baby[CR][LF]" 14:53:36.787684 MAIN sockfilt said DISC 14:53:36.787739 ====> Client disconnected 14:53:36.787816 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.822086 ====> Client connect 14:53:36.822342 Received DATA (on stdin) 14:53:36.822360 > 160 bytes data, server => client 14:53:36.822375 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.822387 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.822397 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:46791 goingdirect.com:46791 goingdirect.com:46791:127.0.0.1 > log/3/stdout536 2> log/3/stderr536 14:53:36.822470 < 16 bytes data, client => server 14:53:36.822484 'USER anonymous\r\n' 14:53:36.822665 Received DATA (on stdin) 14:53:36.822679 > 33 bytes data, server => client 14:53:36.822691 '331 We are happy you popped in!\r\n' 14:53:36.822742 < 22 bytes data, client => server 14:53:36.822754 'PASS ftp@example.com\r\n' 14:53:36.822860 Received DATA (on stdin) 14:53:36.822873 > 30 bytes data, server => client 14:53:36.822885 '230 Welcome you silly person\r\n' 14:53:36.822935 < 5 bytes data, client => server 14:53:36.822947 'PWD\r\n' 14:53:36.823074 Received DATA (on stdin) 14:53:36.823088 > 30 bytes data, server => client 14:53:36.823100 '257 "/" is current directory\r\n' 14:53:36.823162 < 6 bytes data, client => server 14:53:36.823175 'EPSV\r\n' 14:53:36.825094 Received DATA (on stdin) 14:53:36.825106 > 38 bytes data, server => client 14:53:36.825116 '229 Entering Passive Mode (|||43989|)\n' 14:53:36.825288 < 8 bytes data, client => server 14:53:36.825298 'TYPE I\r\n' 14:53:36.825396 Received DATA (on stdin) 14:53:36.825406 > 33 bytes data, server => client 14:53:36.825416 '200 I modify TYPE as you wanted\r\n' 14:53:36.825457 < 21 bytes data, client => server 14:53:36.825467 'SIZE verifiedserver\r\n' 14:53:36.825560 Received DATA (on stdin) 14:53:36.825574 > 8 bytes data, server => client 14:53:36.825586 '213 17\r\n' 14:53:36.825638 < 21 bytes data, client => server 14:53:36.825652 'RETR verifiedserver\r\n' 14:53:36.825873 Received DATA (on stdin) 14:53:36.825888 > 29 bytes data, server => client 14:53:36.825901 '150 Binary junk (17 bytes).\r\n' 14:53:36.826431 Received DATA (on stdin) 14:53:36.826446 > 28 bytes data, server => client 14:53:36.826458 '226 File transfer complete\r\n' 14:53:36.869961 < 6 bytes data, client => server 14:53:36.869985 'QUIT\r\n' 14:53:36.870216 Received DATA (on stdin) 14:53:36.870230 > 18 bytes data, server => client 14:53:36.870242 '221 bye bye baby\r\n' 14:53:36.870422 ====> Client disconnect 14:53:36.870634 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.824810 Running IPv4 version 14:53:36.824854 Listening on port 43989 14:53:36.824882 Wrote pid 104835 to log/21/server/ftp_sockdata.pid 14:53:36.824898 Received PING (on stdin) 14:53:36.824969 Received PORT (on stdin) 14:53:36.825208 ====> Client connect 14:53:36.825930 Received DATA (on stdin) 14:53:36.825946 > 17 bytes data, server => client 14:53:36.825958 'WE ROOLZ: 80269\r\n' 14:53:36.825985 Received DISC (on stdin) 14:53:36.825998 ====> Client forcibly disconnected 14:53:36.826167 Received QUIT (on stdin) 14:53:36.826181 quits 14:53:36.826232 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file stderr532 URL: ftp://127.0.0.1:43281/path/532 === End of file stderr532 === Start of file valgrind532 ==105020== ==105020== Process terminating with default action of signal 4 (SIGILL) ==105020== Illegal opcode at address 0x51D42F3 ==105020== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105020== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105020== by 0x51D42F3: Curl_open (url.c:551) ==105020== by 0x514CA2F: curl_easy_init (easy.c:372) ==105020== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==105020== by 0x400347F: main (first.c:281) ==105020== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105020== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105020== by 0x51D4243: Curl_open (url.c:530) ==105020== by 0x514CA2F: curl_easy_init (easy.c:372) ==105020== by 0x4010A09: test_lib526.lto_priv.0 (lib526.c:65) ==105020== by 0x400347F: main (first.c:281) ==105020== === End of file valgrind532 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44299/path/533 ftp://127.0.0.1:44299/path/533 > log/4/stdout533 2> log/4/stderr533 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:42919/path/534 > log/24/stdout534 2> log/24/stderr534 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:37557/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 test 0536...[CURLINFO_USED_PROXY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:46791 goingdirect.com:46791 goingdirect.com:46791:127.0.0.1 > log/3/stdout536 2> log/3/stderr536 536: stdout FAILED: --- log/3/check-expected 2025-09-11 14:53:37.788864087 +0000 +++ log/3/check-generated 2025-09-11 14:53:37.788864087 +0000 @@ -1,4 +0,0 @@ -hello[CR][LF] -This used the proxy[CR][LF] -hello[CR][LF] -This DID NOT use the proxy[CR][LF] == Contents of files in the log/3/ dir after test 536 === Start of file check-expected hello[CR][LF] This used the proxy[CR][LF] hello[CR][LF] This DID NOT use the proxy[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:46791 goingdirect.com:46791 goingdirect.com:46791:127.0.0.1 > log/3/stdout536 2> log/3/stderr536 === End of file commands.log === Start of file http_server.log 14:53:36.876996 ====> Client connect 14:53:36.877027 accept_connection 3 returned 4 14:53:36.877045 accept_connection 3 returned 0 14:53:36.877060 Read 93 bytes 14:53:36.877071 Process 93 bytes request 14:53:36.877085 Got request: GET /verifiedserver HTTP/1.1 14:53:36.877096 Are-we-friendly question received 14:53:36.877121 Wrote request (93 bytes) input to log/3/server.input 14:53:36.877138 Identifying ourselves as friends 14:53:36.877191 Response sent (56 bytes) and written to log/3/server.response 14:53:36.877202 special request received, no persistency 14:53:36.877212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 47296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:46791 === End of file stderr536 === Start of file valgrind536 ==105055== ==105055== Process terminating with default action of signal 4 (SIGILL) ==105055== Illegal opcode at address 0x51D42F3 ==105055== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105055== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105055== by 0x51D42F3: Curl_open (url.c:551) ==105055== by 0x514CA2F: curl_easy_init (easy.c:372) ==105055== by 0x400C482: test_lib536.lto_priv.0 (lib536.c:51) ==105055== by 0x400347F: main (first.c:281) ==105055== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105055== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105055== by 0x51D4243: Curl_open (url.c:530) ==105055== by 0x514CA2F: curl_easy_init (easy.c:372) ==105055== by 0x400C482: test_lib536.lto_priv.0 (lib536.c:51) ==105055== by 0x400347F: main (first.c:281) ==105055== === End of file valgrind536 test 0533...[FTP RETR a non-existing file twice using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44299/path/533 ftp://127.0.0.1:44299/path/533 > log/4/stdout533 2> log/4/stderr533 533: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44299/path/533 ftp://127.0.0.1:44299/path/533 > log/4/stdout533 2> log/4/stderr533 === End of file commands.log === Start of file ftp_server.log 14:53:36.744223 ====> Client connect 14:53:36.744365 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.744635 < "USER anonymous" 14:53:36.744670 > "331 We are happy you popped in![CR][LF]" 14:53:36.744861 < "PASS ftp@example.com" 14:53:36.744889 > "230 Welcome you silly person[CR][LF]" 14:53:36.745035 < "PWD" 14:53:36.745061 > "257 "/" is current directory[CR][LF]" 14:53:36.745210 < "EPSV" 14:53:36.745234 ====> Passive DATA channel requested by client 14:53:36.745248 DATA sockfilt for passive data channel starting... 14:53:36.746990 DATA sockfilt for passive data channel started (pid 104846) 14:53:36.747089 DATA sockfilt for passive data channel listens on port 34643 14:53:36.747122 > "229 Entering Passive Mode (|||34643|)[LF]" 14:53:36.747136 Client has been notified that DATA conn will be accepted on port 34643 14:53:36.747319 Client connects to port 34643 14:53:36.747343 ====> Client established passive DATA connection on port 34643 14:53:36.747404 < "TYPE I" 14:53:36.747426 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.747555 < "SIZE verifiedserver" 14:53:36.747583 > "213 17[CR][LF]" 14:53:36.747703 < "RETR verifiedserver" 14:53:36.747729 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.747805 =====> Closing passive DATA connection... 14:53:36.747822 Server disconnects passive DATA connection 14:53:36.747991 Server disconnected passive DATA connection 14:53:36.748018 DATA sockfilt for passive data channel quits (pid 104846) 14:53:36.748298 DATA sockfilt for passive data channel quit (pid 104846) 14:53:36.748324 =====> Closed passive DATA connection 14:53:36.748353 > "226 File transfer complete[CR][LF]" 14:53:36.790928 < "QUIT" 14:53:36.790990 > "221 bye bye baby[CR][LF]" 14:53:36.791974 MAIN sockfilt said DISC 14:53:36.792013 ====> Client disconnected 14:53:36.792077 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.826948 ====> Client connect 14:53:36.827194 Received DATA (on stdin) 14:53:36.827210 > 160 bytes data, server => client 14:53:36.827224 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.827237 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.827249 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.827316 < 16 bytes data, client => server 14:53:36.827330 'USER anonymous\r\n' 14:53:36.827484 Received DATA (on stdin) 14:53:36.827505 > 33 bytes data, server => client 14:53:36.827519 '331 We are happy you popped in!\r\n' 14:53:36.827575 < 22 bytes data, client => server 14:53:36.827590 'PASS ftp@example.com\r\n' 14:53:36.827708 Received DATA (on stdin) 14:53:36.827721 > 30 bytes data, server => client 14:53:36.827733 '230 Welcome you silly person\r\n' 14:53:36.827777 < 5 bytes data, client => server 14:53:36.827787 'PWD\r\n' 14:53:36.827873 Received DATA (on stdin) 14:53:36.827883 > 30 bytes data, server => client 14:53:36.827892 '257 "/" is current directory\r\n' 14:53:36.827939 < 6 bytes data, client => server 14:53:36.827952 'EPSV\r\n' 14:53:36.829954 Received DATA (on stdin) 14:53:36.829966 > 38 bytes data, server => client 14:53:36.829976 '229 Entering Passive Mode (|||34643|)\n' 14:53:36.830064 < 8 bytes data, client => server 14:53:36.830077 'TYPE I\r\n' 14:53:36.830240 Received DATA (on stdin) 14:53:36.830251 > 33 bytes data, server => client 14:53:36.830260 '200 I modify TYPE as you wanted\r\n' 14:53:36.830301 < 21 bytes data, client => server 14:53:36.830310 'SIZE verifiedserver\r\n' 14:53:36.830395 Received DATA (on stdin) 14:53:36.830405 > 8 bytes data, server => client 14:53:36.830414 '213 17\r\n' 14:53:36.830451 < 21 bytes data, client => server 14:53:36.830460 'RETR verifiedserver\r\n' 14:53:36.830641 Received DATA (on stdin) 14:53:36.830654 > 29 bytes data, server => client 14:53:36.830667 '150 Binary junk (17 bytes).\r\n' 14:53:36.831172 Received DATA (on stdin) 14:53:36.831186 > 28 bytes data, server => client 14:53:36.831199 '226 File transfer complete\r\n' 14:53:36.873233 < 6 bytes data, client => server 14:53:36.873264 'QUIT\r\n' 14:53:36.873816 Received DATA (on stdin) 14:53:36.873835 > 18 bytes data, server => client 14:53:36.873847 '221 bye bye baby\r\n' 14:53:36.874730 ====> Client disconnect 14:53:36.874895 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.829484 Running IPv4 version 14:53:36.829535 Listening on port 34643 14:53:36.829574 Wrote pid 104846 to log/4/server/ftp_sockdata.pid 14:53:36.829745 Received PING (on stdin) 14:53:36.829831 Received PORT (on stdin) 14:53:36.830094 ====> Client connect 14:53:36.830695 Received DATA (on stdin) 14:53:36.830709 > 17 bytes data, server => client 14:53:36.830721 'WE ROOLZ: 80848\r\n' 14:53:36.830746 Received DISC (on stdin) 14:53:36.830759 ====> Client forcibly disconnected 14:53:36.830919 Received QUIT (on stdin) 14:53:36.830936 quits 14:53:36.830988 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 533 === End of file server.cmd === Start of file stderr533 URL: ftp://127.0.0.1:44299/path/533 === End of file stderr533 === Start of file valgrind533 ==105025== ==105025== Process terminating with default action of signal 4 (SIGILL) ==105025== Illegal opcode at address 0x51D42F3 ==105025== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105025== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105025== by 0x51D42F3: Curl_open (url.c:551) ==105025== by 0x514CA2F: curl_easy_init (easy.c:372) ==105025== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105025== by 0x400347F: main (first.c:281) ==105025== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105025== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105025== by 0x51D4243: Curl_open (url.c:530) ==105025== by 0x514CA2F: curl_easy_init (easy.c:372) ==105025== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105025== by 0x400347F: main (first.c:281) ==105025== === End of file valgrind533 test 0531...[FTP PORT upload using multi interface and get 425 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:37557/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 531: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:37557/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 === End of file commands.log === Start of file ftp_server.log 14:53:36.742462 ====> Client connect 14:53:36.742612 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.742884 < "USER anonymous" 14:53:36.742923 > "331 We are happy you popped in![CR][LF]" 14:53:36.743103 < "PASS ftp@example.com" 14:53:36.743130 > "230 Welcome you silly person[CR][LF]" 14:53:36.743297 < "PWD" 14:53:36.743329 > "257 "/" is current directory[CR][LF]" 14:53:36.743546 < "EPSV" 14:53:36.743574 ====> Passive DATA channel requested by client 14:53:36.743590 DATA sockfilt for passive data channel starting... 14:53:36.745180 DATA sockfilt for passive data channel started (pid 104839) 14:53:36.745291 DATA sockfilt for passive data channel listens on port 33233 14:53:36.745330 > "229 Entering Passive Mode (|||33233|)[LF]" 14:53:36.745350 Client has been notified that DATA conn will be accepted on port 33233 14:53:36.745575 Client connects to port 33233 14:53:36.745605 ====> Client established passive DATA connection on port 33233 14:53:36.745679 < "TYPE I" 14:53:36.745709 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.745876 < "SIZE verifiedserver" 14:53:36.745912 > "213 17[CR][LF]" 14:53:36.746065 < "RETR verifiedserver" 14:53:36.746095 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.746173 =====> Closing passive DATA connection... 14:53:36.746189 Server disconnects passive DATA connection 14:53:36.746420 Server disconnected passive DATA connection 14:53:36.746447 DATA sockfilt for passive data channel quits (pid 104839) 14:53:36.746645 DATA sockfilt for passive data channel quit (pid 104839) 14:53:36.746669 =====> Closed passive DATA connection 14:53:36.746696 > "226 File transfer complete[CR][LF]" 14:53:36.787959 < "QUIT" 14:53:36.788010 > "221 bye bye baby[CR][LF]" 14:53:36.788293 MAIN sockfilt said DISC 14:53:36.788336 ====> Client disconnected 14:53:36.788398 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.825182 ====> Client connect 14:53:36.825442 Received DATA (on stdin) 14:53:36.825458 > 160 bytes data, server => client 14:53:36.825471 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.825483 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.825495 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.825562 < 16 bytes data, client => server 14:53:36.825575 'USER anonymous\r\n' 14:53:36.825744 Received DATA (on stdin) 14:53:36.825758 > 33 bytes data, server => client 14:53:36.825771 '331 We are happy you popped in!\r\n' 14:53:36.825826 < 22 bytes data, client => server 14:53:36.825839 'PASS ftp@example.com\r\n' 14:53:36.825947 Received DATA (on stdin) 14:53:36.825961 > 30 bytes data, server => client 14:53:36.825973 '230 Welcome you silly person\r\n' 14:53:36.826025 < 5 bytes data, client => server 14:53:36.826038 'PWD\r\n' 14:53:36.826147 Received DATA (on stdin) 14:53:36.826170 > 30 bytes data, server => client 14:53:36.826183 '257 "/" is current directory\r\n' 14:53:36.826243 < 6 bytes data, client => server 14:53:36.826257 'EPSV\r\n' 14:53:36.828170 Received DATA (on stdin) 14:53:36.828185 > 38 bytes data, server => client 14:53:36.828197 '229 Entering Passive Mode (|||33233|)\n' 14:53:36.828306 < 8 bytes data, client => server 14:53:36.828321 'TYPE I\r\n' 14:53:36.828527 Received DATA (on stdin) 14:53:36.828541 > 33 bytes data, server => client 14:53:36.828553 '200 I modify TYPE as you wanted\r\n' 14:53:36.828604 < 21 bytes data, client => server 14:53:36.828617 'SIZE verifiedserver\r\n' 14:53:36.828729 Received DATA (on stdin) 14:53:36.828741 > 8 bytes data, server => client 14:53:36.828753 '213 17\r\n' 14:53:36.828799 < 21 bytes data, client => server 14:53:36.828811 'RETR verifiedserver\r\n' 14:53:36.829009 Received DATA (on stdin) 14:53:36.829022 > 29 bytes data, server => client 14:53:36.829034 '150 Binary junk (17 bytes).\r\n' 14:53:36.829514 Received DATA (on stdin) 14:53:36.829528 > 28 bytes data, server => client 14:53:36.829540 '226 File transfer complete\r\n' 14:53:36.870618 < 6 bytes data, client => server 14:53:36.870641 'QUIT\r\n' 14:53:36.870829 Received DATA (on stdin) 14:53:36.870841 > 18 bytes data, server => client 14:53:36.870853 '221 bye bye baby\r\n' 14:53:36.871047 ====> Client disconnect 14:53:36.871216 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.827709 Running IPv4 version 14:53:36.827759 Listening on port 33233 14:53:36.827795 Wrote pid 104839 to log/8/server/ftp_sockdata.pid 14:53:36.827939 Received PING (on stdin) 14:53:36.828025 Received PORT (on stdin) 14:53:36.828342 ====> Client connect 14:53:36.829059 Received DATA (on stdin) 14:53:36.829073 > 17 bytes data, server => client 14:53:36.829085 'WE ROOLZ: 80267\r\n' 14:53:36.829108 Received DISC (on stdin) 14:53:36.829120 ====> Client forcibly disconnected 14:53:36.829272 Received QUIT (on stdin) 14:53:36.829285 quits 14:53:36.829340 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY STOR 425 Permission Denied. File Exists. Testnum 531 === End of file server.cmd === Start of file stderr531 URL: ftp://127.0.0.1:37557/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 ==105022== ==105022== Process terminating with default action of signal 4 (SIGILL) ==105022== Illegal opcode at address 0x51D42F3 ==105022== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105022== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105022== by 0x51D42F3: Curl_open (url.c:551) ==105022== by 0x514CA2F: curl_easy_init (easy.c:372) ==105022== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==105022== by 0x400347F: main (first.c:281) ==105022== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==105022== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105022== by 0x51D4243: Curl_open (url.c:530) ==105022== by 0x514CA2F: curl_easy_init (easy.c:372) ==105022== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==105022== by 0x400347F: main (first.c:281) ==105022== === End of file valgrind531 test 0534...[FTP RETR twice using multi: non-existing host and non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:42919/path/534 > log/24/stdout534 2> log/24/stderr534 534: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:42919/path/534 > log/24/stdout534 2> log/24/stderr534 === End of file commands.log === Start of file ftp_server.log 14:53:36.759385 ====> Client connect 14:53:36.759543 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:36.759833 < "USER anonymous" 14:53:36.759866 > "331 We are happy you popped in![CR][LF]" 14:53:36.760016 < "PASS ftp@example.com" 14:53:36.760037 > "230 Welcome you silly person[CR][LF]" 14:53:36.760160 < "PWD" 14:53:36.760183 > "257 "/" is current directory[CR][LF]" 14:53:36.760395 < "EPSV" 14:53:36.760423 ====> Passive DATA channel requested by client 14:53:36.760438 DATA sockfilt for passive data channel starting... 14:53:36.762184 DATA sockfilt for passive data channel started (pid 104915) 14:53:36.762290 DATA sockfilt for passive data channel listens on port 36503 14:53:36.762331 > "229 Entering Passive Mode (|||36503|)[LF]" 14:53:36.762351 Client has been notified that DATA conn will be accepted on port 36503 14:53:36.762569 Client connects to port 36503 14:53:36.762597 ====> Client established passive DATA connection on port 36503 14:53:36.762716 < "TYPE I" 14:53:36.762746 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:36.762903 < "SIZE verifiedserver" 14:53:36.762937 > "213 17[CR][LF]" 14:53:36.763085 < "RETR verifiedserver" 14:53:36.763115 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:36.763197 =====> Closing passive DATA connection... 14:53:36.763213 Server disconnects passive DATA connection 14:53:36.763448 Server disconnected passive DATA connection 14:53:36.763476 DATA sockfilt for passive data channel quits (pid 104915) 14:53:36.763693 DATA sockfilt for passive data channel quit (pid 104915) 14:53:36.763719 =====> Closed passive DATA connection 14:53:36.763745 > "226 File transfer complete[CR][LF]" 14:53:36.804078 < "QUIT" 14:53:36.804130 > "221 bye bye baby[CR][LF]" 14:53:36.805142 MAIN sockfilt said DISC 14:53:36.805176 ====> Client disconnected 14:53:36.805255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.842092 ====> Client connect 14:53:36.842372 Received DATA (on stdin) 14:53:36.842389 > 160 bytes data, server => client 14:53:36.842402 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.842413 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.842425 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.842499 < 16 bytes data, client => server 14:53:36.842515 'USER anonymous\r\n' 14:53:36.842682 Received DATA (on stdin) 14:53:36.842693 > 33 bytes data, server => client 14:53:36.842703 '331 We are happy you popped in!\r\n' 14:53:36.842751 < 22 bytes data, client => server 14:53:36.842763 'PASS ftp@example.com\r\n' 14:53:36.842850 Received DATA (on stdin) 14:53:36.842860 > 30 bytes data, server => client 14:53:36.842869 '230 Welcome you silly person\r\n' 14:53:36.842907 < 5 bytes data, client => server 14:53:36.842917 'PWD\r\n' 14:53:36.843003 Received DATA (on stdin) 14:53:36.843017 > 30 bytes data, server => client 14:53:36.843030 '257 "/" is current directory\r\n' 14:53:36.843105 < 6 bytes data, client => server 14:53:36.843127 'EPSV\r\n' 14:53:36.845174 Received DATA (on stdin) 14:53:36.845191 > 38 bytes data, server => client 14:53:36.845206 '229 Entering Passive Mode (|||36503|)\n' 14:53:36.845434 < 8 bytes data, client => server 14:53:36.845447 'TYPE I\r\n' 14:53:36.845563 Received DATA (on stdin) 14:53:36.845575 > 33 bytes data, server => client 14:53:36.845588 '200 I modify TYPE as you wanted\r\n' 14:53:36.845638 < 21 bytes data, client => server 14:53:36.845650 'SIZE verifiedserver\r\n' 14:53:36.845752 Received DATA (on stdin) 14:53:36.845765 > 8 bytes data, server => client 14:53:36.845776 '213 17\r\n' 14:53:36.845822 < 21 bytes data, client => server 14:53:36.845835 'RETR verifiedserver\r\n' 14:53:36.846030 Received DATA (on stdin) 14:53:36.846042 > 29 bytes data, server => client 14:53:36.846054 '150 Binary junk (17 bytes).\r\n' 14:53:36.846564 Received DATA (on stdin) 14:53:36.846579 > 28 bytes data, server => client 14:53:36.846591 '226 File transfer complete\r\n' 14:53:36.886671 < 6 bytes data, client => server 14:53:36.886704 'QUIT\r\n' 14:53:36.886951 Received DATA (on stdin) 14:53:36.886965 > 18 bytes data, server => client 14:53:36.886977 '221 bye bye baby\r\n' 14:53:36.887902 ====> Client disconnect 14:53:36.888075 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:36.844681 Running IPv4 version 14:53:36.844765 Listening on port 36503 14:53:36.844801 Wrote pid 104915 to log/24/server/ftp_sockdata.pid 14:53:36.844944 Received PING (on stdin) 14:53:36.845025 Received PORT (on stdin) 14:53:36.845332 ====> Client connect 14:53:36.846079 Received DATA (on stdin) 14:53:36.846093 > 17 bytes data, server => client 14:53:36.846104 'WE ROOLZ: 80263\r\n' 14:53:36.846128 Received DISC (on stdin) 14:53:36.846140 ====> Client forcibly disconnected 14:53:36.846300 Received QUIT (on stdin) 14:53:36.846313 quits 14:53:36.846383 ============> sockfilt quits === End of file ftp_sockdata.log === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:33503 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 art of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 534 === End of file server.cmd === Start of file stderr534 URL: ftp://non-existing-host.haxx.se/path/534 === End of file stderr534 === Start of file valgrind534 ==105111== ==105111== Process terminating with default action of signal 4 (SIGILL) ==105111== Illegal opcode at address 0x51D42F3 ==105111== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105111== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105111== by 0x51D42F3: Curl_open (url.c:551) ==105111== by 0x514CA2F: curl_easy_init (easy.c:372) ==105111== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105111== by 0x400347F: main (first.c:281) ==105111== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105111== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105111== by 0x51D4243: Curl_open (url.c:530) ==105111== by 0x514CA2F: curl_easy_init (easy.c:372) ==105111== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105111== by 0x400347F: main (first.c:281) ==105111== === End of file valgrind534 test 0514...[First set options to POST and then to make HEAD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46043/514 > log/14/stdout514 2> log/14/stderr514 514: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46043/514 > log/14/stdout514 2> log/14/stderr514 === End of file commands.log === Start of file http_server.log 14:53:36.131940 ====> Client connect 14:53:36.131975 accept_connection 3 returned 4 14:53:36.131993 accept_connection 3 returned 0 14:53:36.132009 Read 93 bytes 14:53:36.132021 Process 93 bytes request 14:53:36.132036 Got request: GET /verifiedserver HTTP/1.1 14:53:36.132049 Are-we-friendly question received 14:53:36.132075 Wrote request (93 bytes) input to log/14/server.input 14:53:36.132093 Identifying ourselves as friends 14:53:36.132148 Response sent (56 bytes) and written to log/14/server.response 14:53:36.132160 special request received, no persistency 14:53:36.132170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 59514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:46043/514 === End of file stderr514 === Start of file valgrind514 ==103838== ==103838== Process terminating with default action of signal 4 (SIGILL) ==103838== Illegal opcode at address 0x51D42F3 ==103838== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103838== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103838== by 0x51D42F3: Curl_open (url.c:551) ==103838== by 0x514CA2F: curl_easy_init (easy.c:372) ==103838== by 0x4009D8A: test_lib514.lto_priv.0 (lib514.c:38) ==103838== by 0x400347F: main (first.c:281) ==103838== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103838== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103838== by 0x51D4243: Curl_open (url.c:530) ==103838== by 0x514CA2F: curl_easy_init (easy.c:372) ==103838== by 0x4009D8A: test_lib514.lto_priv.0 (lib514.c:38) ==103838== by 0x400347F: main (first.c:281) ==103838== === End of file valgrind514 test 0513...[send HTTP POST using read callback that returns CURL_READFUNC_ABORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:45171/513 > log/17/stdout513 2> log/17/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/17/ dir after test 513 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:45171/513 > log/17/stdout513 2> log/17/stderr513 === End of file commands.log === Start of file http_server.log 14:53:36.096011 ====> Client connect 14:53:36.096050 accept_connection 3 returned 4 14:53:36.096068 accept_connection 3 returned 0 14:53:36.096085 Read 93 bytes 14:53:36.096096 Process 93 bytes request 14:53:36.096112 Got request: GET /verifiedserver HTTP/1.1 14:53:36.096122 Are-we-friendly question received 14:53:36.096149 Wrote request (93 bytes) input to log/17/server.input 14:53:36.096166 Identifying ourselves as friends 14:53:36.096939 Response sent (56 bytes) and written to log/17/server.response 14:53:36.096956 special request received, no persistency 14:53:36.096967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 47994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:45171/513 === End of file stderr513 === Start of file valgrind513 ==103739== ==103739== Process terminating with default action of signal 4 (SIGILL) ==103739== Illegal opcode at address 0x51D42F3 ==103739== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==103739== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==103739== by 0x51D42F3: Curl_open (url.c:551) ==103739== by 0x514CA2F: curl_easy_init (easy.c:372) ==103739== by 0x4009C2A: test_lib513.lto_priv.0 (lib513.c:47) ==103739== by 0x400347F: main (first.c:281) ==103739== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==103739== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==103739== by 0x51D4243: Curl_open (url.c:530) ==103739== by 0x514CA2F: curl_easy_init (easy.c:372) ==103739== by 0x4009C2A: test_lib513.lto_priv.0 (lib513.c:47) ==103739== by 0x400347F: main (first.c:281) ==103739== === End of file valgrind513 test 0540...[HTTP proxy auth Digest multi API reusing connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:33503 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 540: protocol FAILED! There was no content at all in the file log/11/server.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:43113/538 > log/1/stdout538 2> log/1/stderr538 input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:33503 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 === End of file commands.log === Start of file http_server.log 14:53:37.185649 ====> Client connect 14:53:37.185683 accept_connection 3 returned 4 14:53:37.185702 accept_connection 3 returned 0 14:53:37.185719 Read 93 bytes 14:53:37.185731 Process 93 bytes request 14:53:37.185746 Got request: GET /verifiedserver HTTP/1.1 14:53:37.185757 Are-we-friendly question received 14:53:37.185793 Wrote request (93 bytes) input to log/11/server.input 14:53:37.185814 Identifying ourselves as friends 14:53:37.185900 Response sent (56 bytes) and written to log/11/server.response 14:53:37.185913 special request received, no persistency 14:53:37.185924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr540 URL: http://test.remote.example.com/path/540 === End of file stderr540 === Start of file valgrind540 ==105401== ==105401== Process terminating with default action of signal 4 (SIGILL) ==105401== Illegal opcode at address 0x519C257 ==105401== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==105401== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==105401== by 0x519C257: Curl_multi_handle (multi.c:236) ==105401== by 0x4014E30: test_lib540.lto_priv.0 (lib540.c:220) ==105401== by 0x400347F: main (first.c:281) ==105401== 656 bytes in 1 blocks are possibly lost in loss record 609 of 641 ==105401== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105401== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==105401== by 0x4014E30: test_lib540.lto_priv.0 (lib540.c:220) ==105401== by 0x400347F: main (first.c:281) ==105401== === End of file valgrind540 test 0538...[FTP multi-interface download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:43113/538 > log/1/stdout538 2> log/1/stderr538 538: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 538 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:43113/538 > log/1/stdout538 2> log/1/stderr538 === End of file commands.log === Start of file ftp_server.log 14:53:37.077172 ====> Client connect 14:53:37.077341 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:37.077631 < "USER anonymous" 14:53:37.077669 > "331 We are happy you popped in![CR][LF]" 14:53:37.077837 < "PASS ftp@example.com" 14:53:37.077864 > "230 Welcome you silly person[CR][LF]" 14:53:37.078009 < "PWD" 14:53:37.078038 > "257 "/" is current directory[CR][LF]" 14:53:37.078192 < "EPSV" 14:53:37.078219 ====> Passive DATA channel requested by client 14:53:37.078234 DATA sockfilt for passive data channel starting... 14:53:37.082943 DATA sockfilt for passive data channel started (pid 105381) 14:53:37.083090 DATA sockfilt for passive data channel listens on port 38523 14:53:37.083141 > "229 Entering Passive Mode (|||38523|)[LF]" 14:53:37.083164 Client has been notified that DATA conn will be accepted on port 38523 14:53:37.083481 Client connects to port 38523 14:53:37.083516 ====> Client established passive DATA connection on port 38523 14:53:37.083646 < "TYPE I" 14:53:37.083686 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:37.083887 < "SIZE verifiedserver" 14:53:37.083934 > "213 17[CR][LF]" 14:53:37.084109 < "RETR verifiedserver" 14:53:37.084149 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:37.084242 =====> Closing passive DATA connection... 14:53:37.084258 Server disconnects passive DATA connection 14:53:37.084508 Server disconnected passive DATA connection 14:53:37.084538 DATA sockfilt for passive data channel quits (pid 105381) 14:53:37.084812 DATA sockfilt for passive data channel quit (pid 105381) 14:53:37.084838 =====> Closed passive DATA connection 14:53:37.084867 > "226 File transfer complete[CR][LF]" 14:53:37.128223 < "QUIT" 14:53:37.128278 > "221 bye bye baby[CR][LF]" 14:53:37.128867 MAIN sockfilt said DISC 14:53:37.128916 ====> Client disconnected 14:53:37.128985 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.159564 ====> Client connect 14:53:36.160172 Received DATA (on stdin) 14:53:36.160189 > 160 bytes data, server => client 14:53:36.160202 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.160213 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.160224 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.160301 < 16 bytes data, client => server 14:53:36.160314 'USER anonymous\r\n' 14:53:36.160488 Received DATA (on stdin) 14:53:36.160501 > 33 bytes data, server => client 14:53:36.160513 '331 We are happy you popped in!\r\n' 14:53:36.160562 < 22 bytes data, client => server 14:53:36.160575 'PASS ftp@example.com\r\n' 14:53:36.160680 Received DATA (on stdin) 14:53:36.160692 > 30 bytes data, server => client 14:53:36.160703 '230 Welcome you silly person\r\n' 14:53:36.160748 < 5 bytes data, client => server 14:53:36.160759 'PWD\r\n' 14:53:36.160854 Received DATA (on stdin) 14:53:36.160865 > 30 bytes data, server => client 14:53:36.160876 '257 "/" is current directory\r\n' 14:53:36.160929 < 6 bytes data, client => server 14:53:36.160940 'EPSV\r\n' 14:53:36.165995 Received DATA (on stdin) 14:53:36.166019 > 38 bytes data, server => client 14:53:36.166034 '229 Entering Passive Mode (|||38523|)\n' 14:53:36.166237 < 8 bytes data, client => server 14:53:36.166253 'TYPE I\r\n' 14:53:36.166508 Received DATA (on stdin) 14:53:36.166525 > 33 bytes data, server => client 14:53:36.166538 '200 I modify TYPE as you wanted\r\n' 14:53:36.166598 < 21 bytes data, client => server 14:53:36.166612 'SIZE verifiedserver\r\n' 14:53:36.166753 Received DATA (on stdin) 14:53:36.166766 > 8 bytes data, server => client 14:53:36.166778 '213 17\r\n' 14:53:36.166832 < 21 bytes data, client => server 14:53:36.166845 'RETR verifiedserver\r\n' 14:53:36.167077 Received DATA (on stdin) 14:53:36.167091 > 29 bytes data, server => client 14:53:36.167103 '150 Binary junk (17 bytes).\r\n' 14:53:36.167686 Received DATA (on stdin) 14:53:36.167700 > 28 bytes data, server => client 14:53:36.167713 '226 File transfer complete\r\n' 14:53:36.210854 < 6 bytes data, client => server 14:53:36.210885 'QUIT\r\n' 14:53:36.211108 Received DATA (on stdin) 14:53:36.211122 > 18 bytes data, server => client 14:53:36.211134 '221 bye bye babyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36645/path/to/the/file/539 ftp://127.0.0.1:36645/path/to/the/file/5390001 > log/13/stdout539 2> log/13/stderr539 \r\n' 14:53:36.211611 ====> Client disconnect 14:53:36.211805 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:37.164459 Running IPv4 version 14:53:37.164563 Listening on port 38523 14:53:37.164602 Wrote pid 105381 to log/1/server/ftp_sockdata.pid 14:53:37.165677 Received PING (on stdin) 14:53:37.165802 Received PORT (on stdin) 14:53:37.166201 ====> Client connect 14:53:37.167130 Received DATA (on stdin) 14:53:37.167145 > 17 bytes data, server => client 14:53:37.167156 'WE ROOLZ: 80194\r\n' 14:53:37.167181 Received DISC (on stdin) 14:53:37.167194 ====> Client forcibly disconnected 14:53:37.167364 Received QUIT (on stdin) 14:53:37.167379 quits 14:53:37.167447 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 538 === End of file server.cmd === Start of file stderr538 URL: ftp://127.0.0.1:43113/538 === End of file stderr538 === Start of file valgrind538 ==105424== ==105424== Process terminating with default action of signal 4 (SIGILL) ==105424== Illegal opcode at address 0x51D42F3 ==105424== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105424== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105424== by 0x51D42F3: Curl_open (url.c:551) ==105424== by 0x514CA2F: curl_easy_init (easy.c:372) ==105424== by 0x405FD35: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105424== by 0x400347F: main (first.c:281) ==105424== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105424== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105424== by 0x51D4243: Curl_open (url.c:530) ==105424== by 0x514CA2F: curl_easy_init (easy.c:372) ==105424== by 0x405FD35: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105424== by 0x400347F: main (first.c:281) ==105424== === End of file valgrind538 test 0539...[Two FTP fetches using different CURLOPT_FTP_FILEMETHOD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36645/path/to/the/file/539 ftp://127.0.0.1:36645/path/to/the/file/5390001 > log/13/stdout539 2> log/13/stderr539 539: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36645/path/to/the/file/539 ftp://127.0.0.1:36645/path/to/the/file/5390001 > log/13/stdout539 2> log/13/stderr539 === End of file commands.log === Start of file ftp_server.log 14:53:37.083650 ====> Client connect 14:53:37.083815 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:37.084135 < "USER anonymous" 14:53:37.084170 > "331 We are happy you popped in![CR][LF]" 14:53:37.084331 < "PASS ftp@example.com" 14:53:37.084354 > "230 Welcome you silly person[CR][LF]" 14:53:37.084500 < "PWD" 14:53:37.084531 > "257 "/" is current directory[CR][LF]" 14:53:37.084686 < "EPSV" 14:53:37.084710 ====> Passive DATA channel requested by client 14:53:37.084723 DATA sockfilt for passive data channel starting... 14:53:37.086596 DATA sockfilt for passive data channel started (pid 105382) 14:53:37.086706 DATA sockfilt for passive data channel listens on port 43589 14:53:37.086742 > "229 Entering Passive Mode (|||43589|)[LF]" 14:53:37.086761 Client has been notified that DATA conn will be accepted on port 43589 14:53:37.087342 Client connects to port 43589 14:53:37.087374 ====> Client established passive DATA connection on port 43589 14:53:37.087447 < "TYPE I" 14:53:37.087477 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:37.087635 < "SIZE verifiedserver" 14:53:37.087666 > "213 17[CR][LF]" 14:53:37.087816 < "RETR verifiedserver" 14:53:37.087846 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:37.087926 =====> Closing passive DATA connection... 14:53:37.087942 Server disconnects passive DATA connection 14:53:37.088175 Server disconnected passive DATA connection 14:53:37.088202 DATA sockfilt for passive data channel quits (pid 105382) 14:53:37.088393 DATA sockfilt for passive data channel quit (pid 105382) 14:53:37.088414 =====> Closed passive DATA connection 14:53:37.088440 > "226 File transfer complete[CR][LF]" 14:53:37.133863 < "QUIT" 14:53:37.133914 > "221 bye bye baby[CR][LF]" 14:53:37.134686 MAIN sockfilt said DISC 14:53:37.134734 ====> Client disconnected 14:53:37.134797 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:37.166354 ====> Client connect 14:53:37.166644 Received DATA (on stdin) 14:53:37.166660 > 160 bytes data, server => client 14:53:37.166674 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:37.166686 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:37.166697 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:37.166807 < 16 bytes data, client => server 14:53:37.166822 'USER anonymous\r\n' 14:53:37.166989 Received DATA (on stdin) 14:53:37.167003 > 33 bytes data, server => client 14:53:37.167014 '331 We are happy you popped in!\r\n' 14:53:37.167063 < 22 bytes data, client => server 14:53:37.167075 'PASS ftp@example.com\r\n' 14:53:37.167170 Received DATA (on stdin) 14:53:37.167182 > 30 bytes data, server => client 14:53:37.167194 '230 Welcome you silly person\r\n' 14:53:37.167239 < 5 bytes data, client => server 14:53:37.167250 'PWD\r\n' 14:53:37.167346 Received DATA (on stdin) 14:53:37.167358 > 30 bytes data, server => client 14:53:37.167369 '257 "/" is current directory\r\n' 14:53:37.167423 < 6 bytes data, client => server 14:53:37.167435 'EPSV\r\n' 14:53:37.169585 Received DATA (on stdin) 14:53:37.169600 > 38 bytes data, server => client 14:53:37.169613 '229 Entering Passive Mode (|||43589|)\n' 14:53:37.170073 < 8 bytes data, client => server 14:53:37.170091 'TYPE I\r\n' 14:53:37.170295 Received DATA (on stdin) 14:53:37.170308 > 33 bytes data, server => client 14:53:37.170320 '200 I modify TYPE as you wanted\r\n' 14:53:37.170370 < 21 bytes data, client => server 14:53:37.170382 'SIZE verifiedserver\r\n' 14:53:37.170483 Received DATA (on stdin) 14:53:37.170495 > 8 bytes data, server => client 14:53:37.170507 '213 17\r\n' 14:53:37.170552 < 21 bytes data, client => server 14:53:37.170564 'RETR verifiedserver\r\n' 14:53:37.170760 Received DATA (on stdin) 14:53:37.170773 > 29 bytes data, server => client 14:53:37.170785 '150 Binary junk (17 bytes).\r\n' 14:53:37.171258 Received DATA (on stdin) 14:53:37.171272 > 28 bytes data, server => client 14:53:37.171284 '226 File transfer complete\r\n' 14:53:37.216518 < 6 bytes data, client => server 14:53:37.216543 'QUIT\r\n' 14:53:37.216736 Received DATA (on stdin) 14:53:37.216752 > 18 bytes data, server => client 14:53:37.216765 '221 bye bye baby\r\n' 14:53:37.217434 ====> Client disconnect 14:53:37.217616 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:37.169042 Running IPv4 version 14:53:37.169097 Listening on port 43589 14:53:37.169133 Wrote pid 105382 to log/13/server/ftp_sockdata.pid 14:53:37.169354 Received PING (on stdin) 14:53:37.169438 Received PORT (on stdin) 14:53:37.170113 ====> Client connect 14:53:37.170811 Received DATA (on stdin) 14:53:37.170825 > 17 bytes data, server => client 14:53:37.170837 'WE ROOLZ: 80108\r\n' 14:53:37.170860 Received DISC (on stdin) 14:53:37.170872 ====> Client forcibly disconnected 14:53:37.171026 Received QUIT (on stdin) 14:53:37.171039 quits 14:53:37.171087 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd TestnumCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38141/542 > log/12/stdout542 2> log/12/stderr542 539 === End of file server.cmd === Start of file stderr539 URL: ftp://127.0.0.1:36645/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==105449== ==105449== Process terminating with default action of signal 4 (SIGILL) ==105449== Illegal opcode at address 0x51D42F3 ==105449== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105449== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105449== by 0x51D42F3: Curl_open (url.c:551) ==105449== by 0x514CA2F: curl_easy_init (easy.c:372) ==105449== by 0x400A70A: test_lib539.lto_priv.0 (lib539.c:40) ==105449== by 0x400347F: main (first.c:281) ==105449== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105449== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105449== by 0x51D4243: Curl_open (url.c:530) ==105449== by 0x514CA2F: curl_easy_init (easy.c:372) ==105449== by 0x400A70A: test_lib539.lto_priv.0 (lib539.c:40) ==105449== by 0x400347F: main (first.c:281) ==105449== === End of file valgrind539 test 0542...[FTP a file with NOBODY yes and HEADER no] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38141/542 > log/12/stdout542 2> log/12/stderr542 542: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38141/542 > log/12/stdout542 2> log/12/stderr542 === End of file commands.log === Start of file ftp_server.log 14:53:37.230145 ====> Client connect 14:53:37.230348 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:37.230653 < "USER anonymous" 14:53:37.230692 > "331 We are happy you popped in![CR][LF]" 14:53:37.230874 < "PASS ftp@example.com" 14:53:37.230903 > "230 Welcome you silly person[CR][LF]" 14:53:37.231073 < "PWD" 14:53:37.231106 > "257 "/" is current directory[CR][LF]" 14:53:37.231284 < "EPSV" 14:53:37.231310 ====> Passive DATA channel requested by client 14:53:37.231324 DATA sockfilt for passive data channel starting... 14:53:37.233684 DATA sockfilt for passive data channel started (pid 105582) 14:53:37.233812 DATA sockfilt for passive data channel listens on port 40097 14:53:37.233857 > "229 Entering Passive Mode (|||40097|)[LF]" 14:53:37.233879 Client has been notified that DATA conn will be accepted on port 40097 14:53:37.234128 Client connects to port 40097 14:53:37.234160 ====> Client established passive DATA connection on port 40097 14:53:37.234244 < "TYPE I" 14:53:37.234275 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:37.234450 < "SIZE verifiedserver" 14:53:37.234487 > "213 17[CR][LF]" 14:53:37.234658 < "RETR verifiedserver" 14:53:37.234694 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:37.234778 =====> Closing passive DATA connection... 14:53:37.234795 Server disconnects passive DATA connection 14:53:37.235046 Server disconnected passive DATA connection 14:53:37.235075 DATA sockfilt for passive data channel quits (pid 105582) 14:53:37.235330 DATA sockfilt for passive data channel quit (pid 105582) 14:53:37.235356 =====> Closed passive DATA connection 14:53:37.235387 > "226 File transfer complete[CR][LF]" 14:53:37.278787 < "QUIT" 14:53:37.278843 > "221 bye bye baby[CR][LF]" 14:53:37.279662 MAIN sockfilt said DISC 14:53:37.279705 ====> Client disconnected 14:53:37.279790 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.312836 ====> Client connect 14:53:36.313182 Received DATA (on stdin) 14:53:36.313200 > 160 bytes data, server => client 14:53:36.313214 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.313226 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.313237 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.313319 < 16 bytes data, client => server 14:53:36.313335 'USER anonymous\r\n' 14:53:36.313514 Received DATA (on stdin) 14:53:36.313529 > 33 bytes data, server => client 14:53:36.313541 '331 We are happy you popped in!\r\n' 14:53:36.313595 < 22 bytes data, client => server 14:53:36.313610 'PASS ftp@example.com\r\n' 14:53:36.313723 Received DATA (on stdin) 14:53:36.313737 > 30 bytes data, server => client 14:53:36.313748 '230 Welcome you silly person\r\n' 14:53:36.313799 < 5 bytes data, client => server 14:53:36.313813 'PWD\r\n' 14:53:36.313925 Received DATA (on stdin) 14:53:36.313938 > 30 bytes data, server => client 14:53:36.313950 '257 "/" is current directory\r\n' 14:53:36.314010 < 6 bytes data, client => server 14:53:36.314025 'EPSV\r\n' 14:53:36.316704 Received DATA (on stdin) 14:53:36.316721 > 38 bytes data, server => client 14:53:36.316734 '229 Entering Passive Mode (|||40097|)\n' 14:53:36.316855 < 8 bytes data, client => server 14:53:36.316874 'TYPE I\r\n' 14:53:36.317095 Received DATA (on stdin) 14:53:36.317110 > 33 bytes data, server => client 14:53:36.317122 '200 I modify TYPE as you wanted\r\n' 14:53:36.317174 < 21 bytes data, client => server 14:53:36.317188 'SIZE verifiedserver\r\n' 14:53:36.317306 Received DATA (on stdin) 14:53:36.317322 > 8 bytes data, server => client 14:53:36.317333 '213 17\r\n' 14:53:36.317384 < 21 bytes data, client => server 14:53:36.317398 'RETR verifiedserver\r\n' 14:53:36.317616 Received DATA (on stdin) 14:53:36.317630 > 29 bytes data, server => client 14:53:36.317642 '150 Binary junk (17 bytes).\r\n' 14:53:36.318207 Received DATA (on stdin) 14:53:36.318222 > 28 bytes data, server => client 14:53:36.318233 '226 File transfer complete\r\n' 14:53:36.361380 < 6 bytes data, client => server 14:53:36.361408 'QUIT\r\n' 14:53:36.361667 Received DATA (on stdin) 14:53:36.361682 > 18 bytes data, server => client 14:53:36.361695 '221 bye bye baby\r\n' 14:53:36.362419 ====> Client disconnect 14:53:36.362609 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:37.316296 Running IPv4 version 14:53:37.316369 Listening on port 40097 14:53:37.316412 Wrote pid 105582 to log/12/server/ftp_sockdata.pid 14:53:37.316435 Received PING (on stdin) 14:53:37.316540 Received PORT (on stdin) 14:53:37.316895 ====> Client connect 14:53:37.317670 Received DATA (on stdin) 14:53:37.317684 > 17 bytes data, server => client 14:53:37.317696 'WE ROOLZ: 80195\r\n' 14:53:37.317722 Received DISC (on stdin) 14:53:37.317734 ====> Client forcibly disconnected 14:53:37.317903 Received QUIT (on stdin) 14:53:37.317916 quits 14:53:37.317977 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file stderr542 URL: ftp://127.0.0.1:38141/542 === End of file stderr542 === Start of file valgrind542 ==105589== ==105589== Process terminating with default action of signal 4 (SIGILL) ==105589== Illegal opcode at address 0x51D42F3 ==105589== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105589== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105589== by 0x51D42F3: Curl_open (url.c:551) ==105589== by 0x514CA2F: curl_easy_init (easy.c:372) ==105589== by 0x401502A: test_lib542.lto_priv.0 (lib542.c:43) ==105589== by 0x400347F: main (first.c:281) ==105589== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105589== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105589== by 0x51D4243: Curl_open (url.c:530) ==105589== by 0x514CA2F: curl_easy_init (easy.c:372) ==105589== by 0x401502A: test_lib542.lto_priv.0 (lib542.c:43) ==105589== by 0x400347F: main (first.c:28CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36077/541 log/6/upload541 > log/6/stdout541 2> log/6/stderr541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 1) ==105589== === End of file valgrind542 test 0541...[FTP upload and upload same file again without rewind] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36077/541 log/6/upload541 > log/6/stdout541 2> log/6/stderr541 541: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36077/541 log/6/upload541 > log/6/stdout541 2> log/6/stderr541 === End of file commands.log === Start of file ftp_server.log 14:53:37.230608 ====> Client connect 14:53:37.230787 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:37.231120 < "USER anonymous" 14:53:37.231163 > "331 We are happy you popped in![CR][LF]" 14:53:37.231348 < "PASS ftp@example.com" 14:53:37.231375 > "230 Welcome you silly person[CR][LF]" 14:53:37.231529 < "PWD" 14:53:37.231562 > "257 "/" is current directory[CR][LF]" 14:53:37.231718 < "EPSV" 14:53:37.231743 ====> Passive DATA channel requested by client 14:53:37.231758 DATA sockfilt for passive data channel starting... 14:53:37.234161 DATA sockfilt for passive data channel started (pid 105583) 14:53:37.234288 DATA sockfilt for passive data channel listens on port 37149 14:53:37.234333 > "229 Entering Passive Mode (|||37149|)[LF]" 14:53:37.234357 Client has been notified that DATA conn will be accepted on port 37149 14:53:37.234608 Client connects to port 37149 14:53:37.234639 ====> Client established passive DATA connection on port 37149 14:53:37.234721 < "TYPE I" 14:53:37.234753 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:37.234953 < "SIZE verifiedserver" 14:53:37.234993 > "213 17[CR][LF]" 14:53:37.235170 < "RETR verifiedserver" 14:53:37.235209 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:37.235295 =====> Closing passive DATA connection... 14:53:37.235315 Server disconnects passive DATA connection 14:53:37.235533 Server disconnected passive DATA connection 14:53:37.235561 DATA sockfilt for passive data channel quits (pid 105583) 14:53:37.235818 DATA sockfilt for passive data channel quit (pid 105583) 14:53:37.235844 =====> Closed passive DATA connection 14:53:37.235871 > "226 File transfer complete[CR][LF]" 14:53:37.283788 < "QUIT" 14:53:37.283842 > "221 bye bye baby[CR][LF]" 14:53:37.285106 MAIN sockfilt said DISC 14:53:37.285139 ====> Client disconnected 14:53:37.285204 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:36.309682 ====> Client connect 14:53:36.313630 Received DATA (on stdin) 14:53:36.313652 > 160 bytes data, server => client 14:53:36.313668 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:36.313682 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:36.313695 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:36.313784 < 16 bytes data, client => server 14:53:36.313799 'USER anonymous\r\n' 14:53:36.313985 Received DATA (on stdin) 14:53:36.313999 > 33 bytes data, server => client 14:53:36.314012 '331 We are happy you popped in!\r\n' 14:53:36.314065 < 22 bytes data, client => server 14:53:36.314078 'PASS ftp@example.com\r\n' 14:53:36.314192 Received DATA (on stdin) 14:53:36.314204 > 30 bytes data, server => client 14:53:36.314216 '230 Welcome you silly person\r\n' 14:53:36.314263 < 5 bytes data, client => server 14:53:36.314275 'PWD\r\n' 14:53:36.314377 Received DATA (on stdin) 14:53:36.314389 > 30 bytes data, server => client 14:53:36.314401 '257 "/" is current directory\r\n' 14:53:36.314454 < 6 bytes data, client => server 14:53:36.314465 'EPSV\r\n' 14:53:36.317184 Received DATA (on stdin) 14:53:36.317201 > 38 bytes data, server => client 14:53:36.317215 '229 Entering Passive Mode (|||37149|)\n' 14:53:36.317333 < 8 bytes data, client => server 14:53:36.317353 'TYPE I\r\n' 14:53:36.317573 Received DATA (on stdin) 14:53:36.317589 > 33 bytes data, server => client 14:53:36.317607 '200 I modify TYPE as you wanted\r\n' 14:53:36.317672 < 21 bytes data, client => server 14:53:36.317689 'SIZE verifiedserver\r\n' 14:53:36.317812 Received DATA (on stdin) 14:53:36.317827 > 8 bytes data, server => client 14:53:36.317839 '213 17\r\n' 14:53:36.317893 < 21 bytes data, client => server 14:53:36.317908 'RETR verifiedserver\r\n' 14:53:36.318137 Received DATA (on stdin) 14:53:36.318153 > 29 bytes data, server => client 14:53:36.318165 '150 Binary junk (17 bytes).\r\n' 14:53:36.318690 Received DATA (on stdin) 14:53:36.318705 > 28 bytes data, server => client 14:53:36.318717 '226 File transfer complete\r\n' 14:53:36.366438 < 6 bytes data, client => server 14:53:36.366467 'QUIT\r\n' 14:53:36.366665 Received DATA (on stdin) 14:53:36.366680 > 18 bytes data, server => client 14:53:36.366693 '221 bye bye baby\r\n' 14:53:36.367871 ====> Client disconnect 14:53:36.368024 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:37.316309 Running IPv4 version 14:53:37.316851 Listening on port 37149 14:53:37.316893 Wrote pid 105583 to log/6/server/ftp_sockdata.pid 14:53:37.316918 Received PING (on stdin) 14:53:37.317013 Received PORT (on stdin) 14:53:37.317376 ====> Client connect 14:53:37.318224 Received DATA (on stdin) 14:53:37.318242 > 17 bytes data, server => client 14:53:37.318254 'WE ROOLZ: 80241\r\n' 14:53:37.318282 Received DISC (on stdin) 14:53:37.318298 ====> Client forcibly disconnected 14:53:37.318397 Received QUIT (on stdin) 14:53:37.318410 quits 14:53:37.318467 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file stderr541 URL: ftp://127.0.0.1:36077/541 === End of file stderr541 === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 ==105648== ==105648== Process terminating with default action of signal 4 (SIGILL) ==105648== Illegal opcode at address 0x51D42F3 ==105648== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105648== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105648== by 0x51D42F3: Curl_open (url.c:551) ==105648== by 0x514CA2F: curl_easy_init (easy.c:372) ==105648== by 0x4015ED6: test_lib541.lto_priv.0 (lib541.c:81) ==105648== by 0x400347F: main (first.c:281) ==105648== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==105648== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105648== by 0x51D4243: Curl_open (url.c:530) ==105648== by 0x514CA2F: curl_easy_init (easy.c:372) ==105648== by 0x4015ED6: test_lib541.lto_priv.0 (lib541.c:81) ==105648== by 0x400347F: main (first.c:281) ==105648== === End of file valgrind541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34475/544 > log/16/stdout544 2> log/16/stderr544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 test 0543...[curl_easy_escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 543: stdout FAILED: --- log/2/check-expected 2025-09-11 14:53:38.472197431 +0000 +++ log/2/check-generated 2025-09-11 14:53:38.472197431 +0000 @@ -1,3 +0,0 @@ -%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] -IN: '' OUT: ''[LF] -IN: ' 12' OUT: '%2012'[LF] == Contents of files in the log/2/ dir after test 543 === Start of file check-expected %9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] IN: '' OUT: ''[LF] IN: ' 12' OUT: '%2012'[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 === End of file commands.log === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file stderr543 URL: - === End of file stderr543 === Start of file valgrind543 ==105717== ==105717== Process terminating with default action of signal 4 (SIGILL) ==105717== Illegal opcode at address 0x51D42F3 ==105717== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105717== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105717== by 0x51D42F3: Curl_open (url.c:551) ==105717== by 0x514CA2F: curl_easy_init (easy.c:372) ==105717== by 0x40167E9: UnknownInlinedFun (lib543.c:42) ==105717== by 0x40167E9: test_lib543.lto_priv.0 (lib543.c:30) ==105717== by 0x400347F: main (first.c:281) ==105717== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105717== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105717== by 0x51D4243: Curl_open (url.c:530) ==105717== by 0x514CA2F: curl_easy_init (easy.c:372) ==105717== by 0x40167E9: UnknownInlinedFun (lib543.c:42) ==105717== by 0x40167E9: test_lib543.lto_priv.0 (lib543.c:30) ==105717== by 0x400347F: main (first.c:281) ==105717== === End of file valgrind543 test 0544...[HTTP POST text data using CURLOPT_COPYPOSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34475/544 > log/16/stdout544 2> log/16/stderr544 544: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 544 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34475/544 > log/16/stdout544 2> log/16/stderr544 === End of file commands.log === Start of file http_server.log 14:53:37.582437 ====> Client connect 14:53:37.582481 accept_connection 3 returned 4 14:53:37.582502 accept_connection 3 returned 0 14:53:37.582521 Read 93 bytes 14:53:37.582533 Process 93 bytes request 14:53:37.582549 Got request: GET /verifiedserver HTTP/1.1 14:53:37.582560 Are-we-friendly question received 14:53:37.582586 Wrote request (93 bytes) input to log/16/server.input 14:53:37.582604 Identifying ourselves as friends 14:53:37.582678 Response sent (56 bytes) and written to log/16/server.response 14:53:37.582691 special request received, no persistency 14:53:37.582702 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 49754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 544 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:34475/544 === End of file stderr544 === Start of file valgrind544 ==105764== ==105764== Process terminating with default action of signal 4 (SIGILL) ==105764== Illegal opcode at address 0x51D42F3 ==105764== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105764== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105764== by 0x51D42F3: Curl_open (url.c:551) ==105764== by 0x514CA2F: curl_easy_init (easy.c:372) ==105764== by 0x4017457: test_lib544.lto_priv.0 (lib544.c:48) ==105764== by 0x400347F: main (first.c:281) ==105764== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105764== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105764== by 0x51D4243: Curl_open (url.c:530) ==105764== by 0x514CA2F: curl_easy_init (easy.c:372) ==105764== by 0x4017457: test_lib544.lto_priv.0 (lib544.c:48) ==105764== by 0x400347F: main (first.c:281) ==105764== === End of file valgrind544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39569/537 > log/20/stdout537 2> log/20/stderr537 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40545/545 > log/7/stdout545 2> log/7/stderr545 test 0557...[curl_mprintf() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 557: stdout FAILED: --- log/8/check-expected 2025-09-11 14:53:38.495530764 +0000 +++ log/8/check-generated 2025-09-11 14:53:38.495530764 +0000 @@ -1,10 +0,0 @@ -All curl_mprintf() unsigned short tests OK![LF] -All curl_mprintf() signed short tests OK![LF] -All curl_mprintf() unsigned int tests OK![LF] -All curl_mprintf() signed int tests OK![LF] -All curl_mprintf() unsigned long tests OK![LF] -All curl_mprintf() signed long tests OK![LF] -All curl_mprintf() curl_off_t tests OK![LF] -All curl_mprintf() strings tests OK![LF] -All float strings tests OK![LF] -All curl_mprintf() octal & hexadecimal tests OK![LF] == Contents of files in the log/8/ dir after test 557 === Start of file check-expected All curl_mprintf() unsigned short tests OK![LF] All curl_mprintf() signed short tests OK![LF] All curl_mprintf() unsigned int tests OK![LF] All curl_mprintf() signed int tests OK![LF] All curl_mprintf() unsigned long tests OK![LF] All curl_mprintf() signed long tests OK![LF] All curl_mprintf() curl_off_t tests OK![LF] All curl_mprintf() strings tests OK![LF] All float strings tests OK![LF] All curl_mprintf() octal & hexadecimal tests OK![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 === End of file commands.log === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file stderr557 URL: - === End of file stderr557 === Start of file valgrind557 ==106503== ==106503== Process terminating with default action of signal 4 (SIGILL) ==106503== Illegal opcode at address 0x401836A ==106503== at 0x401836A: UnknownInlinedFun (lib557.c:1106) ==106503== by 0x401836A: test_weird_arguments (lib557.c:1233) ==106503== by 0x4019FC1: test_lib557.lto_priv.0 (lib557.c:1548) ==106503== by 0x400347F: main (first.c:281) === End of file valgrind557 prechecked ./libtest/libtests lib537 check test 0537...[HTTP GET with a HUGE number of file descriptors open] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39569/537 > log/20/stdout537 2> log/20/stderr537 537: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 537 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39569/537 > log/20/stdout537 2> log/20/stderr537 === End of file commands.log === Start of file http_server.log 14:53:37.100826 ====> Client connect 14:53:37.100859 accept_connection 3 returned 4 14:53:37.100876 accept_connection 3 returned 0 14:53:37.100891 Read 93 bytes 14:53:37.100903 Process 93 bytes request 14:53:37.100915 Got request: GET /verifiedserver HTTP/1.1 14:53:37.100926 Are-we-friendly question received 14:53:37.100949 Wrote request (93 bytes) input to log/20/server.input 14:53:37.100966 Identifying ourselves as friends 14:53:37.101016 Response sent (56 bytes) and written to log/20/server.response 14:53:37.101027 special request received, no persistency 14:53:37.101037 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 52810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file precheck-537 URL: check initial soft limit: 1024 initial hard limit: 524288 raising soft limit up to hard limit current soft limit: 524288 current hard limit: 524288 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 524277 file descriptors initializing testfd array trying to open 524277 file descriptors 524277 file descriptors open Test ended with result 0 === End of file precheck-537 === Start of file server.cmd Testnum 537 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:39569/537 initial soft limit: 1024 initial hard limit: 1024 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 1013 file descriptors initializing testfd array trying to open 1013 file descriptors 1013 file descriptors open === End of file stderr537 === Start of file valgrind537 ==105828== ==105828== Process terminating with default action of signal 4 (SIGILL) ==105828== Illegal opcode at address 0x51D42F3 ==105828== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105828== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105828== by 0x51D42F3: Curl_open (url.c:551) ==105828== by 0x514CA2F: curl_easy_init (easy.c:372) ==105828== by 0x400FD12: UnknownInlinedFun (lib537.c:466) ==105828== by 0x400FD12: test_lib537.lto_priv.0 (lib537.c:438) ==105828== by 0x400347F: main (first.c:281) ==105828== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==105828== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105828== by 0x51D4243: Curl_open (url.c:530) ==105828== by 0x514CA2F: curl_easy_init (easy.c:372) ==105828== by 0x400FD12: UnknownInlinedFun (lib537.c:466) ==105828== by 0x400FD12: test_lib537.lto_priv.0 (lib537.c:438) ==105828== by 0x400347F: main (first.c:281) ==105828== === End of file valgrind537 test 0545...[HTTP POST binary with embedded zero and no trailing zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40545/545 > log/7/stdout545 2> log/7/stderr545 545: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40545/545 > log/7/stdout545 2> log/7/stderr545 === End of file commands.log === Start of file http_server.log 14:53:37.708026 ====> Client connect 14:53:37.708055 accept_connection 3 returned 4 14:53:37.708072 accept_connection 3 returned 0 14:53:37.708088 Read 93 bytes 14:53:37.708099 Process 93 bytes request 14:53:37.708114 Got request: GET /verifiedserver HTTP/1.1 14:53:37.708123 Are-we-friendly question received 14:53:37.708147 Wrote request (93 bytes) input to log/7/server.input 14:53:37.708164 Identifying ourselves as friends 14:53:37.708214 Response sent (56 bytes) and written to log/7/server.response 14:53:37.708224 special request received, no persistency 14:53:37.708234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection toCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:46041 testuser:testpass > log/5/stdout547 2> log/5/stderr547 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:42107 testuser:testpass > log/15/stdout548 2> log/15/stderr548 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 36664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:40545/545 === End of file stderr545 === Start of file valgrind545 ==105924== ==105924== Process terminating with default action of signal 4 (SIGILL) ==105924== Illegal opcode at address 0x51D42F3 ==105924== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105924== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105924== by 0x51D42F3: Curl_open (url.c:551) ==105924== by 0x514CA2F: curl_easy_init (easy.c:372) ==105924== by 0x4017457: test_lib544.lto_priv.0 (lib544.c:48) ==105924== by 0x400347F: main (first.c:281) ==105924== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105924== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105924== by 0x51D4243: Curl_open (url.c:530) ==105924== by 0x514CA2F: curl_easy_init (easy.c:372) ==105924== by 0x4017457: test_lib544.lto_priv.0 (lib544.c:48) ==105924== by 0x400347F: main (first.c:281) ==105924== === End of file valgrind545 test 0547...[HTTP proxy auth NTLM with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:46041 testuser:testpass > log/5/stdout547 2> log/5/stderr547 547: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:46041 testuser:testpass > log/5/stdout547 2> log/5/stderr547 === End of file commands.log === Start of file http_server.log 14:53:37.717969 ====> Client connect 14:53:37.717996 accept_connection 3 returned 4 14:53:37.718013 accept_connection 3 returned 0 14:53:37.718027 Read 93 bytes 14:53:37.718038 Process 93 bytes request 14:53:37.718051 Got request: GET /verifiedserver HTTP/1.1 14:53:37.718063 Are-we-friendly question received 14:53:37.718089 Wrote request (93 bytes) input to log/5/server.input 14:53:37.718106 Identifying ourselves as friends 14:53:37.718166 Response sent (56 bytes) and written to log/5/server.response 14:53:37.718178 special request received, no persistency 14:53:37.718188 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 57606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 547 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr547 URL: http://test.remote.example.com/path/547 === End of file stderr547 === Start of file valgrind547 ==105966== ==105966== Process terminating with default action of signal 4 (SIGILL) ==105966== Illegal opcode at address 0x51D42F3 ==105966== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105966== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105966== by 0x51D42F3: Curl_open (url.c:551) ==105966== by 0x514CA2F: curl_easy_init (easy.c:372) ==105966== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==105966== by 0x400347F: main (first.c:281) ==105966== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105966== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105966== by 0x51D4243: Curl_open (url.c:530) ==105966== by 0x514CA2F: curl_easy_init (easy.c:372) ==105966== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==105966== by 0x400347F: main (first.c:281) ==105966== === End of file valgrind547 test 0548...[HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:42107 testuser:testpass > log/15/stdout548 2> log/15/stderr548 548: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:42107 testuser:testpass > log/15/stdout548 2> log/15/stderr548 === End of file commands.log === Start of file http_server.log 14:53:37.729154 ====> Client connect 14:53:37.729190 accept_connection 3 returned 4 14:53:37.729208 accept_connection 3 returned 0 14:53:37.729223 Read 93 bytes 14:53:37.729235 Process 93 bytes request 14:53:37.729247 Got request: GET /verifiedserver HTTP/1.1 14:53:37.729259 Are-we-friendly question received 14:53:37.729286 Wrote request (93 bytes) input to log/15/server.input 14:53:37.729305 Identifying ourselves as friends 14:53:37.729366 Response sent (56 bytes) and written to log/15/server.response 14:53:37.729379 special request received, no persistency 14:53:37.729389 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 35478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr548 URL: http://test.remote.example.com/path/548 === End of file stderr548 === Start of file valgrind548 ==105998== ==105998== Process terminating with default action of signal 4 (SIGILL) ==105998== Illegal opcode at address 0x51D42F3 ==105998== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==105998== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==105998== by 0x51D42F3: Curl_open (url.c:551) ==105998== by 0x514CA2F: curl_easy_init (easy.c:372) ==105998== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==105998== by 0x400347F: main (first.c:281) ==105998== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==105998== at 0x5108CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:45969/path/546 ftp://127.0.0.1:45969/path/546 > log/22/stdout546 2> log/22/stderr546 C13: calloc (vg_replace_malloc.c:1675) ==105998== by 0x51D4243: Curl_open (url.c:530) ==105998== by 0x514CA2F: curl_easy_init (easy.c:372) ==105998== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==105998== by 0x400347F: main (first.c:281) ==105998== === End of file valgrind548 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:34345 > log/9/stdout549 2> log/9/stderr549 test 0546...[FTP RETR a non-existing file then a found one using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:45969/path/546 ftp://127.0.0.1:45969/path/546 > log/22/stdout546 2> log/22/stderr546 546: stdout FAILED: --- log/22/check-expected 2025-09-11 14:53:38.695530768 +0000 +++ log/22/check-generated 2025-09-11 14:53:38.695530768 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/22/ dir after test 546 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:45969/path/546 ftp://127.0.0.1:45969/path/546 > log/22/stdout546 2> log/22/stderr546 === End of file commands.log === Start of file ftp_server.log 14:53:37.631320 ====> Client connect 14:53:37.631465 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:37.631756 < "USER anonymous" 14:53:37.631792 > "331 We are happy you popped in![CR][LF]" 14:53:37.631972 < "PASS ftp@example.com" 14:53:37.632001 > "230 Welcome you silly person[CR][LF]" 14:53:37.632170 < "PWD" 14:53:37.632203 > "257 "/" is current directory[CR][LF]" 14:53:37.632394 < "EPSV" 14:53:37.632421 ====> Passive DATA channel requested by client 14:53:37.632439 DATA sockfilt for passive data channel starting... 14:53:37.634197 DATA sockfilt for passive data channel started (pid 105921) 14:53:37.634329 DATA sockfilt for passive data channel listens on port 38903 14:53:37.634373 > "229 Entering Passive Mode (|||38903|)[LF]" 14:53:37.634393 Client has been notified that DATA conn will be accepted on port 38903 14:53:37.634653 Client connects to port 38903 14:53:37.634682 ====> Client established passive DATA connection on port 38903 14:53:37.634764 < "TYPE I" 14:53:37.634797 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:37.634989 < "SIZE verifiedserver" 14:53:37.635028 > "213 17[CR][LF]" 14:53:37.635208 < "RETR verifiedserver" 14:53:37.635252 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:37.635338 =====> Closing passive DATA connection... 14:53:37.635357 Server disconnects passive DATA connection 14:53:37.635534 Server disconnected passive DATA connection 14:53:37.635565 DATA sockfilt for passive data channel quits (pid 105921) 14:53:37.635770 DATA sockfilt for passive data channel quit (pid 105921) 14:53:37.635794 =====> Closed passive DATA connection 14:53:37.635823 > "226 File transfer complete[CR][LF]" 14:53:37.680778 < "QUIT" 14:53:37.680837 > "221 bye bye baby[CR][LF]" 14:53:37.681130 MAIN sockfilt said DISC 14:53:37.681194 ====> Client disconnected 14:53:37.681278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:37.714007 ====> Client connect 14:53:37.714294 Received DATA (on stdin) 14:53:37.714311 > 160 bytes data, server => client 14:53:37.714323 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:37.714335 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:37.714347 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:37.714426 < 16 bytes data, client => server 14:53:37.714442 'USER anonymous\r\n' 14:53:37.714614 Received DATA (on stdin) 14:53:37.714628 > 33 bytes data, server => client 14:53:37.714640 '331 We are happy you popped in!\r\n' 14:53:37.714694 < 22 bytes data, client => server 14:53:37.714709 'PASS ftp@example.com\r\n' 14:53:37.714818 Received DATA (on stdin) 14:53:37.714830 > 30 bytes data, server => client 14:53:37.714841 '230 Welcome you silly person\r\n' 14:53:37.714894 < 5 bytes data, client => server 14:53:37.714908 'PWD\r\n' 14:53:37.715022 Received DATA (on stdin) 14:53:37.715036 > 30 bytes data, server => client 14:53:37.715047 '257 "/" is current directory\r\n' 14:53:37.715113 < 6 bytes data, client => server 14:53:37.715129 'EPSV\r\n' 14:53:37.717219 Received DATA (on stdin) 14:53:37.717237 > 38 bytes data, server => client 14:53:37.717249 '229 Entering Passive Mode (|||38903|)\n' 14:53:37.717414 < 8 bytes data, client => server 14:53:37.717427 'TYPE I\r\n' 14:53:37.717610 Received DATA (on stdin) 14:53:37.717632 > 33 bytes data, server => client 14:53:37.717646 '200 I modify TYPE as you wanted\r\n' 14:53:37.717705 < 21 bytes data, client => server 14:53:37.717721 'SIZE verifiedserver\r\n' 14:53:37.717848 Received DATA (on stdin) 14:53:37.717863 > 8 bytes data, server => client 14:53:37.717875 '213 17\r\n' 14:53:37.717929 < 21 bytes data, client => server 14:53:37.717945 'RETR verifiedserver\r\n' 14:53:37.718059 Received DATA (on stdin) 14:53:37.718083 > 29 bytes data, server => client 14:53:37.718097 '150 Binary junk (17 bytes).\r\n' 14:53:37.718643 Received DATA (on stdin) 14:53:37.718660 > 28 bytes data, server => client 14:53:37.718672 '226 File transfer complete\r\n' 14:53:37.763400 < 6 bytes data, client => server 14:53:37.763431 'QUIT\r\n' 14:53:37.763662 Received DATA (on stdin) 14:53:37.763677 > 18 bytes data, server => client 14:53:37.763690 '221 bye bye baby\r\n' 14:53:37.763871 ====> Client disconnect 14:53:37.764099 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:37.716834 Running IPv4 version 14:53:37.716888 Listening on port 38903 14:53:37.716924 Wrote pid 105921 to log/22/server/ftp_sockdata.pid 14:53:37.716945 Received PING (on stdin) 14:53:37.717055 Received PORT (on stdin) 14:53:37.717384 ====> Client connect 14:53:37.718181 Received DATA (on stdin) 14:53:37.718204 > 17 bytes data, server => client 14:53:37.718217 'WE ROOLZ: 80268\r\n' 14:53:37.718250 Received DISC (on stdin) 14:53:37.718269 ====> Client forcibly disconnected 14:53:37.718393 Received QUIT (on stdin) 14:53:37.718409 quits 14:53:37.718459 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist COUNT RETR 1 REPLY SIZE 500 Can't check for file existence COUNT SIZE 1 Testnum 546 === End of file server.cmd === Start of file stderr546 URL: ftp://127.0.0.1:45969/path/546 === End of file stderr546 === Start of file valgrind546 ==106069== ==106069== Process terminating with default action of signal 4 (SIGILL) ==106069== Illegal opcode at address 0x51D42F3 ==106069== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106069== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106069== by 0x51D42F3: Curl_open (url.c:551) ==106069== by 0x514CA2F: curl_easy_init (easy.c:372) ==106069== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106069== by 0x400347F: main (first.c:281) ==106069== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106069== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106069== by 0x51D4243: Curl_open (url.c:530) ==106069== by 0x514CA2F: curl_easy_init (easy.c:372) ==106069== by 0x405ECB5: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106069== by 0x400347F: main (first.c:281) ==106069== === End of file valgrind546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:38851 ascii > log/23/stdout550 2> log/23/stderr550 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:33805 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35893/ > log/10/stdout552 2> log/10/stderr552 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:43297/path/553 > log/18/stdout553 2> log/18/stderr553 test 0549...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:34345 > log/9/stdout549 2> log/9/stderr549 549: stdout FAILED: --- log/9/check-expected 2025-09-11 14:53:38.708864101 +0000 +++ log/9/check-generated 2025-09-11 14:53:38.708864101 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/9/ dir after test 549 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:34345 > log/9/stdout549 2> log/9/stderr549 === End of file commands.log === Start of file http_server.log 14:53:37.812334 ====> Client connect 14:53:37.812372 accept_connection 3 returned 4 14:53:37.812390 accept_connection 3 returned 0 14:53:37.812406 Read 93 bytes 14:53:37.812417 Process 93 bytes request 14:53:37.812432 Got request: GET /verifiedserver HTTP/1.1 14:53:37.812443 Are-we-friendly question received 14:53:37.812470 Wrote request (93 bytes) input to log/9/server.input 14:53:37.812487 Identifying ourselves as friends 14:53:37.812542 Response sent (56 bytes) and written to log/9/server.response 14:53:37.812553 special request received, no persistency 14:53:37.812564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 37394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 549 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==106191== ==106191== Process terminating with default action of signal 4 (SIGILL) ==106191== Illegal opcode at address 0x51D42F3 ==106191== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106191== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106191== by 0x51D42F3: Curl_open (url.c:551) ==106191== by 0x514CA2F: curl_easy_init (easy.c:372) ==106191== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106191== by 0x400347F: main (first.c:281) ==106191== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106191== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106191== by 0x51D4243: Curl_open (url.c:530) ==106191== by 0x514CA2F: curl_easy_init (easy.c:372) ==106191== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106191== by 0x400347F: main (first.c:281) ==106191== === End of file valgrind549 test 0552...[HTTP proxy auth Digest with 70K POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35893/ > log/10/stdout552 2> log/10/stderr552 552: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35893/ > log/10/stdout552 2> log/10/stderr552 === End of file commands.log === Start of file http_server.log 14:53:37.820557 ====> Client connect 14:53:37.820582 accept_connection 3 returned 4 14:53:37.820596 accept_connection 3 returned 0 14:53:37.820608 Read 93 bytes 14:53:37.820616 Process 93 bytes request 14:53:37.820626 Got request: GET /verifiedserver HTTP/1.1 14:53:37.820634 Are-we-friendly question received 14:53:37.820654 Wrote request (93 bytes) input to log/10/server.input 14:53:37.820668 Identifying ourselves as friends 14:53:37.820724 Response sent (56 bytes) and written to log/10/server.response 14:53:37.820733 special request received, no persistency 14:53:37.820741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 51216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 552 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr552 URL: http://test.remote.example.com/path/552 === End of file stderr552 === Start of file valgrind552 ==106213== ==106213== Process terminating with default action of signal 4 (SIGILL) ==106213== Illegal opcode at address 0x51D42F3 ==106213== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106213== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106213== by 0x51D42F3: Curl_open (url.c:551) ==106213== by 0x514CA2F: curl_easy_init (easy.c:372) ==106213== by 0x4015518: UnknownInlinedFun (lib552.c:81) ==106213== by 0x4015518: test_lib552.lto_priv.0 (lib552.c:70) ==106213== by 0x400347F: main (first.c:281) ==106213== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106213== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106213== by 0x51D4243: Curl_open (url.c:530) ==106213== by 0x514CA2F: curl_easy_init (easy.c:372) ==106213== by 0x4015518: UnknownInlinedFun (lib552.c:81) ==106213== by 0x4015518: test_lib552.lto_priv.0 (lib552.c:70) ==106213== by 0x400347F: main (first.c:281) ==106213== === End of file valgrind552 test 0551...[HTTP proxy auth Digest with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:33805 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 551: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:33805 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 === End of file commands.log === Start of file http_server.log 14:53:36.819241 ====> Client connect 14:53:36.819276 accept_connection 3 returned 4 14:53:36.819292 accept_connection 3 returned 0 14:53:36.819306 Read 93 bytes 14:53:36.819317 Process 93 bytes request 14:53:36.819329 Got request: GET /verifiedserver HTTP/1.1 14:53:36.819338 Are-we-friendly question received 14:53:36.819367 Wrote request (93 bytes) input to log/19/server.input 14:53:36.819383 Identifying ourselves as friends 14:53:36.819434 Response sent (56 bytes) and written to log/19/server.response 14:53:36.819446 special request received, no persistency 14:53:36.819455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 49340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr551 URL: http://test.remote.example.com/path/551 === End of file stderr551 === Start of file valgrind551 ==106215== ==106215== Process terminating with default action of signal 4 (SIGILL) ==106215== Illegal opcode at address 0x51D42F3 ==106215== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106215== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106215== by 0x51D42F3: Curl_open (url.c:551) ==106215== by 0x514CA2F: curl_easy_init (easy.c:372) ==106215== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==106215== by 0x400347F: main (first.c:281) ==106215== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106215== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106215== by 0x51D4243: Curl_open (url.c:530) ==106215== by 0x514CA2F: curl_easy_init (easy.c:372) ==106215== by 0x401515E: test_lib547.lto_priv.0 (lib547.c:78) ==106215== by 0x400347F: main (first.c:281) ==106215== === End of file valgrind551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34037/554 > log/21/stdout554 2> log/21/stderr554 test 0550...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:38851 ascii > log/23/stdout550 2> log/23/stderr550 550: stdout FAILED: --- log/23/check-expected 2025-09-11 14:53:38.718864101 +0000 +++ log/23/check-generated 2025-09-11 14:53:38.718864101 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/23/ dir after test 550 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:38851 ascii > log/23/stdout550 2> log/23/stderr550 === End of file commands.log === Start of file http_server.log 14:53:37.816081 ====> Client connect 14:53:37.816105 accept_connection 3 returned 4 14:53:37.816119 accept_connection 3 returned 0 14:53:37.816130 Read 93 bytes 14:53:37.816139 Process 93 bytes request 14:53:37.816149 Got request: GET /verifiedserver HTTP/1.1 14:53:37.816157 Are-we-friendly question received 14:53:37.816174 Wrote request (93 bytes) input to log/23/server.input 14:53:37.816187 Identifying ourselves as friends 14:53:37.816227 Response sent (56 bytes) and written to log/23/server.response 14:53:37.816236 special request received, no persistency 14:53:37.816243 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 35952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 550 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==106196== ==106196== Process terminating with default action of signal 4 (SIGILL) ==106196== Illegal opcode at address 0x51D42F3 ==106196== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106196== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106196== by 0x51D42F3: Curl_open (url.c:551) ==106196== by 0x514CA2F: curl_easy_init (easy.c:372) ==106196== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106196== by 0x400347F: main (first.c:281) ==106196== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106196== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106196== by 0x51D4243: Curl_open (url.c:530) ==106196== by 0x514CA2F: curl_easy_init (easy.c:372) ==106196== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106196== by 0x400347F: main (first.c:281) ==106196== === End of file valgrind550 test 0553...[HTTP post with huge request headers and post data from callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:43297/path/553 > log/18/stdout553 2> log/18/stderr553 553: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:43297/path/553 > log/18/stdout553 2> log/18/stderr553 === End of file commands.log === Start of file http_server.log 14:53:37.859720 ====> Client connect 14:53:37.859758 accept_connection 3 returned 4 14:53:37.859778 accept_connection 3 returned 0 14:53:37.859795 Read 93 bytes 14:53:37.859807 Process 93 bytes request 14:53:37.859823 Got request: GET /verifiedserver HTTP/1.1 14:53:37.859834 Are-we-friendly question received 14:53:37.859860 Wrote request (93 bytes) input to log/18/server.input 14:53:37.859883 Identifying ourselves as friends 14:53:37.859946 Response sent (56 bytes) and written to log/18/server.response 14:53:37.859958 special request received, no persistency 14:53:37.859968 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 553 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:43297/path/553 === End of file stderr553 === Start of file valgrind553 ==106384== ==106384== Process terminating with default action of signal 4 (SIGILL) ==106384== Illegal opcode at address 0x51D42F3 ==106384== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106384== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106384== by 0x51D42F3: Curl_open (url.c:551) ==106384== by 0x514CA2F: curl_easy_init (easy.c:372) ==106384== by 0x4017911: test_lib553.lto_priv.0 (lib553.c:72) ==106384== by 0x400347F: main (first.c:281) ==106384== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106384== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106384== by 0x51D4243: Curl_open (url.c:530) ==106384== by 0x514CA2F: curl_easy_init (easy.c:372) ==106384== by 0x4017911: test_lib553.lto_priv.0 (lib553.c:72) ==106384== by 0x400347F: main (first.c:281) ==106384== === End of file valgrind553 test 0554...[HTTP multi-part formpost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34037/554 > log/21/stdout554 2> log/21/stderr554 554: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 554 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34037/554 > log/21/stdout554 2> log/21/stderr554 === End of file commands.log === Start of file http_server.log 14:53:37.890414 ====> Client connect 14:53:37.890453 accept_connection 3 returned 4 14:53:37.890471 accept_connection 3 returned 0 14:53:37.890489 Read 93 bytes 14:53:37.890501 Process 93 bytes request 14:53:37.890516 Got request: GET /verifiedserver HTTP/1.1 14:53:37.890527 Are-we-friendly question received 14:53:37.890555 Wrote request (93 bytes) input to log/21/server.input 14:53:37.890576 Identifying ourselves as friends 14:53:37CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:34449 > log/24/stdout556 2> log/24/stderr556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:46791 testuser:testpass > log/3/stdout555 2> log/3/stderr555 .890639 Response sent (56 bytes) and written to log/21/server.response 14:53:37.890651 special request received, no persistency 14:53:37.890662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 58218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:34037/554 === End of file stderr554 === Start of file valgrind554 ==106489== ==106489== Process terminating with default action of signal 4 (SIGILL) ==106489== Illegal opcode at address 0x51D42F3 ==106489== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106489== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106489== by 0x51D42F3: Curl_open (url.c:551) ==106489== by 0x514CA2F: curl_easy_init (easy.c:372) ==106489== by 0x4017CE8: t554_test_once (lib554.c:147) ==106489== by 0x4017F6B: test_lib554.lto_priv.0 (lib554.c:204) ==106489== by 0x400347F: main (first.c:281) ==106489== 5,408 bytes in 1 blocks are definitely lost in loss record 653 of 655 ==106489== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106489== by 0x51D4243: Curl_open (url.c:530) ==106489== by 0x514CA2F: curl_easy_init (easy.c:372) ==106489== by 0x4017CE8: t554_test_once (lib554.c:147) ==106489== by 0x4017F6B: test_lib554.lto_priv.0 (lib554.c:204) ==106489== by 0x400347F: main (first.c:281) ==106489== === End of file valgrind554 test 0556...[send and recv HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:34449 > log/24/stdout556 2> log/24/stderr556 556: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 556 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:34449 > log/24/stdout556 2> log/24/stderr556 === End of file commands.log === Start of file http_server.log 14:53:37.906732 ====> Client connect 14:53:37.906764 accept_connection 3 returned 4 14:53:37.906782 accept_connection 3 returned 0 14:53:37.906797 Read 93 bytes 14:53:37.906809 Process 93 bytes request 14:53:37.906821 Got request: GET /verifiedserver HTTP/1.1 14:53:37.906832 Are-we-friendly question received 14:53:37.906876 Wrote request (93 bytes) input to log/24/server.input 14:53:37.906896 Identifying ourselves as friends 14:53:37.906957 Response sent (56 bytes) and written to log/24/server.response 14:53:37.906970 special request received, no persistency 14:53:37.906980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 40660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:34449 === End of file stderr556 === Start of file valgrind556 ==106507== ==106507== Process terminating with default action of signal 4 (SIGILL) ==106507== Illegal opcode at address 0x51D42F3 ==106507== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106507== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106507== by 0x51D42F3: Curl_open (url.c:551) ==106507== by 0x514CA2F: curl_easy_init (easy.c:372) ==106507== by 0x4018000: test_lib556.lto_priv.0 (lib556.c:39) ==106507== by 0x400347F: main (first.c:281) ==106507== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106507== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106507== by 0x51D4243: Curl_open (url.c:530) ==106507== by 0x514CA2F: curl_easy_init (easy.c:372) ==106507== by 0x4018000: test_lib556.lto_priv.0 (lib556.c:39) ==106507== by 0x400347F: main (first.c:281) ==106507== === End of file valgrind556 test 0555...[HTTP proxy auth NTLM with POST data from read callback multi-if] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:46791 testuser:testpass > log/3/stdout555 2> log/3/stderr555 555: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 555 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:46791 testuser:testpass > log/3/stdout555 2> log/3/stderr555 === End of file commands.log === Start of file http_server.log 14:53:37.905264 ====> Client connect 14:53:37.905301 accept_connection 3 returned 4 14:53:37.905319 accept_connection 3 returned 0 14:53:37.905336 Read 93 bytes 14:53:37.905348 Process 93 bytes request 14:53:37.905362 Got request: GET /verifiedserver HTTP/1.1 14:53:37.905373 Are-we-friendly question received 14:53:37.905400 Wrote request (93 bytes) input to log/3/server.input 14:53:37.905421 Identifying ourselves as friends 14:53:37.905488 Response sent (56 bytes) and written to log/3/server.response 14:53:37.905501 special request received, no persistency 14:53:37.905512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 47306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file stderr555 URL: http://test.remote.example.com/path/555 === End of file stderr555 === Start of file valgrind555 ==106544== ==106544== Process terminating with default action of signal 4 (SIGILL) ==106544== Illegal opcode at address 0x51D42F3 ==106544== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106544== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106544== by 0x51D42F3: Curl_open (url.c:551) ==106544== by 0x514CAcannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:39793/559 > log/4/stdout559 2> log/4/stderr559 2F: curl_easy_init (easy.c:372) ==106544== by 0x401459F: test_lib555.lto_priv.0 (lib555.c:83) ==106544== by 0x400347F: main (first.c:281) ==106544== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106544== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106544== by 0x51D4243: Curl_open (url.c:530) ==106544== by 0x514CA2F: curl_easy_init (easy.c:372) ==106544== by 0x401459F: test_lib555.lto_priv.0 (lib555.c:83) ==106544== by 0x400347F: main (first.c:281) ==106544== === End of file valgrind555 test 0559...[use tiny CURLOPT_BUFFERSIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:39793/559 > log/4/stdout559 2> log/4/stderr559 559: data FAILED: --- log/4/check-expected 2025-09-11 14:53:38.782197435 +0000 +++ log/4/check-generated 2025-09-11 14:53:38.782197435 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 2049[LF] -Connection: close[LF] -Content-Type: text/html[LF] -Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] -[LF] -ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] == Contents of files in the log/4/ dir after test 559 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 2049[LF] Connection: close[LF] Content-Type: text/html[LF] Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] [LF] ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:39793/559 > log/4/stdout559 2> log/4/stderr559 === End of file commands.log === Start of file http_server.log 14:53:37.932663 ====> Client connect 14:53:37.932697 accept_connection 3 returned 4 14:53:37.932714 accept_connection 3 returned 0 14:53:37.932730 Read 93 bytes 14:53:37.932741 Process 93 bytes request 14:53:37.932757 Got request: GET /verifiedserver HTTP/1.1 14:53:37.932767 Are-we-friendly question received 14:53:37.932792 Wrote request (93 bytes) input to log/4/server.input 14:53:37.932810 Identifying ourselves as friends 14:53:37.932863 Response sent (56 bytes) and written to log/4/server.response 14:53:37.932874 special request received, no persistency 14:53:37.932884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 559 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:39793/559 === End of file stderr559 === Start of file valgrindcannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:46043 ascii > log/14/stdout561 2> log/14/stderr561 559 ==106636== ==106636== Process terminating with default action of signal 4 (SIGILL) ==106636== Illegal opcode at address 0x51D42F3 ==106636== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106636== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106636== by 0x51D42F3: Curl_open (url.c:551) ==106636== by 0x514CA2F: curl_easy_init (easy.c:372) ==106636== by 0x40157AA: test_lib559.lto_priv.0 (lib559.c:38) ==106636== by 0x400347F: main (first.c:281) ==106636== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106636== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106636== by 0x51D4243: Curl_open (url.c:530) ==106636== by 0x514CA2F: curl_easy_init (easy.c:372) ==106636== by 0x40157AA: test_lib559.lto_priv.0 (lib559.c:38) ==106636== by 0x400347F: main (first.c:281) ==106636== === End of file valgrind559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 40705 > log/17/stdout562 2> log/17/stderr562 test 0561...[FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:46043 ascii > log/14/stdout561 2> log/14/stderr561 561: stdout FAILED: --- log/14/check-expected 2025-09-11 14:53:39.005530772 +0000 +++ log/14/check-generated 2025-09-11 14:53:39.005530772 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/14/ dir after test 561 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:46043 ascii > log/14/stdout561 2> log/14/stderr561 === End of file commands.log === Start of file http_server.log 14:53:38.154617 ====> Client connect 14:53:38.154654 accept_connection 3 returned 4 14:53:38.154673 accept_connection 3 returned 0 14:53:38.154688 Read 93 bytes 14:53:38.154699 Process 93 bytes request 14:53:38.154714 Got request: GET /verifiedserver HTTP/1.1 14:53:38.154725 Are-we-friendly question received 14:53:38.154751 Wrote request (93 bytes) input to log/14/server.input 14:53:38.154768 Identifying ourselves as friends 14:53:38.154824 Response sent (56 bytes) and written to log/14/server.response 14:53:38.154835 special request received, no persistency 14:53:38.154845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 59528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 561 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr561 URL: ftp://www.example.com/moo/561;type=i === End of file stderr561 === Start of file valgrind561 ==106796== ==106796== Process terminating with default action of signal 4 (SIGILL) ==106796== Illegal opcode at address 0x51D42F3 ==106796== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106796== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106796== by 0x51D42F3: Curl_open (url.c:551) ==106796== by 0x514CA2F: curl_easy_init (easy.c:372) ==106796== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106796== by 0x400347F: main (first.c:281) ==106796== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106796== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106796== by 0x51D4243: Curl_open (url.c:530) ==106796== by 0x514CA2F: curl_easy_init (easy.c:372) ==106796== by 0x40153CA: test_lib549.lto_priv.0 (lib549.c:43) ==106796== by 0x400347F: main (first.c:281) ==106796== === End of file valgrind561 test 0562...[FTP a type=A URL and CURLOPT_PORT set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 40705 > log/17/stdout562 2> log/17/stderr562 562: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 562 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 40705 > log/17/stdout562 2> log/17/stderr562 === End of file commands.log === Start of file ftp_server.log 14:53:38.071300 ====> Client connect 14:53:38.071448 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.071707 < "USER anonymous" 14:53:38.071737 > "331 We are happy you popped in![CR][LF]" 14:53:38.071876 < "PASS ftp@example.com" 14:53:38.071899 > "230 Welcome you silly person[CR][LF]" 14:53:38.072019 < "PWD" 14:53:38.072044 > "257 "/" is current directory[CR][LF]" 14:53:38.072172 < "EPSV" 14:53:38.072196 ====> Passive DATA channel requested by client 14:53:38.072207 DATA sockfilt for passive data channel starting... 14:53:38.074245 DATA sockfilt for passive data channel started (pid 106794) 14:53:38.074378 DATA sockfilt for passive data channel listens on port 35803 14:53:38.074426 > "229 Entering Passive Mode (|||35803|)[LF]" 14:53:38.074446 Client has been notified that DATA conn will be accepted on port 35803 14:53:38.074659 Client connects to port 35803 14:53:38.074689 ====> Client established passive DATA connection on port 35803 14:53:38.074814 < "TYPE I" 14:53:38.074848 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.075000 < "SIZE verifiedserver" 14:53:38.075035 > "213 17[CR][LF]" 14:53:38.075189 < "RETR verifiedserver" 14:53:38.075222 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:38.075302 =====> Closing passive DATA connection... 14:53:38.075318 Server disconnects passive DATA connection 14:53:38.075538 Server disconnected passive DATA connection 14:53:38.075564 DATA sockfilt for passive data channel quits (pid 106794) 14:53:38.075781 DATA sockfilt for passive data channel quit (pid 106794) 14:53:38.075804 =====> Closed passive DATA connection 14:53:38.075830 > "226 File transfer complete[CR][LF]" 14:53:38.120505 < "QUIT" 14:53:38.120556 > "221 bye bye baby[CR][LF]" 14:53:38.121446 MAIN sockfilt said DISC 14:53:38.121477 ====> Client disconnected 14:53:38.121552 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:38.154004 ====> Client connect 14:53:38.154273 Received DATA (on stdin) 14:53:38.154285 > 160 bytes data, server => client 14:53:38.154296 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:38.154305 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:38.154313 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:38.154378 < 16 bytes data, client => server 14:53:38.154388 'USER anonymous\r\n' 14:53:38.154553 Received DATA (on stdin) 14:53:38.154564 > 33 bytes data, server => client 14:53:38.154573 '331 We are happy you popped in!\r\n' 14:53:38.154614 < 22 bytes data, client => server 14:53:38.154624 'PASS ftp@example.com\r\n' 14:53:38.154711 Received DATA (on stdin) 14:53:38.154720 > 30 bytes data, server => client 14:53:38.154730 '230 Welcome you silly person\r\n' 14:53:38.154767 < 5 bytes data, client => server 14:53:38.154776 'PWD\r\n' 14:53:38.154856 Received DATA (on stdin) 14:53:38.154866 > 30 bytes data, server => client 14:53:38.154875 '257 "/" is current directory\r\n' 14:53:38.154919 < 6 bytes data, client => server 14:53:38.154929 'EPSV\r\n' 14:53:38.157275 Received DATA (on stdin) 14:53:38.157293 > 38 bytes data, server => client 14:53:38.157305 '229 Entering Passive Mode (|||35803|)\n' 14:53:38.157522 < 8 bytes data, client => server 14:53:38.157534 'TYPE I\r\n' 14:53:38.157665 Received DATA (on stdin) 14:53:38.157676 > 33 bytes data, server => client 14:53:38.157688 '200 I modify TYPE as you wanted\r\n' 14:53:38.157734 < 21 bytes data, client => server 14:53:38.157747 'SIZE verifiedserver\r\n' 14:53:38.157852 Received DATA (on stdin) 14:53:38.157863CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41533/565 > log/13/stdout565 2> log/13/stderr565 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34519 > log/11/stdout563 2> log/11/stderr563 > 8 bytes data, server => client 14:53:38.157874 '213 17\r\n' 14:53:38.157923 < 21 bytes data, client => server 14:53:38.157935 'RETR verifiedserver\r\n' 14:53:38.158135 Received DATA (on stdin) 14:53:38.158146 > 29 bytes data, server => client 14:53:38.158158 '150 Binary junk (17 bytes).\r\n' 14:53:38.158646 Received DATA (on stdin) 14:53:38.158660 > 28 bytes data, server => client 14:53:38.158671 '226 File transfer complete\r\n' 14:53:38.203134 < 6 bytes data, client => server 14:53:38.203162 'QUIT\r\n' 14:53:38.203378 Received DATA (on stdin) 14:53:38.203391 > 18 bytes data, server => client 14:53:38.203403 '221 bye bye baby\r\n' 14:53:38.204205 ====> Client disconnect 14:53:38.204372 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.156714 Running IPv4 version 14:53:38.156782 Listening on port 35803 14:53:38.156817 Wrote pid 106794 to log/17/server/ftp_sockdata.pid 14:53:38.157002 Received PING (on stdin) 14:53:38.157100 Received PORT (on stdin) 14:53:38.157428 ====> Client connect 14:53:38.158182 Received DATA (on stdin) 14:53:38.158195 > 17 bytes data, server => client 14:53:38.158206 'WE ROOLZ: 91632\r\n' 14:53:38.158229 Received DISC (on stdin) 14:53:38.158241 ====> Client forcibly disconnected 14:53:38.158388 Received QUIT (on stdin) 14:53:38.158400 quits 14:53:38.158452 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file stderr562 URL: ftp://127.0.0.1:23456/562;type=A === End of file stderr562 === Start of file valgrind562 ==106856== ==106856== Process terminating with default action of signal 4 (SIGILL) ==106856== Illegal opcode at address 0x51D42F3 ==106856== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106856== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106856== by 0x51D42F3: Curl_open (url.c:551) ==106856== by 0x514CA2F: curl_easy_init (easy.c:372) ==106856== by 0x401CECA: test_lib562.lto_priv.0 (lib562.c:47) ==106856== by 0x400347F: main (first.c:281) ==106856== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106856== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106856== by 0x51D4243: Curl_open (url.c:530) ==106856== by 0x514CA2F: curl_easy_init (easy.c:372) ==106856== by 0x401CECA: test_lib562.lto_priv.0 (lib562.c:47) ==106856== by 0x400347F: main (first.c:281) ==106856== === End of file valgrind562 test 0565...[send HTTP POST using read callback, chunked transfer-encoding and Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41533/565 > log/13/stdout565 2> log/13/stderr565 565: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41533/565 > log/13/stdout565 2> log/13/stderr565 === End of file commands.log === Start of file http_server.log 14:53:38.242121 ====> Client connect 14:53:38.242162 accept_connection 3 returned 4 14:53:38.242181 accept_connection 3 returned 0 14:53:38.242197 Read 93 bytes 14:53:38.242209 Process 93 bytes request 14:53:38.242224 Got request: GET /verifiedserver HTTP/1.1 14:53:38.242235 Are-we-friendly question received 14:53:38.242262 Wrote request (93 bytes) input to log/13/server.input 14:53:38.242280 Identifying ourselves as friends 14:53:38.242339 Response sent (56 bytes) and written to log/13/server.response 14:53:38.242350 special request received, no persistency 14:53:38.242361 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 33682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:41533/565 === End of file stderr565 === Start of file valgrind565 ==106935== ==106935== Process terminating with default action of signal 4 (SIGILL) ==106935== Illegal opcode at address 0x51D42F3 ==106935== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==106935== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==106935== by 0x51D42F3: Curl_open (url.c:551) ==106935== by 0x514CA2F: curl_easy_init (easy.c:372) ==106935== by 0x40098E0: test_lib510.lto_priv.0 (lib510.c:76) ==106935== by 0x400347F: main (first.c:281) ==106935== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==106935== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106935== by 0x51D4243: Curl_open (url.c:530) ==106935== by 0x514CA2F: curl_easy_init (easy.c:372) ==106935== by 0x40098E0: test_lib510.lto_priv.0 (lib510.c:76) ==106935== by 0x400347F: main (first.c:281) ==106935== === End of file valgrind565 setenv ftp_proxy = http://127.0.0.1:33503/ test 0563...[FTP type=A URL and CURLOPT_PORT set and proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34519 > log/11/stdout563 2> log/11/stderr563 563: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34519 > log/11/stdout563 2> log/11/stderr563 === End of file commands.log === Start of file ftp_server.log 14:53:38.155057 ====> Client connect 14:53:38.155226 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.155513 < "USER anonymous" 14:53:38.155550 > "331 We are happy you popped in![CR][LF]" 14:53:38.155721 < "PASS ftp@example.com" 14:53:38.155749 > "230 Welcome you silly person[CR][LF]" 14:53:38.155909 < "PWD" 14:53:38.155940 > "257 "/" is current directory[CR][LF]" 14:53:38.156108 < "EPSV" 14:53:38.156132 ====> Passive DATA channel requested by client 14:53:38.156147 DATA sockfilt for passive data channel starting... 14:53:38.160141 DATA sockfilt for passive data channel started (pid 106909) 14:53:38.160306 DATA sockfilt for passive data channel listens on port 34667 14:53:38.160351 > "229 Entering Passive Mode (|||34667|)[LF]" 14:53:38.160373 Client has been notified that DATA conn will be accepted on port 34667 14:53:38.161026 Client connects to port 34667 14:53:38.161057 ====> Client established passive DATA connection on port 34667 14:53:38.161158 < "TYPE I" 14:53:38.161193 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.161466 < "SIZE verifiedserver" 14:53:38.161504 > "213 17[CR][LF]" 14:53:38.161669 < "RETR verifiedserver" 14:53:38.161702 > "150 Binary junCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:43359/566 log/12/ip566 > log/12/stdout566 2> log/12/stderr566 k (17 bytes).[CR][LF]" 14:53:38.161792 =====> Closing passive DATA connection... 14:53:38.161811 Server disconnects passive DATA connection 14:53:38.162064 Server disconnected passive DATA connection 14:53:38.162096 DATA sockfilt for passive data channel quits (pid 106909) 14:53:38.162352 DATA sockfilt for passive data channel quit (pid 106909) 14:53:38.162377 =====> Closed passive DATA connection 14:53:38.162405 > "226 File transfer complete[CR][LF]" 14:53:38.207267 < "QUIT" 14:53:38.207323 > "221 bye bye baby[CR][LF]" 14:53:38.208204 MAIN sockfilt said DISC 14:53:38.208235 ====> Client disconnected 14:53:38.208318 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:38.237754 ====> Client connect 14:53:38.238056 Received DATA (on stdin) 14:53:38.238073 > 160 bytes data, server => client 14:53:38.238087 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:38.238100 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:38.238112 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:38.238193 < 16 bytes data, client => server 14:53:38.238207 'USER anonymous\r\n' 14:53:38.238369 Received DATA (on stdin) 14:53:38.238383 > 33 bytes data, server => client 14:53:38.238396 '331 We are happy you popped in!\r\n' 14:53:38.238449 < 22 bytes data, client => server 14:53:38.238462 'PASS ftp@example.com\r\n' 14:53:38.238566 Received DATA (on stdin) 14:53:38.238579 > 30 bytes data, server => client 14:53:38.238592 '230 Welcome you silly person\r\n' 14:53:38.238641 < 5 bytes data, client => server 14:53:38.238653 'PWD\r\n' 14:53:38.238756 Received DATA (on stdin) 14:53:38.238769 > 30 bytes data, server => client 14:53:38.238782 '257 "/" is current directory\r\n' 14:53:38.238840 < 6 bytes data, client => server 14:53:38.238853 'EPSV\r\n' 14:53:38.243349 Received DATA (on stdin) 14:53:38.243372 > 38 bytes data, server => client 14:53:38.243386 '229 Entering Passive Mode (|||34667|)\n' 14:53:38.243767 < 8 bytes data, client => server 14:53:38.243789 'TYPE I\r\n' 14:53:38.244013 Received DATA (on stdin) 14:53:38.244028 > 33 bytes data, server => client 14:53:38.244041 '200 I modify TYPE as you wanted\r\n' 14:53:38.244186 < 21 bytes data, client => server 14:53:38.244203 'SIZE verifiedserver\r\n' 14:53:38.244322 Received DATA (on stdin) 14:53:38.244336 > 8 bytes data, server => client 14:53:38.244348 '213 17\r\n' 14:53:38.244399 < 21 bytes data, client => server 14:53:38.244412 'RETR verifiedserver\r\n' 14:53:38.244729 Received DATA (on stdin) 14:53:38.244744 > 29 bytes data, server => client 14:53:38.244757 '150 Binary junk (17 bytes).\r\n' 14:53:38.245224 Received DATA (on stdin) 14:53:38.245239 > 28 bytes data, server => client 14:53:38.245251 '226 File transfer complete\r\n' 14:53:38.289882 < 6 bytes data, client => server 14:53:38.289911 'QUIT\r\n' 14:53:38.290146 Received DATA (on stdin) 14:53:38.290161 > 18 bytes data, server => client 14:53:38.290174 '221 bye bye baby\r\n' 14:53:38.290965 ====> Client disconnect 14:53:38.291135 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.240989 Running IPv4 version 14:53:38.241085 Listening on port 34667 14:53:38.241134 Wrote pid 106909 to log/11/server/ftp_sockdata.pid 14:53:38.242890 Received PING (on stdin) 14:53:38.243016 Received PORT (on stdin) 14:53:38.243792 ====> Client connect 14:53:38.244633 Received DATA (on stdin) 14:53:38.244649 > 17 bytes data, server => client 14:53:38.244661 'WE ROOLZ: 80346\r\n' 14:53:38.244689 Received DISC (on stdin) 14:53:38.244703 ====> Client forcibly disconnected 14:53:38.244921 Received QUIT (on stdin) 14:53:38.244935 quits 14:53:38.244994 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:53:38.211554 ====> Client connect 14:53:38.211595 accept_connection 3 returned 4 14:53:38.211615 accept_connection 3 returned 0 14:53:38.211632 Read 93 bytes 14:53:38.211644 Process 93 bytes request 14:53:38.211660 Got request: GET /verifiedserver HTTP/1.1 14:53:38.211672 Are-we-friendly question received 14:53:38.211702 Wrote request (93 bytes) input to log/11/server.input 14:53:38.211721 Identifying ourselves as friends 14:53:38.211785 Response sent (56 bytes) and written to log/11/server.response 14:53:38.211798 special request received, no persistency 14:53:38.211809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr563 URL: ftp://127.0.0.1:23456/563;type=A === End of file stderr563 === Start of file valgrind563 ==107006== ==107006== Process terminating with default action of signal 4 (SIGILL) ==107006== Illegal opcode at address 0x51D42F3 ==107006== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107006== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107006== by 0x51D42F3: Curl_open (url.c:551) ==107006== by 0x514CA2F: curl_easy_init (easy.c:372) ==107006== by 0x401CECA: test_lib562.lto_priv.0 (lib562.c:47) ==107006== by 0x400347F: main (first.c:281) ==107006== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107006== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107006== by 0x51D4243: Curl_open (url.c:530) ==107006== by 0x514CA2F: curl_easy_init (easy.c:372) ==107006== by 0x401CECA: test_lib562.lto_priv.0 (lib562.c:47) ==107006== by 0x400347F: main (first.c:281) ==107006== === End of file valgrind563 test 0566...[HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:43359/566 log/12/ip566 > log/12/stdout566 2> log/12/stderr566 566: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:43359/566 log/12/ip566 > log/12/stdout566 2> log/12/stderr566 === End of file commands.log === Start of file http_server.log 14:53:38.397250 ====> Client connect 14:53:38.397283 accept_connection 3 returned 4 14:53:38.397303 accept_connection 3 returned 0 14:53:38.397320 Read 93 bytes 14:53:38.397333 Process 93 bytes request 14:53:38.397346 Got request: GET /verifiedserver HTTP/1.1 14:53:38.397358 Are-we-friendly question received 14:53:38.397383 Wrote request (93 bytes) input to log/12/server.input 14:53:38.397402 Identifying ourselves as friends 14:53:38.397463 Response sent (56 bytes) and written to log/12/server.response 14:53:38.397476 special request received, no persistency 14:53:38.397487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OKCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46041/573 > log/5/stdout573 2> log/5/stderr573 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44241/fully_simulated/UNIX/*.txt > log/15/stdout574 2> log/15/stderr574 < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:43359/566 === End of file stderr566 === Start of file valgrind566 ==107085== ==107085== Process terminating with default action of signal 4 (SIGILL) ==107085== Illegal opcode at address 0x51D42F3 ==107085== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107085== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107085== by 0x51D42F3: Curl_open (url.c:551) ==107085== by 0x514CA2F: curl_easy_init (easy.c:372) ==107085== by 0x401D142: test_lib566.lto_priv.0 (lib566.c:40) ==107085== by 0x400347F: main (first.c:281) ==107085== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107085== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107085== by 0x51D4243: Curl_open (url.c:530) ==107085== by 0x514CA2F: curl_easy_init (easy.c:372) ==107085== by 0x401D142: test_lib566.lto_priv.0 (lib566.c:40) ==107085== by 0x400347F: main (first.c:281) ==107085== === End of file valgrind566 test 0573...[verify connect time with multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46041/573 > log/5/stdout573 2> log/5/stderr573 573: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46041/573 > log/5/stdout573 2> log/5/stderr573 === End of file commands.log === Start of file http_server.log 14:53:38.718298 ====> Client connect 14:53:38.718328 accept_connection 3 returned 4 14:53:38.718345 accept_connection 3 returned 0 14:53:38.718360 Read 93 bytes 14:53:38.718372 Process 93 bytes request 14:53:38.718386 Got request: GET /verifiedserver HTTP/1.1 14:53:38.718396 Are-we-friendly question received 14:53:38.718421 Wrote request (93 bytes) input to log/5/server.input 14:53:38.718438 Identifying ourselves as friends 14:53:38.718492 Response sent (56 bytes) and written to log/5/server.response 14:53:38.718502 special request received, no persistency 14:53:38.718512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 57620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:46041/573 === End of file stderr573 === Start of file valgrind573 ==107201== ==107201== Process terminating with default action of signal 4 (SIGILL) ==107201== Illegal opcode at address 0x51D42F3 ==107201== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107201== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107201== by 0x51D42F3: Curl_open (url.c:551) ==107201== by 0x514CA2F: curl_easy_init (easy.c:372) ==107201== by 0x401D370: test_lib573.lto_priv.0 (lib573.c:51) ==107201== by 0x400347F: main (first.c:281) ==107201== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107201== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107201== by 0x51D4243: Curl_open (url.c:530) ==107201== by 0x514CA2F: curl_easy_init (easy.c:372) ==107201== by 0x401D370: test_lib573.lto_priv.0 (lib573.c:51) ==107201== by 0x400347F: main (first.c:281) ==107201== === End of file valgrind573 test 0574...[FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44241/fully_simulated/UNIX/*.txt > log/15/stdout574 2> log/15/stderr574 574: stdout FAILED: --- log/15/check-expected 2025-09-11 14:53:39.498864113 +0000 +++ log/15/check-generated 2025-09-11 14:53:39.498864113 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/15/ dir after test 574 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44241/fully_simulated/UNIX/*.txt > log/15/stdout574 2> log/15/stderr574 === End of file commands.log === Start of file ftp_server.log 14:53:38.637794 ====> Client connect 14:53:38.637907 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.638111 < "USER anonymous" 14:53:38.638139 > "331 We are happy you popped in![CR][LF]" 14:53:38.638268 < "PASS ftp@example.com" 14:53:38.638287 > "230 Welcome you silly person[CR][LF]" 14:53:38.638400 < "PWD" 14:53:38.638422 > "257 "/" is current directory[CR][LF]" 14:53:38.638540 < "EPSV" 14:53:38.638557 ====> Passive DATA channel requested by client 14:53:38.638568 DATA sockfilt for passive data channel starting... 14:53:38.639708 DATA sockfilt for passive data channel started (pid 107199) 14:53:38.639789 DATA sockfilt for passive data channel listens on port 34797 14:53:38.639819 > "229 Entering Passive Mode (|||34797|)[LF]" 14:53:38.639834 Client has been notified that DATA conn will be accepted on port 34797 14:53:38.640005 Client connects to port 34797 14:53:38.640028 ====> Client established passive DATA connection on port 34797 14:53:38.640087 < "TYPE I" 14:53:38.640107 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.640241 < "SIZE verifiedserver" 14:53:38.640270 > "213 17[CR][LF]" 14:53:38.640392 < "RETR verifiedserver" 14:53:38.640416 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:38.640487 =====> Closing passive DATA connection... 14:53:38.640505 Server disconnects passive DATA connection 14:53:38.640569 Server disconnected passive DATA connection 14:53:38.640593 DATA sockfilt for passive data channel quits (pid 107199) 14:53:38.640745 DATA sockfilt for passive data channel quit (pid 107199) 14:53:38.640765 =====> Closed passive DATA connection 14:53:38.640785 > "226 File transfer complete[CR][LF]" 14:53:38.683885 < "QUIT" 14:53:38.683948 > "221 bye bye baby[CR][LF]" 14:53:38.684882 MAIN sockfilt said DISC 14:53:38.684911 ====> Client disconnected 14:53:38.684982 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:38.720528 ====> Client connect 14:53:38.720727 Received DATA (on stdin) 14:53:38.720738 > 160 bytes data, server => client 14:53:38.720748 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:38.720757 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:38.720766 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:38.720819 < 16 bytes data, client => server 14:53:38.720828 'USER anonymous\r\n' 14:53:38.720953 Received DATA (on stdin) 14:53:38.720963 > 33 bytes data, server => client 14:53:38.720972 '331 We are happy you popped in!\r\n' 14:53:38.721011 < 22 bytes data, client => server 14:53:38.721020 'PASS ftp@example.com\r\n' 14:53:38.721098 Received DATA (on stdin) 14:53:38.721107 > 30 bytes data, server => client 14:53:38.721116 '230 Welcome you silly person\r\n' 14:53:38.721151 < 5 bytes data, client => server 14:53:38.721159 'PWD\r\n' 14:53:38.721232 Received DATA (on stdin) 14:53:38.721241 > 30 bytes data, server => client 14:53:38.721250 '257 "/" is current directory\r\n' 14:53:38.721292 < 6 bytes data, client => server 14:53:38.721300 'EPSV\r\n' 14:53:38.722648 Received DATA (on stdin) 14:53:38.722658 > 38 bytes data, server => client 14:53:38.722668 '229 Entering Passive Mode (|||34797|)\n' 14:53:38.722774 < 8 bytes data, client => server 14:53:38.722784 'TYPE I\r\n' 14:53:38.722919 Received DATA (on stdin) 14:53:38.722928 > 33 bytes data, server => client 14:53:38.722937 '200 I modify TYPE as you wanted\r\n' 14:53:38.722974 < 21 bytes data, client => server 14:53:38.722983 'SIZE verifiedserver\r\n' 14:53:38.723082 Received DATA (on stdin) 14:53:38.723092 > 8 bytes data, server => client 14:53:38.723101 '213 17\r\n' 14:53:38.723141 < 21 bytes data, client => server 14:53:38.723150 'RETR verifiedserver\r\n' 14:53:38.723297 Received DATA (on stdin) 14:53:38.723310 > 29 bytes data, server => client 14:53:38.723322 '150 Binary junk (17 bytes).\r\n' 14:53:38.723598 Received DATA (on stdin) 14:53:38.723609 > 28 bytes data, server => client 14:53:38.723618 '226 File transfer complete\r\n' 14:53:38.766510 < 6 bytes data, client => server 14:53:38.766538 'QUIT\r\n' 14:53:38.766772 Received DATA (on stdin) 14:53:38.766786 > 18 bytes data, server => client 14:53:38.766797 '221 bye bye baby\r\n' 14:53:38.767649 ====> Client disconnect 14:53:38.767799 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.722393 Running IPv4 version 14:53:38.722434 Listening on port 34797 14:53:38.722459 Wrote pid 107199 to log/15/server/ftp_sockdata.pid 14:53:38.722475 Received PING (on stdin) 14:53:38.722540 Received PORT (on stdin) 14:53:38.722752 ====> Client connect 14:53:38.723236 Received DATA (on stdin) 14:53:38.723250 > 17 bytes data, server => client 14:53:38.723261 'WE ROOLZ: 80266\r\n' 14:53:38.723325 Received DISC (on stdin) 14:53:38.723338 ====> Client forcibly disconnected 14:53:38.723415 Received QUIT (on stdin) 14:53:38.723427 quits 14:53:38.723464 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file stderr574 URL: ftp://127.0.0.1:44241/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==107250== ==107250== Process terminating with default action of signal 4 (SIGILL) ==107250== Illegal opcode at address 0x51D42F3 ==107250== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107250== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107250== by 0x51D42F3: Curl_open (url.c:551) ==107250== by 0x514CA2F: curl_easy_init (easy.c:372) ==107250== by 0x4015A46: test_lib574.lto_priv.0 (lib574.c:47) ==107250== by 0x400347F: main (first.c:281) ==107250== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107250== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107250== by 0x51D4243: Curl_open (url.c:530) ==107250== by 0x514CA2F: curl_easy_init (easy.c:372) ==107250== by 0x4015A46: test_lib574.lto_priv.0 (lib574.c:47) ==107250== by 0x400347F: maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:45969/fully_simulated/UNIX/* > log/22/stdout575 2> log/22/stderr575 in (first.c:281) ==107250== === End of file valgrind574 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:34037/579 log/21/ip579 > log/21/stdout579 2> log/21/stderr579 test 0575...[FTP wildcard download - dup_handle and multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:45969/fully_simulated/UNIX/* > log/22/stdout575 2> log/22/stderr575 575: stdout FAILED: --- log/22/check-expected 2025-09-11 14:53:39.518864113 +0000 +++ log/22/check-generated 2025-09-11 14:53:39.518864113 +0000 @@ -1,15 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/22/ dir after test 575 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:45969/fully_simulated/UNIX/* > log/22/stdout575 2> log/22/stderr575 === End of file commands.log === Start of file ftp_server.log 14:53:38.722122 ====> Client connect 14:53:38.722239 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.722456 < "USER anonymous" 14:53:38.722482 > "331 We are happy you popped in![CR][LF]" 14:53:38.722606 < "PASS ftp@example.com" 14:53:38.722623 > "230 Welcome you silly person[CR][LF]" 14:53:38.722736 < "PWD" 14:53:38.722759 > "257 "/" is current directory[CR][LF]" 14:53:38.722878 < "EPSV" 14:53:38.722895 ====> Passive DATA channel requested by client 14:53:38.722906 DATA sockfilt for passive data channel starting... 14:53:38.724373 DATA sockfilt for passive data channel started (pid 107317) 14:53:38.724455 DATA sockfilt for passive data channel listens on port 46017 14:53:38.724482 > "229 Entering Passive Mode (|||46017|)[LF]" 14:53:38.724502 Client has been notified that DATA conn will be accepted on port 46017 14:53:38.724692 Client connects to port 46017 14:53:38.724715 ====> Client established passive DATA connection on port 46017 14:53:38.724771 < "TYPE I" 14:53:38.724794 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.724915 < "SIZE verifiedserver" 14:53:38.724942 > "213 17[CR][LF]" 14:53:38.725056 < "RETR verifiedserver" 14:53:38.725081 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:38.725140 =====> Closing passive DATA connection... 14:53:38.725151 Server disconnects passive DATA connection 14:53:38.725329 Server disconnected passive DATA connection 14:53:38.725353 DATA sockfilt for passive data channel quits (pid 107317) 14:53:38.725505 DATA sockfilt for passive data channel quit (pid 107317) 14:53:38.725522 =====> Closed passive DATA connection 14:53:38.725541 > "226 File transfer complete[CR][LF]" 14:53:38.768324 < "QUIT" 14:53:38.768377 > "221 bye bye baby[CR][LF]" 14:53:38.769377 MAIN sockfilt said DISC 14:53:38.769412 ====> Client disconnected 14:53:38.769485 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:38.804852 ====> Client connect 14:53:38.805059 Received DATA (on stdin) 14:53:38.805072 > 160 bytes data, server => client 14:53:38.805082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:38.805092 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:38.805101 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:38.805160 < 16 bytes data, client => server 14:53:38.805171 'USER anonymous\r\n' 14:53:38.805294 Received DATA (on stdin) 14:53:38.805304 > 33 bytes data, server => client 14:53:38.805313 '331 We are happy you popped in!\r\n' 14:53:38.805353 < 22 bytes data, client => server 14:53:38.805362 'PASS ftp@example.com\r\n' 14:53:38.805435 Received DATA (on stdin) 14:53:38.805444 > 30 bytes data, server => client 14:53:38.805452 '230 Welcome you silly person\r\n' 14:53:38.805487 < 5 bytes data, client => server 14:53:38.805496 'PWD\r\n' 14:53:38.805571 Received DATA (on stdin) 14:53:38.805580 > 30 bytes data, server => client 14:53:38.805589 '257 "/" is current directory\r\n' 14:53:38.805630 < 6 bytes data, client => server 14:53:38.805639 'EPSV\r\n' 14:53:38.807322 Received DATA (on stdin) 14:53:38.807335 > 38 bytes data, server => client 14:53:38.807345 '229 Entering Passive Mode (|||46017|)\n' 14:53:38.807459 < 8 bytes data, client => server 14:53:38.807469 'TYPE I\r\n' 14:53:38.807605 Received DATA (on stdin) 14:53:38.807615 > 33 bytes data, server => client 14:53:38.807624 '200 I modify TYPE as you wanted\r\n' 14:53:38.807662 < 21 bytes data, client => server 14:53:38.807671 'SIZE verifiedserver\r\n' 14:53:38.807752 Received DATA (on stdin) 14:53:38.807762 > 8 bytes data, server => client 14:53:38.807770 '213 17\r\n' 14:53:38.807806 < 21 bytes data, client => server 14:53:38.807815 'RETR verifiedserver\r\n' 14:53:38.807963 Received DATA (on stdin) 14:53:38.807973 > 29 bytes data, server => client 14:53:38.807981 '150 Binary junk (17 bytes).\r\n' 14:53:38.808353 Received DATA (on stdin) 14:53:38.808364 > 28 bytes data, server => client 14:53:38.808373 '226 File transfer complete\r\n' 14:53:38.850962 < 6 bytes data, client => server 14:53:38.850990 'QUIT\r\n' 14:53:38.851274 Received DATA (on stdin) 14:53:38.851308 > 18 bytes data, server => client 14:53:38.851320 '221 bye bye baby\r\n' 14:53:38.852132 ====> Client disconnect 14:53:38.852358 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.806925 Running IPv4 version 14:53:38.806973 Listening on port 46017 14:53:38.807009 Wrote pid 107317 to log/22/server/ftp_sockdata.pid 14:53:38.807139 Received PING (on stdin) 14:53:38.807205 Received PORT (on stdin) 14:53:38.807435 ====> Client connect 14:53:38.808001 Received DATA (on stdin) 14:53:38.808012 > 17 bytes data, server => client 14:53:38.808020 'WE ROOLZ: 80268\r\n' 14:53:38.808038 Received DISC (on stdin) 14:53:38.808047 ====> Client forcibly disconnected 14:53:38.808174 Received QUIT (on stdin) 14:53:38.808183 quits 14:53:38.808224 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file stderr575 URL: ftp://127.0.0.1:45969/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==107446== ==107446== Process terminating with default action of signal 4 (SIGILL) ==107446== Illegal opcode at address 0x51D42F3 ==107446== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107446== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107446== by 0x51D42F3: Curl_open (url.c:551) ==107446== by 0x514CA2F: curl_easy_init (easy.c:372) ==107446== by 0x4016A79: test_lib575.lto_priv.0 (lib575.c:46) ==107446== by 0x400347F: main (first.c:281) ==107446== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107446== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107446== by 0x51D4243: Curl_open (url.c:530) ==107446== by 0x514CA2F: curl_easy_init (easy.c:372) ==107446== by 0x4016A79: test_lib575.lto_priv.0 (lib575.c:46) ==107446== by 0x400347F: main (first.c:281) ==107446== === End of file valgrind575 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:33805/580 > log/19/stdout580 2> log/19/stderr580 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:43297/578 log/18/ip578 > log/18/stdout578 2> log/18/stderr578 test 0579...[small chunked HTTP POSTs with digest auth. and progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:34037/579 log/21/ip579 > log/21/stdout579 2> log/21/stderr579 579: data FAILED: --- log/21/check-expected 2025-09-11 14:53:39.528864113 +0000 +++ log/21/check-generated 2025-09-11 14:53:39.528864113 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 100 Continue[CR][LF] -Server: Microsoft-IIS/5.0[CR][LF] -Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] -X-Powered-By: ASP.NET[CR][LF] -[CR][LF] -HTTP/1.1 401 authentication please swsbounce[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -HTTP/1.1 200 A OK[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] == Contents of files in the log/21/ dir after test 579 === Start of file check-expected HTTP/1.1 100 Continue[CR][LF] Server: Microsoft-IIS/5.0[CR][LF] Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] X-Powered-By: ASP.NET[CR][LF] [CR][LF] HTTP/1.1 401 authentication please swsbounce[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 0[CR][LF] [CR][LF] HTTP/1.1 200 A OK[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:34037/579 log/21/ip579 > log/21/stdout579 2> log/21/stderr579 === End of file commands.log === Start of file http_server.log 14:53:38.852647 ====> Client connect 14:53:38.852678 accept_connection 3 returned 4 14:53:38.852693 accept_connection 3 returned 0 14:53:38.852704 Read 93 bytes 14:53:38.852713 Process 93 bytes request 14:53:38.852724 Got request: GET /verifiedserver HTTP/1.1 14:53:38.852732 Are-we-friendly question received 14:53:38.852769 Wrote request (93 bytes) input to log/21/server.input 14:53:38.852782 Identifying ourselves as friends 14:53:38.852824 Response sent (56 bytes) and written to log/21/server.response 14:53:38.852832 special request received, no persistency 14:53:38.852840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 58224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:34037/579 === End of file stderr579 === Start of file valgrind579 ==107436== ==107436== Process terminating with default action of signal 4 (SIGILL) ==107436== Illegal opcode at address 0x51D42F3 ==107436== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107436== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107436== by 0x51D42F3: Curl_open (url.c:551) ==107436== by 0x514CA2F: curl_easy_init (easy.c:372) ==107436== by 0x4016200: test_lib579.lto_priv.0 (lib579.c:116) ==107436== by 0x400347F: main (first.c:281) ==107436== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107436== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107436== by 0x51D4243: Curl_open (url.c:530) ==107436== by 0x514CA2F: curl_easy_init (easy.c:372) ==107436== by 0x4016200: test_lib579.lto_priv.0 (lib579.c:116) ==107436== by 0x400347F: main (first.c:281) ==107436== === End of file valgrind579 test 0580...[multi interface, multiple Location: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:33805/580 > log/19/stdout580 2> log/19/stderr580 580: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:33805/580 > log/19/stdout580 2> log/19/stderr580 === End of file commands.log === Start of file http_server.log 14:53:37.852649 ====> Client connect 14:53:37.852679 accept_connection 3 returned 4 14:53:37.852692 accept_connection 3 returned 0 14:53:37.852704 Read 93 bytes 14:53:37.852713 Process 93 bytes request 14:53:37.852724 Got request: GET /verifiedserver HTTP/1.1 14:53:37.852732 Are-we-friendly question received 14:53:37.852768 Wrote request (93 bytes) input to log/19/server.input 14:53:37.852782 Identifying ourselves as friends 14:53:37.852824 Response sent (56 bytes) and written to log/19/server.response 14:53:37.852832 special request received, no persistency 14:53:37.852840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 49352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:33805/580 === End of file stderr580 === Start of file valgrind580 ==107428== ==107428== Process terminating with default action of signal 4 (SIGILL) ==107428== Illegal opcode at address 0x519C257 ==107428== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==107428== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==107428== by 0x519C257: Curl_multi_handle (multi.c:236) ==107428== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107428== by 0x400347F: main (first.c:281) ==107428== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==107428== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107428== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==107428== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107428== by 0x400347F: main (first.c:281) ==107428== === End of file valgrind580 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:34449/581 > log/24/stdout581 2> log/24/stderr581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:37027/fully_simulated/UNIX/* > log/9/stdout576 2> log/9/stderr576 test 0578...[HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:43297/578 log/18/ip578 > log/18/stdout578 2> log/18/stderr578 578: data FAILED: --- log/18/check-expected 2025-09-11 14:53:39.552197447 +0000 +++ log/18/check-generated 2025-09-11 14:53:39.552197447 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/18/ dir after test 578 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:43297/578 log/18/ip578 > log/18/stdout578 2> log/18/stderr578 === End of file commands.log === Start of file http_server.log 14:53:38.830294 ====> Client connect 14:53:38.830321 accept_connection 3 returned 4 14:53:38.830334 accept_connection 3 returned 0 14:53:38.830346 Read 93 bytes 14:53:38.830354 Process 93 bytes request 14:53:38.830367 Got request: GET /verifiedserver HTTP/1.1 14:53:38.830375 Are-we-friendly question received 14:53:38.830398 Wrote request (93 bytes) input to log/18/server.input 14:53:38.830412 Identifying ourselves as friends 14:53:38.830453 Response sent (56 bytes) and written to log/18/server.response 14:53:38.830461 special request received, no persistency 14:53:38.830469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:43297/578 === End of file stderr578 === Start of file valgrind578 ==107356== ==107356== Process terminating with default action of signal 4 (SIGILL) ==107356== Illegal opcode at address 0x51D42F3 ==107356== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107356== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107356== by 0x51D42F3: Curl_open (url.c:551) ==107356== by 0x514CA2F: curl_easy_init (easy.c:372) ==107356== by 0x4015CEA: test_lib578.lto_priv.0 (lib578.c:63) ==107356== by 0x400347F: main (first.c:281) ==107356== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107356== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107356== by 0x51D4243: Curl_open (url.c:530) ==107356== by 0x514CA2F: curl_easy_init (easy.c:372) ==107356== by 0x4015CEA: test_lib578.lto_priv.0 (lib578.c:63) ==107356== by 0x400347F: main (first.c:281) ==107356== === End of file valgrind578 test 0581...[multi interface, multiple Content-Type: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:34449/581 > log/24/stdout581 2> log/24/stderr581 581: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:34449/581 > log/24/stdout581 2> log/24/stderr581 === End of file commands.log === Start of file http_server.log 14:53:38.854617 ====> Client connect 14:53:38.854656 accept_connection 3 returned 4 14:53:38.854678 accept_connection 3 returned 0 14:53:38.854693 Read 93 bytes 14:53:38.854706 Process 93 bytes request 14:53:38.854718 Got request: GET /verifiedserver HTTP/1.1 14:53:38.854734 Are-we-friendly question received 14:53:38.854760 Wrote request (93 bytes) input to log/24/server.input 14:53:38.854778 Identifying ourselves as friends 14:53:38.854840 Response sent (56 bytes) and written to log/24/server.response 14:53:38.854852 special request received, no persistency 14:53:38.854862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 40666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:34449/581 === End of file stderr581 === Start of file valgrind581 ==107437== ==107437== Process terminating with default action of signal 4 (SIGILL) ==107437== Illegal opcode at address 0x519C257 ==107437== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==107437== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==107437== by 0x519C257: Curl_multi_handle (multi.c:236) ==107437== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107437== by 0x400347F: main (first.c:281) ==107437== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==107437== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107437== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==107437== by 0x405F495: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107437== by 0x400347F: main (first.c:281) ==107437== === End of file valgrind581 test 0576...[FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:37027/fully_simulated/UNIX/* > log/9/stdout576 2> log/9/stderr576 576: stdout FAILED: --- log/9/check-expected 2025-09-11 14:53:39.585530780 +0000 +++ log/9/check-generated 2025-09-11 14:53:39.585530780 +0000 @@ -1,152 +0,0 @@ -=============================================================[LF] -Remains: 14[LF] -Filename: .[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 5:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 13[LF] -Filename: ..[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 12[LF] -Filename: chmod1[LF] -Permissions: r--r--r-- (parsed => 444)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 11 10:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: chmod2[LF] -Permissions: rw-rw-rw- (parsed => 666)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod3[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod4[LF] -Permissions: --S--S--t (parsed => 7001)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod5[LF] -Permissions: --s--s--T (parsed => 7110)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: empty_file.dat[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: file.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 35B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: link[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:42[LF] -Filetype: symlink[LF] -Target: file.txt[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: link_absolute[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:45[LF] -Filetype: symlink[LF] -Target: /data/ftp/file.txt[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 23 2:05[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 47B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Permissions: rwxr-xrwx (parsed => 757)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/9/ dir after test 576 === Start of file check-expected =============================================================[LF] Remains: 14[LF] Filename: .[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 5:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 13[LF] Filename: ..[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 12[LF] Filename: chmod1[LF] Permissions: r--r--r-- (parsed => 444)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 11 10:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 11[LF] Filename: chmod2[LF] Permissions: rw-rw-rw- (parsed => 666)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod3[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod4[LF] Permissions: --S--S--t (parsed => 7001)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod5[LF] Permissions: --s--s--T (parsed => 7110)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 7[LF] Filename: empty_file.dat[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 6[LF] Filename: file.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 35B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 5[LF] Filename: link[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:42[LF] Filetype: symlink[LF] Target: file.txt[LF] =============================================================[LF] Remains: 4[LF] Filename: link_absolute[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:45[LF] Filetype: symlink[LF] Target: /data/ftp/file.txt[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 23 2:05[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 47B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Permissions: rwxr-xrwx (parsed => 757)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:37027/fully_simulated/UNIX/* > log/9/stdout576 2> log/9/stderr576 === End of file commands.log === Start of file ftp_server.log 14:53:38.735559 ====> Client connect 14:53:38.735683 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.735911 < "USER anonymous" 14:53:38.735943 > "331 We are happy you popped in![CR][LF]" 14:53:38.736075 < "PASS ftp@example.com" 14:53:38.736095 > "230 Welcome you silly person[CR][LF]" 14:53:38.736208 < "PWD" 14:53:38.736230 > "257 "/" is current directory[CR][LF]" 14:53:38.736346 < "EPSV" 14:53:38.736364 ====> Passive DATA channel requested by client 14:53:38.736374 DATA sockfilt for passive data channel starting... 14:53:38.737904 DATA sockfilt for passive data channel started (pid 107340) 14:53:38.738010 DATA sockfilt for passive data channel listens on port 36729 14:53:38.738045 > "229 Entering Passive Mode (|||36729|)[LF]" 14:53:38.738061 Client has been notified that DATA conn will be accepted on port 36729 14:53:38.738269 Client connects to port 36729 14:53:38.738294 ====> Client established passive DATA connection on port 36729 14:53:38.738362 < "TYPE I" 14:53:38.738389 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.738520 < "SIZE verifiedserver" 14:53:38.738547 > "213 17[CR][LF]" 14:53:38.738695 < "RETR verifiedserver" 14:53:38.738740 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:38.738828 =====> Closing passive DATA connection... 14:53:38.738847 Server disconnects passive DATA connection 14:53:38.739038 Server disconnected passive DATA connection 14:53:38.739063 DATA sockfilt for passive data channel quits (pid 107340) 14:53:38.739438 DATA sockfilt for passive data channel quit (pid 107340) 14:53:38.739468 =====> Closed passive DATA connection 14:53:38.739501 > "226 File transfer complete[CR][LF]" 14:53:38.781207 < "QUIT" 14:53:38.781255 > "221 bye bye baby[CR][LF]" 14:53:38.781535 MAIN sockfilt said DISC 14:53:38.781565 ====> Client disconnected 14:53:38.781679 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:38.818279 ====> Client connect 14:53:38.818505 Received DATA (on stdin) 14:53:38.818518 > 160 bytes data, server => client 14:53:38.818527 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:38.818536 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:38.818544 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:38.818607 < 16 bytes data, client => server 14:53:38.818617 'USER anonymous\r\n' 14:53:38.818758 Received DATA (on stdin) 14:53:38.818768 > 33 bytes data, server => client 14:53:38.818776 '331 We are happy you popped in!\r\n' 14:53:38.818816 < 22 bytes data, client => server 14:53:38.818825 'PASS ftp@example.com\r\n' 14:53:38.818906 Received DATA (on stdin) 14:53:38.818915 > 30 bytes data, server => client 14:53:38.818923 '230 Welcome you silly person\r\n' 14:53:38.818959 < 5 bytes data, client => server 14:53:38.818967 'PWD\r\n' 14:53:38.819040 Received DATA (on stdin) 14:53:38.819049 > 30 bytes data, server => client 14:53:38.819057 '257 "/" is current directory\r\n' 14:53:38.819098 < 6 bytes data, client => server 14:53:38.819107 'EPSV\r\n' 14:53:38.820883 Received DATA (on stdin) 14:53:38.820897 > 38 bytes data, server => client 14:53:38.820907 '229 Entering Passive Mode (|||36729|)\n' 14:53:38.821054 < 8 bytes data, client => server 14:53:38.821074 'TYPE I\r\n' 14:53:38.821204 Received DATA (on stdin) 14:53:38.821217 > 33 bytes data, server => client 14:53:38.821226 '200 I modify TYPE as you wanted\r\n' 14:53:38.821267 < 21 bytes data, client => server 14:53:38.821277 'SIZE verifiedserver\r\n' 14:53:38.821358 Received DATA (on stdin) 14:53:38.821368 > 8 bytes data, server => client 14:53:38.821377 '213 17\r\n' 14:53:38.821413 < 21 bytes data, client => server 14:53:38.821422 'RETR verifiedserver\r\n' 14:53:38.821668 Received DATA (on stdin) 14:53:38.821686 > 29 bytes data, server => client 14:53:38.821698 '150 Binary junk (17 bytes).\r\n' 14:53:38.822326 Received DATA (on stdin) 14:53:38.822342 > 28 bytes data, server => client 14:53:38.822354 '226 File transfer complete\r\n' 14CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:39793/584 > log/4/stdout584 2> log/4/stderr584 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:46043/585 > log/14/stdout585 2> log/14/stderr585 :53:38.863738 < 6 bytes data, client => server 14:53:38.863891 'QUIT\r\n' 14:53:38.864075 Received DATA (on stdin) 14:53:38.864087 > 18 bytes data, server => client 14:53:38.864099 '221 bye bye baby\r\n' 14:53:38.864284 ====> Client disconnect 14:53:38.864399 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.820451 Running IPv4 version 14:53:38.820508 Listening on port 36729 14:53:38.820537 Wrote pid 107340 to log/9/server/ftp_sockdata.pid 14:53:38.820669 Received PING (on stdin) 14:53:38.820743 Received PORT (on stdin) 14:53:38.821039 ====> Client connect 14:53:38.821733 Received DATA (on stdin) 14:53:38.821751 > 17 bytes data, server => client 14:53:38.821763 'WE ROOLZ: 80262\r\n' 14:53:38.821789 Received DISC (on stdin) 14:53:38.821802 ====> Client forcibly disconnected 14:53:38.821889 Received QUIT (on stdin) 14:53:38.821901 quits 14:53:38.821960 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file stderr576 URL: ftp://127.0.0.1:37027/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==107572== ==107572== Process terminating with default action of signal 4 (SIGILL) ==107572== Illegal opcode at address 0x51D42F3 ==107572== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107572== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107572== by 0x51D42F3: Curl_open (url.c:551) ==107572== by 0x514CA2F: curl_easy_init (easy.c:372) ==107572== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==107572== by 0x400347F: main (first.c:281) ==107572== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107572== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107572== by 0x51D4243: Curl_open (url.c:530) ==107572== by 0x514CA2F: curl_easy_init (easy.c:372) ==107572== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==107572== by 0x400347F: main (first.c:281) ==107572== === End of file valgrind576 test 0584...[CURLOPT_MIMEPOST first set then set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:39793/584 > log/4/stdout584 2> log/4/stderr584 584: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:39793/584 > log/4/stdout584 2> log/4/stderr584 === End of file commands.log === Start of file http_server.log 14:53:38.888769 ====> Client connect 14:53:38.888798 accept_connection 3 returned 4 14:53:38.888814 accept_connection 3 returned 0 14:53:38.888828 Read 93 bytes 14:53:38.888838 Process 93 bytes request 14:53:38.888852 Got request: GET /verifiedserver HTTP/1.1 14:53:38.888861 Are-we-friendly question received 14:53:38.888884 Wrote request (93 bytes) input to log/4/server.input 14:53:38.888900 Identifying ourselves as friends 14:53:38.888948 Response sent (56 bytes) and written to log/4/server.response 14:53:38.888957 special request received, no persistency 14:53:38.888964 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:39793/584 === End of file stderr584 === Start of file valgrind584 ==107672== ==107672== Process terminating with default action of signal 4 (SIGILL) ==107672== Illegal opcode at address 0x51D42F3 ==107672== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107672== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107672== by 0x51D42F3: Curl_open (url.c:551) ==107672== by 0x514CA2F: curl_easy_init (easy.c:372) ==107672== by 0x402120A: test_lib589.lto_priv.0 (lib589.c:38) ==107672== by 0x400347F: main (first.c:281) ==107672== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107672== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107672== by 0x51D4243: Curl_open (url.c:530) ==107672== by 0x514CA2F: curl_easy_init (easy.c:372) ==107672== by 0x402120A: test_lib589.lto_priv.0 (lib589.c:38) ==107672== by 0x400347F: main (first.c:281) ==107672== === End of file valgrind584 test 0585...[socket open/close callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:46043/585 > log/14/stdout585 2> log/14/stderr585 585: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:46043/585 > log/14/stdout585 2> log/14/stderr585 === End of file commands.log === Start of file http_server.log 14:53:39.122323 ====> Client connect 14:53:39.122350 accept_connection 3 returned 4 14:53:39.122365 accept_connection 3 returned 0 14:53:39.122377 Read 93 bytes 14:53:39.122385 Process 93 bytes request 14:53:39.122398 Got request: GET /verifiedserver HTTP/1.1 14:53:39.122405 Are-we-friendly question received 14:53:39.122427 Wrote request (93 bytes) input to log/14/server.input 14:53:39.122440 Identifying ourselves as friends 14:53:39.122486 Response sent (56 bytes) and written to log/14/server.response 14:53:39.122494 special request received, no persistency 14:53:39.122502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 59534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:46043/585 === End of file stderr585 === Start of file valgrind585 ==107792== ==107792== Process terminating with default action of signal 4 (SIGILL) ==107792== Illegal opcode at address 0x51D42F3 ==107792== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107792== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107792== by 0x51D42F3: Curl_open (url.c:551) ==107792== by 0x514CA2F: curl_easy_init (easy.c:372) ==107792== by 0x40090A1: test_lib500.lto_priv.0 (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:41533/587 > log/13/stdout587 2> log/13/stderr587 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:40705/586 > log/17/stdout586 2> log/17/stderr586 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:34519/path/588 log/11/upload588 > log/11/stdout588 2> log/11/stderr588 lib500.c:66) ==107792== by 0x400347F: main (first.c:281) ==107792== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107792== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107792== by 0x51D4243: Curl_open (url.c:530) ==107792== by 0x514CA2F: curl_easy_init (easy.c:372) ==107792== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==107792== by 0x400347F: main (first.c:281) ==107792== === End of file valgrind585 test 0586...[FTP and open/close socket callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:40705/586 > log/17/stdout586 2> log/17/stderr586 586: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 586 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:40705/586 > log/17/stdout586 2> log/17/stderr586 === End of file commands.log === Start of file ftp_server.log 14:53:39.030102 ====> Client connect 14:53:39.030235 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.030488 < "USER anonymous" 14:53:39.030516 > "331 We are happy you popped in![CR][LF]" 14:53:39.030647 < "PASS ftp@example.com" 14:53:39.030668 > "230 Welcome you silly person[CR][LF]" 14:53:39.030783 < "PWD" 14:53:39.030805 > "257 "/" is current directory[CR][LF]" 14:53:39.030924 < "EPSV" 14:53:39.030942 ====> Passive DATA channel requested by client 14:53:39.030956 DATA sockfilt for passive data channel starting... 14:53:39.032208 DATA sockfilt for passive data channel started (pid 107789) 14:53:39.032296 DATA sockfilt for passive data channel listens on port 41809 14:53:39.032326 > "229 Entering Passive Mode (|||41809|)[LF]" 14:53:39.032340 Client has been notified that DATA conn will be accepted on port 41809 14:53:39.032514 Client connects to port 41809 14:53:39.032537 ====> Client established passive DATA connection on port 41809 14:53:39.032593 < "TYPE I" 14:53:39.032616 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.032733 < "SIZE verifiedserver" 14:53:39.032760 > "213 17[CR][LF]" 14:53:39.032871 < "RETR verifiedserver" 14:53:39.032899 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.032964 =====> Closing passive DATA connection... 14:53:39.032976 Server disconnects passive DATA connection 14:53:39.033160 Server disconnected passive DATA connection 14:53:39.033181 DATA sockfilt for passive data channel quits (pid 107789) 14:53:39.033352 DATA sockfilt for passive data channel quit (pid 107789) 14:53:39.033370 =====> Closed passive DATA connection 14:53:39.033389 > "226 File transfer complete[CR][LF]" 14:53:39.076465 < "QUIT" 14:53:39.076517 > "221 bye bye baby[CR][LF]" 14:53:39.077398 MAIN sockfilt said DISC 14:53:39.077430 ====> Client disconnected 14:53:39.077492 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.112821 ====> Client connect 14:53:39.113059 Received DATA (on stdin) 14:53:39.113072 > 160 bytes data, server => client 14:53:39.113082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.113091 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.113099 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.113180 < 16 bytes data, client => server 14:53:39.113191 'USER anonymous\r\n' 14:53:39.113330 Received DATA (on stdin) 14:53:39.113340 > 33 bytes data, server => client 14:53:39.113349 '331 We are happy you popped in!\r\n' 14:53:39.113390 < 22 bytes data, client => server 14:53:39.113399 'PASS ftp@example.com\r\n' 14:53:39.113479 Received DATA (on stdin) 14:53:39.113489 > 30 bytes data, server => client 14:53:39.113497 '230 Welcome you silly person\r\n' 14:53:39.113533 < 5 bytes data, client => server 14:53:39.113542 'PWD\r\n' 14:53:39.113616 Received DATA (on stdin) 14:53:39.113625 > 30 bytes data, server => client 14:53:39.113633 '257 "/" is current directory\r\n' 14:53:39.113675 < 6 bytes data, client => server 14:53:39.113684 'EPSV\r\n' 14:53:39.115155 Received DATA (on stdin) 14:53:39.115167 > 38 bytes data, server => client 14:53:39.115176 '229 Entering Passive Mode (|||41809|)\n' 14:53:39.115262 < 8 bytes data, client => server 14:53:39.115274 'TYPE I\r\n' 14:53:39.115427 Received DATA (on stdin) 14:53:39.115436 > 33 bytes data, server => client 14:53:39.115445 '200 I modify TYPE as you wanted\r\n' 14:53:39.115483 < 21 bytes data, client => server 14:53:39.115492 'SIZE verifiedserver\r\n' 14:53:39.115571 Received DATA (on stdin) 14:53:39.115580 > 8 bytes data, server => client 14:53:39.115588 '213 17\r\n' 14:53:39.115623 < 21 bytes data, client => server 14:53:39.115631 'RETR verifiedserver\r\n' 14:53:39.115790 Received DATA (on stdin) 14:53:39.115799 > 29 bytes data, server => client 14:53:39.115808 '150 Binary junk (17 bytes).\r\n' 14:53:39.116202 Received DATA (on stdin) 14:53:39.116213 > 28 bytes data, server => client 14:53:39.116222 '226 File transfer complete\r\n' 14:53:39.159137 < 6 bytes data, client => server 14:53:39.159164 'QUIT\r\n' 14:53:39.159339 Received DATA (on stdin) 14:53:39.159354 > 18 bytes data, server => client 14:53:39.159366 '221 bye bye baby\r\n' 14:53:39.160031 ====> Client disconnect 14:53:39.160310 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.114885 Running IPv4 version 14:53:39.114931 Listening on port 41809 14:53:39.114958 Wrote pid 107789 to log/17/server/ftp_sockdata.pid 14:53:39.114974 Received PING (on stdin) 14:53:39.115042 Received PORT (on stdin) 14:53:39.115290 ====> Client connect 14:53:39.115827 Received DATA (on stdin) 14:53:39.115838 > 17 bytes data, server => client 14:53:39.115847 'WE ROOLZ: 91632\r\n' 14:53:39.115868 Received DISC (on stdin) 14:53:39.115877 ====> Client forcibly disconnected 14:53:39.115999 Received QUIT (on stdin) 14:53:39.116010 quits 14:53:39.116054 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file stderr586 URL: ftp://127.0.0.1:40705/586 === End of file stderr586 === Start of file valgrind586 ==107893== ==107893== Process terminating with default action of signal 4 (SIGILL) ==107893== Illegal opcode at address 0x51D42F3 ==107893== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107893== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107893== by 0x51D42F3: Curl_open (url.c:551) ==107893== by 0x514CA2F: curl_easy_init (easy.c:372) ==107893== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==107893== by 0x400347F: main (first.c:281) ==107893== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==107893== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107893== by 0x51D4243: Curl_open (url.c:530) ==107893== by 0x514CA2F: curl_easy_init (easy.c:372) ==107893== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==107893== by 0x400347F: main (first.c:281) ==107893== === End of file valgrind586 test 0588...[FTP PORT upload using multi interface, EPRT doesn't work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:34519/path/588 log/11/upload588 > log/11/stdout588 2> log/11/stderr588 588: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after tesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:43359/589 > log/12/stdout589 2> log/12/stderr589 t 588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:34519/path/588 log/11/upload588 > log/11/stdout588 2> log/11/stderr588 === End of file commands.log === Start of file ftp_server.log 14:53:39.069477 ====> Client connect 14:53:39.069591 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.069817 < "USER anonymous" 14:53:39.069846 > "331 We are happy you popped in![CR][LF]" 14:53:39.070001 < "PASS ftp@example.com" 14:53:39.070030 > "230 Welcome you silly person[CR][LF]" 14:53:39.070272 < "PWD" 14:53:39.070322 > "257 "/" is current directory[CR][LF]" 14:53:39.070548 < "EPSV" 14:53:39.070571 ====> Passive DATA channel requested by client 14:53:39.070581 DATA sockfilt for passive data channel starting... 14:53:39.071820 DATA sockfilt for passive data channel started (pid 107851) 14:53:39.071908 DATA sockfilt for passive data channel listens on port 38821 14:53:39.071948 > "229 Entering Passive Mode (|||38821|)[LF]" 14:53:39.071968 Client has been notified that DATA conn will be accepted on port 38821 14:53:39.072155 Client connects to port 38821 14:53:39.072181 ====> Client established passive DATA connection on port 38821 14:53:39.072239 < "TYPE I" 14:53:39.072260 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.072419 < "SIZE verifiedserver" 14:53:39.072450 > "213 17[CR][LF]" 14:53:39.072602 < "RETR verifiedserver" 14:53:39.072628 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.072696 =====> Closing passive DATA connection... 14:53:39.072713 Server disconnects passive DATA connection 14:53:39.072774 Server disconnected passive DATA connection 14:53:39.072797 DATA sockfilt for passive data channel quits (pid 107851) 14:53:39.072948 DATA sockfilt for passive data channel quit (pid 107851) 14:53:39.072967 =====> Closed passive DATA connection 14:53:39.072986 > "226 File transfer complete[CR][LF]" 14:53:39.120561 < "QUIT" 14:53:39.120618 > "221 bye bye baby[CR][LF]" 14:53:39.121577 MAIN sockfilt said DISC 14:53:39.121616 ====> Client disconnected 14:53:39.121717 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.152204 ====> Client connect 14:53:39.152412 Received DATA (on stdin) 14:53:39.152424 > 160 bytes data, server => client 14:53:39.152434 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.152443 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.152451 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.152505 < 16 bytes data, client => server 14:53:39.152518 'USER anonymous\r\n' 14:53:39.152663 Received DATA (on stdin) 14:53:39.152675 > 33 bytes data, server => client 14:53:39.152686 '331 We are happy you popped in!\r\n' 14:53:39.152735 < 22 bytes data, client => server 14:53:39.152746 'PASS ftp@example.com\r\n' 14:53:39.152845 Received DATA (on stdin) 14:53:39.152857 > 30 bytes data, server => client 14:53:39.152867 '230 Welcome you silly person\r\n' 14:53:39.152934 < 5 bytes data, client => server 14:53:39.152957 'PWD\r\n' 14:53:39.153142 Received DATA (on stdin) 14:53:39.153154 > 30 bytes data, server => client 14:53:39.153166 '257 "/" is current directory\r\n' 14:53:39.153266 < 6 bytes data, client => server 14:53:39.153285 'EPSV\r\n' 14:53:39.154788 Received DATA (on stdin) 14:53:39.154802 > 38 bytes data, server => client 14:53:39.154818 '229 Entering Passive Mode (|||38821|)\n' 14:53:39.154922 < 8 bytes data, client => server 14:53:39.154938 'TYPE I\r\n' 14:53:39.155073 Received DATA (on stdin) 14:53:39.155086 > 33 bytes data, server => client 14:53:39.155098 '200 I modify TYPE as you wanted\r\n' 14:53:39.155149 < 21 bytes data, client => server 14:53:39.155162 'SIZE verifiedserver\r\n' 14:53:39.155267 Received DATA (on stdin) 14:53:39.155279 > 8 bytes data, server => client 14:53:39.155290 '213 17\r\n' 14:53:39.155339 < 21 bytes data, client => server 14:53:39.155352 'RETR verifiedserver\r\n' 14:53:39.155507 Received DATA (on stdin) 14:53:39.155520 > 29 bytes data, server => client 14:53:39.155532 '150 Binary junk (17 bytes).\r\n' 14:53:39.155798 Received DATA (on stdin) 14:53:39.155810 > 28 bytes data, server => client 14:53:39.155821 '226 File transfer complete\r\n' 14:53:39.203118 < 6 bytes data, client => server 14:53:39.203159 'QUIT\r\n' 14:53:39.203440 Received DATA (on stdin) 14:53:39.203452 > 18 bytes data, server => client 14:53:39.203464 '221 bye bye baby\r\n' 14:53:39.204333 ====> Client disconnect 14:53:39.204533 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.154505 Running IPv4 version 14:53:39.154545 Listening on port 38821 14:53:39.154573 Wrote pid 107851 to log/11/server/ftp_sockdata.pid 14:53:39.154589 Received PING (on stdin) 14:53:39.154653 Received PORT (on stdin) 14:53:39.154922 ====> Client connect 14:53:39.155447 Received DATA (on stdin) 14:53:39.155461 > 17 bytes data, server => client 14:53:39.155472 'WE ROOLZ: 80346\r\n' 14:53:39.155532 Received DISC (on stdin) 14:53:39.155544 ====> Client forcibly disconnected 14:53:39.155617 Received QUIT (on stdin) 14:53:39.155630 quits 14:53:39.155669 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now Testnum 588 === End of file server.cmd === Start of file stderr588 URL: ftp://127.0.0.1:34519/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==107962== ==107962== Process terminating with default action of signal 4 (SIGILL) ==107962== Illegal opcode at address 0x51D42F3 ==107962== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107962== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107962== by 0x51D42F3: Curl_open (url.c:551) ==107962== by 0x514CA2F: curl_easy_init (easy.c:372) ==107962== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==107962== by 0x400347F: main (first.c:281) ==107962== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==107962== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107962== by 0x51D4243: Curl_open (url.c:530) ==107962== by 0x514CA2F: curl_easy_init (easy.c:372) ==107962== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:74) ==107962== by 0x400347F: main (first.c:281) ==107962== === End of file valgrind588 test 0589...[make an HTTP MIME POST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:43359/589 > log/12/stdout589 2> log/12/stderr589 589: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 589 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:43359/589 > log/12/stdout589 2> log/12/stderr589 === End of file commands.log === Start of file http_server.log 14:53:39.260263 ====> Client connect 14:53:39.260296 accept_connection 3 returned 4 14:53:39.260314 accept_connection 3 returned 0 14:53:39.260329 Read 93 bytes 14:53:39.260340 Process 93 bytes request 14:53:39.260353 Got request: GET /verifiedserver HTTP/1.1 14:53:39.260363 Are-we-friendly question received 14:53:39.260387 Wrote request (93 bytes) input to log/12/server.input 14:53:39.260405 Identifying ourselves as friends 14:53:39.260460 Response sent (56 bytes) and written to lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:43113/path/564 127.0.0.1:41687 > log/1/stdout564 2> log/1/stderr564 og/12/server.response 14:53:39.260472 special request received, no persistency 14:53:39.260482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 589 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:43359/589 === End of file stderr589 === Start of file valgrind589 ==108035== ==108035== Process terminating with default action of signal 4 (SIGILL) ==108035== Illegal opcode at address 0x51D42F3 ==108035== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108035== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108035== by 0x51D42F3: Curl_open (url.c:551) ==108035== by 0x514CA2F: curl_easy_init (easy.c:372) ==108035== by 0x402120A: test_lib589.lto_priv.0 (lib589.c:38) ==108035== by 0x400347F: main (first.c:281) ==108035== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108035== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108035== by 0x51D4243: Curl_open (url.c:530) ==108035== by 0x514CA2F: curl_easy_init (easy.c:372) ==108035== by 0x402120A: test_lib589.lto_priv.0 (lib589.c:38) ==108035== by 0x400347F: main (first.c:281) ==108035== === End of file valgrind589 cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:42345/567 > log/6/stdout567 2> log/6/stderr567 startnew: ./server/servers socksd --port 0 --pidfile log/1/server/socks_server.pid --portfile log/1/server/socks_server.port --reqfile log/1/socksd-request.log --logfile log/1/socks_server.log --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS server is now running PID 106990 * pid socks => 106990 106990 test 0564...[FTP RETR a file over a SOCKS proxy using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:43113/path/564 127.0.0.1:41687 > log/1/stdout564 2> log/1/stderr564 564: stdout FAILED: --- log/1/check-expected 2025-09-11 14:53:40.072197453 +0000 +++ log/1/check-generated 2025-09-11 14:53:40.072197453 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/1/ dir after test 564 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:43113/path/564 127.0.0.1:41687 > log/1/stdout564 2> log/1/stderr564 === End of file commands.log === Start of file ftp_server.log 14:53:38.156194 ====> Client connect 14:53:38.156366 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:38.157147 < "USER anonymous" 14:53:38.157208 > "331 We are happy you popped in![CR][LF]" 14:53:38.157413 < "PASS ftp@example.com" 14:53:38.157445 > "230 Welcome you silly person[CR][LF]" 14:53:38.157621 < "PWD" 14:53:38.157657 > "257 "/" is current directory[CR][LF]" 14:53:38.157834 < "EPSV" 14:53:38.157867 ====> Passive DATA channel requested by client 14:53:38.157882 DATA sockfilt for passive data channel starting... 14:53:38.160669 DATA sockfilt for passive data channel started (pid 106915) 14:53:38.160812 DATA sockfilt for passive data channel listens on port 41715 14:53:38.160864 > "229 Entering Passive Mode (|||41715|)[LF]" 14:53:38.160888 Client has been notified that DATA conn will be accepted on port 41715 14:53:38.161474 Client connects to port 41715 14:53:38.161508 ====> Client established passive DATA connection on port 41715 14:53:38.161651 < "TYPE I" 14:53:38.161687 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:38.161870 < "SIZE verifiedserver" 14:53:38.161907 > "213 17[CR][LF]" 14:53:38.162069 < "RETR verifiedserver" 14:53:38.162104 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:38.162193 =====> Closing passive DATA connection... 14:53:38.162210 Server disconnects passive DATA connection 14:53:38.162460 Server disconnected passive DATA connection 14:53:38.162489 DATA sockfilt for passive data channel quits (pid 106915) 14:53:38.162689 DATA sockfilt for passive data channel quit (pid 106915) 14:53:38.162713 =====> Closed passive DATA connection 14:53:38.162741 > "226 File transfer complete[CR][LF]" 14:53:38.207267 < "QUIT" 14:53:38.207322 > "221 bye bye baby[CR][LF]" 14:53:38.208285 MAIN sockfilt said DISC 14:53:38.208315 ====> Client disconnected 14:53:38.208379 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:37.238919 ====> Client connect 14:53:37.239199 Received DATA (on stdin) 14:53:37.239218 > 160 bytes data, server => client 14:53:37.239235 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:37.239249 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:37.239262 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:37.239733 < 16 bytes data, client => server 14:53:37.239767 'USER anonymous\r\n' 14:53:37.240037 Received DATA (on stdin) 14:53:37.240053 > 33 bytes data, server => client 14:53:37.240066 '331 We are happy you popped in!\r\n' 14:53:37.240128 < 22 bytes data, client => server 14:53:37.240144 'PASS ftp@example.com\r\n' 14:53:37.240263 Received DATA (on stdin) 14:53:37.240277 > 30 bytes data, server => client 14:53:37.240290 '230 Welcome you silly person\r\n' 14:53:37.240345 < 5 bytes data, client => server 14:53:37.240359 'PWD\r\n' 14:53:37.240475 Received DATA (on stdin) 14:53:37.240488 > 30 bytes data, server => client 14:53:37.240501 '257 "/" is current directory\r\n' 14:53:37.240560 < 6 bytes data, client => server 14:53:37.240574 'EPSV\r\n' 14:53:37.243717 Received DATA (on stdin) 14:53:37.243737 > 38 bytes data, server => client 14:53:37.243752 '229 Entering Passive Mode (|||41715|)\n' 14:53:37.244353 < 8 bytes data, client => server 14:53:37.244368 'TYPE I\r\n' 14:53:37.244505 Received DATA (on stdin) 14:53:37.244518 > 33 bytes data, server => client 14:53:37.244530 '200 I modify TYPE as you wanted\r\n' 14:53:37.244595 < 21 bytes data, client => server 14:53:37.244609 'SIZE verifiedserver\r\n' 14:53:37.244723 Received DATA (on stdin) 14:53:37.244736 > 8 bytes data, server => client 14:53:37.244748 '213 17\r\n' 14:53:37.244799 < 21 bytes data, client => server 14:53:37.244812 'RETR verifiedserver\r\n' 14:53:37.245029 Received DATA (on stdin) 14:53:37.245043 > 29 bytes data, server => client 14:53:37.245055 '150 Binary junk (17 bytes).\r\n' 14:53:37.245561 Received DATA (on stdin) 14:53:37.245576 > 28 bytes data, server => client 14:53:37.245589 '226 File transfer complete\r\n' 14:53:37.289905 < 6 bytes data, client => server 14:53:37.289935 'QUIT\r\n' 14:53:37.290145 Received DATA (on stdin) 14:53:37.290159 > 18 bytes data, server => client 14:53:37.290171 '221 bye bye baby\r\n' 14:53:37.291048 ====> Client disconnect 14:53:37.291196 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:38.242759 Running IPv4 version 14:53:38.242822 Listening on port 41715 14:53:38.242861 Wrote pid 106915 to log/1/server/ftp_sockdata.pid 14:53:38.243424 Received PING (on stdin) 14:53:38.243526 Received PORT (on stdin) 14:53:38.244236 ====> Client connect 14:53:38.245088 Received DATA (on stdin) 14:53:38.245103 > 17 bytes data, server => client 14:53:38.245115 'WE ROOLZ: 80194\r\n' 14:53:38.245140 Received DISC (on stdin) 14:53:38.245153 ====> Client forcibly disconnected 14:53:38.245312 Received QUIT (on stdin) 14:53:38.245326 quits 14:53:38.245377 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 564 === End of file server.cmd === Start of file socks_server.log 14:53:38.294488 Running IPv4 version 14:53:38.294560 Listening on port 41687 14:53:38.294599 Wrote pid 106990 to log/1/server/socks_server.pid 14:53:38.294630 Wrote port 41687 to log/1/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:43113/path/564 === End of file stderr564 === Start of file valgrind564 ==108086== ==108086== Process terminating with default action of signal 4 (SIGILL) ==108086== Illegal opcode at address 0x51D42F3 ==108086== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108086== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108086== by 0x51D42F3: Curl_open (url.c:551) ==108086== by 0x514CA2F: curl_easy_init (easy.c:372) ==108086== by 0x405E5F5: test_lib564.part.0.lto_priv.0 (lib564.c:39) ==108086== by 0x400347F: main (first.c:281) ==108086== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108086== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108086== by 0x51D4243: Curl_open (url.c:530) ==108086== by 0x514CA2F: curl_easy_init (easy.c:372) ==108086== by 0x405E5F5: test_lib564.part.0.lto_priv.0 (lib564.c:39) ==108086== by 0x400347F: main (first.c:281) ==108086== === End of file valgrind564 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidficannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44241/path/591 8 log/15/upload591 > log/15/stdout591 2> log/15/stderr591 le "log/6/server/rtsp_server.pid" --portfile "log/6/server/rtsp_server.port" --logfile "log/6/rtsp_server.log" --logdir "log/6" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107068 port 42345 * pid rtsp => 107068 107068 test 0567...[simple RTSP OPTIONS command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:42345/567 > log/6/stdout567 2> log/6/stderr567 567: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:42345/567 > log/6/stdout567 2> log/6/stderr567 === End of file commands.log === Start of file rtsp_server.log 14:53:38.405084 Running IPv4 version on port 42345 14:53:38.405183 Wrote pid 107068 to log/6/server/rtsp_server.pid 14:53:38.405217 Wrote port 42345 to log/6/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file stderr567 URL: rtsp://127.0.0.1:42345/567 === End of file stderr567 === Start of file valgrind567 ==108140== ==108140== Process terminating with default action of signal 4 (SIGILL) ==108140== Illegal opcode at address 0x51D42F3 ==108140== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108140== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108140== by 0x51D42F3: Curl_open (url.c:551) ==108140== by 0x514CA2F: curl_easy_init (easy.c:372) ==108140== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==108140== by 0x400347F: main (first.c:281) ==108140== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108140== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108140== by 0x51D4243: Curl_open (url.c:530) ==108140== by 0x514CA2F: curl_easy_init (easy.c:372) ==108140== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==108140== by 0x400347F: main (first.c:281) ==108140== === End of file valgrind567 test 0591...[FTP multi PORT and 425 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44241/path/591 8 log/15/upload591 > log/15/stdout591 2> log/15/stderr591 591: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44241/path/591 8 log/15/upload591 > log/15/stdout591 2> log/15/stderr591 === End of file commands.log === Start of file ftp_server.log 14:53:39.523718 ====> Client connect 14:53:39.523875 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.524261 < "USER anonymous" 14:53:39.524383 > "331 We are happy you popped in![CR][LF]" 14:53:39.524828 < "PASS ftp@example.com" 14:53:39.524861 > "230 Welcome you silly person[CR][LF]" 14:53:39.525022 < "PWD" 14:53:39.525053 > "257 "/" is current directory[CR][LF]" 14:53:39.525207 < "EPSV" 14:53:39.525229 ====> Passive DATA channel requested by client 14:53:39.525242 DATA sockfilt for passive data channel starting... 14:53:39.526795 DATA sockfilt for passive data channel started (pid 108333) 14:53:39.526909 DATA sockfilt for passive data channel listens on port 36047 14:53:39.526951 > "229 Entering Passive Mode (|||36047|)[LF]" 14:53:39.526970 Client has been notified that DATA conn will be accepted on port 36047 14:53:39.527165 Client connects to port 36047 14:53:39.527189 ====> Client established passive DATA connection on port 36047 14:53:39.527250 < "TYPE I" 14:53:39.527272 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.527406 < "SIZE verifiedserver" 14:53:39.527441 > "213 17[CR][LF]" 14:53:39.527594 < "RETR verifiedserver" 14:53:39.527621 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.527691 =====> Closing passive DATA connection... 14:53:39.527704 Server disconnects passive DATA connection 14:53:39.527795 Server disconnected passive DATA connection 14:53:39.527812 DATA sockfilt for passive data channel quits (pid 108333) 14:53:39.527960 DATA sockfilt for passive data channel quit (pid 108333) 14:53:39.527977 =====> Closed passive DATA connection 14:53:39.528001 > "226 File transfer complete[CR][LF]" 14:53:39.570640 < "QUIT" 14:53:39.570693 > "221 bye bye baby[CR][LF]" 14:53:39.572930 MAIN sockfilt said DISC 14:53:39.572969 ====> Client disconnected 14:53:39.573051 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.605622 ====> Client connect 14:53:39.606707 Received DATA (on stdin) 14:53:39.606722 > 160 bytes data, server => client 14:53:39.606735 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.606746 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.606756 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.606923 < 16 bytes data, client => server 14:53:39.606937 'USER anonymous\r\n' 14:53:39.607148 Received DATA (on stdin) 14:53:39.607169 > 33 bytes data, server => client 14:53:39.607182 '331 We are happy you popped in!\r\n' 14:53:39.607239 < 22 bytes data, client => server 14:53:39.607252 'PASS ftp@example.com\r\n' 14:53:39.607677 Received DATA (on stdin) 14:53:39.607690 > 30 bytes data, server => client 14:53:39.607701 '230 Welcome you silly person\r\n' 14:53:39.607754 < 5 bytes data, client => server 14:53:39.607766 'PWD\r\n' 14:53:39.607867 Received DATA (on stdin) 14:53:39.607879 > 30 bytes data, server => client 14:53:39.607890 '257 "/" is current directory\r\n' 14:53:39.607945 < 6 bytes data, client => server 14:53:39.607956 'EPSV\r\n' 14:53:39.609791 Received DATA (on stdin) 14:53:39.609802 > 38 bytes data, server => client 14:53:39.609812 '229 Entering Passive Mode (|||36047|)\n' 14:53:39.609933 < 8 bytes data, client => server 14:53:39.609943 'TYPE I\r\n' 14:53:39.610083 Received DATA (on stdin) 14:53:39.610093 > 33 bytes data, server => client 14:53:39.610101 '200 I modify TYPE as you wanted\r\n' 14:53:39.610141 < 21 bytes data, client => server 14:53:39.610151 'SIZE verifiedserver\r\n' 14:53:39.610258 Received DATA (on stdin) 14:53:39.610270 > 8 bytes data, server => client 14:53:39.610281 '213 17\r\n' 14:53:39.610330 < 21 bytes data, client => server 14:53:39.610342 'RETR verifiedserver\r\n' 14:53:39.610436 Received DATA (on stdin) 14:53:39.610466 > 29 bytes data, server => client 14:53:39.610480 '150 Binary junk (17 bytes).\r\n' 14:53:39.610807 Received DATA (on stdin) 14:53:39.610829 > 28 bytes data, server => client 14:53:39.610842 '226 File transfer complete\r\n' 14:53:39.653268 < 6 bytes data, client => server 14:53:39.653295 'QUIT\r\n' 14:53:39.653513 Received DATA (on stdin) 14:53:39.653526 > 18 bytes data, server => client 14:53:39.653538 '221 bye bye baby\r\n' 14:53:39.655695 ====> Client disconnect 14:53:39.655917 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.609447 Running IPv4 version 14:53:39.609500 Listening on port 36047 14:53:39.609533 Wrote pid 108333 to log/15/server/ftp_sockdata.pid 14:53:39.609552 Received PING (on stdin) 14:53:39.609641 Received PORT (on stdin) 14:53:39.609910 ====> Client connect 14:53:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36065/569 log/16/idfile569.txt > log/16/stdout569 2> log/16/stderr569 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46041 > log/5/stdout590 2> log/5/stderr590 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:36327/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 9.610518 Received DATA (on stdin) 14:53:39.610529 > 17 bytes data, server => client 14:53:39.610537 'WE ROOLZ: 80266\r\n' 14:53:39.610559 Received DISC (on stdin) 14:53:39.610568 ====> Client forcibly disconnected 14:53:39.610627 Received QUIT (on stdin) 14:53:39.610636 quits 14:53:39.610676 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 REPLY EPRT 500 we don't like EPRT now Testnum 591 === End of file server.cmd === Start of file stderr591 URL: ftp://127.0.0.1:44241/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==108678== ==108678== Process terminating with default action of signal 4 (SIGILL) ==108678== Illegal opcode at address 0x51D42F3 ==108678== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108678== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108678== by 0x51D42F3: Curl_open (url.c:551) ==108678== by 0x514CA2F: curl_easy_init (easy.c:372) ==108678== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108678== by 0x400347F: main (first.c:281) ==108678== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==108678== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108678== by 0x51D4243: Curl_open (url.c:530) ==108678== by 0x514CA2F: curl_easy_init (easy.c:372) ==108678== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108678== by 0x400347F: main (first.c:281) ==108678== === End of file valgrind591 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/16/server/rtsp_server.pid" --portfile "log/16/server/rtsp_server.port" --logfile "log/16/rtsp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107154 port 36065 * pid rtsp => 107154 107154 test 0569...[RTSP Session ID parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36065/569 log/16/idfile569.txt > log/16/stdout569 2> log/16/stderr569 569: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36065/569 log/16/idfile569.txt > log/16/stdout569 2> log/16/stderr569 === End of file commands.log === Start of file rtsp_server.log 14:53:38.597183 Running IPv4 version on port 36065 14:53:38.597314 Wrote pid 107154 to log/16/server/rtsp_server.pid 14:53:38.597355 Wrote port 36065 to log/16/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 569 === End of file server.cmd === Start of file stderr569 URL: rtsp://127.0.0.1:36065/569 === End of file stderr569 === Start of file valgrind569 ==108256== ==108256== Process terminating with default action of signal 4 (SIGILL) ==108256== Illegal opcode at address 0x51D42F3 ==108256== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108256== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108256== by 0x51D42F3: Curl_open (url.c:551) ==108256== by 0x514CA2F: curl_easy_init (easy.c:372) ==108256== by 0x401DBDE: test_lib569.lto_priv.0 (lib569.c:53) ==108256== by 0x400347F: main (first.c:281) ==108256== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==108256== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108256== by 0x51D4243: Curl_open (url.c:530) ==108256== by 0x514CA2F: curl_easy_init (easy.c:372) ==108256== by 0x401DBDE: test_lib569.lto_priv.0 (lib569.c:53) ==108256== by 0x400347F: main (first.c:281) ==108256== === End of file valgrind569 test 0590...[HTTP proxy offers Negotiate+NTLM, use only NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46041 > log/5/stdout590 2> log/5/stderr590 590: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46041 > log/5/stdout590 2> log/5/stderr590 === End of file commands.log === Start of file http_server.log 14:53:39.564223 ====> Client connect 14:53:39.564249 accept_connection 3 returned 4 14:53:39.564262 accept_connection 3 returned 0 14:53:39.564274 Read 93 bytes 14:53:39.564283 Process 93 bytes request 14:53:39.564294 Got request: GET /verifiedserver HTTP/1.1 14:53:39.564302 Are-we-friendly question received 14:53:39.564320 Wrote request (93 bytes) input to log/5/server.input 14:53:39.564333 Identifying ourselves as friends 14:53:39.564372 Response sent (56 bytes) and written to log/5/server.response 14:53:39.564380 special request received, no persistency 14:53:39.564387 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 57630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 590 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr590 URL: http://test.remote.example.com/path/590 === End of file stderr590 === Start of file valgrind590 ==108216== ==108216== Process terminating with default action of signal 4 (SIGILL) ==108216== Illegal opcode at address 0x51D42F3 ==108216== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108216== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108216== by 0x51D42F3: Curl_open (url.c:551) ==108216== by 0x514CA2F: curl_easy_init (easy.c:372) ==108216== by 0x402165F: test_lib590.lto_priv.0 (lib590.c:53) ==108216== by 0x400347F: main (first.c:281) ==108216== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108216== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108216== by 0x51D4243: Curl_open (url.c:530) ==108216== by 0x514CA2F: curl_easy_init (easy.c:372) ==108216== by 0x402165F: test_lib590.lto_priv.0 (lib590.c:53) ==108216== by 0x400347F: main (first.c:281) ==108216== === End of file valgrind590 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/2/server/rtsp_server.pid" --portfile "log/2/server/rtsp_server.port" --logfile "log/2/rtsp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107153 port 36327 * pid rtsp => 107153 107153 test 0568...[RTSP Announce (PUT and POST style) test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:36327/568 log/2/fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:43981/570 > log/8/stdout570 2> log/8/stderr570 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:46729/595 log/19/ip595 > log/19/stdout595 2> log/19/stderr595 le568.txt > log/2/stdout568 2> log/2/stderr568 568: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:36327/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 === End of file commands.log === Start of file file568.txt v=0 o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps e=mjh@isi.edu (Mark Handley) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 14:53:38.586384 Running IPv4 version on port 36327 14:53:38.586491 Wrote pid 107153 to log/2/server/rtsp_server.pid 14:53:38.586524 Wrote port 36327 to log/2/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 568 === End of file server.cmd === Start of file stderr568 URL: rtsp://127.0.0.1:36327/568 === End of file stderr568 === Start of file valgrind568 ==108225== ==108225== Process terminating with default action of signal 4 (SIGILL) ==108225== Illegal opcode at address 0x51D42F3 ==108225== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108225== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108225== by 0x51D42F3: Curl_open (url.c:551) ==108225== by 0x514CA2F: curl_easy_init (easy.c:372) ==108225== by 0x401E6FE: test_lib568.lto_priv.0 (lib568.c:48) ==108225== by 0x400347F: main (first.c:281) ==108225== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108225== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108225== by 0x51D4243: Curl_open (url.c:530) ==108225== by 0x514CA2F: curl_easy_init (easy.c:372) ==108225== by 0x401E6FE: test_lib568.lto_priv.0 (lib568.c:48) ==108225== by 0x400347F: main (first.c:281) ==108225== === End of file valgrind568 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/8/server/rtsp_server.pid" --portfile "log/8/server/rtsp_server.port" --logfile "log/8/rtsp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107158 port 43981 * pid rtsp => 107158 107158 test 0570...[RTSP CSeq and Session Mismatch checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:43981/570 > log/8/stdout570 2> log/8/stderr570 570: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:43981/570 > log/8/stdout570 2> log/8/stderr570 === End of file commands.log === Start of file rtsp_server.log 14:53:38.606488 Running IPv4 version on port 43981 14:53:38.606596 Wrote pid 107158 to log/8/server/rtsp_server.pid 14:53:38.606632 Wrote port 43981 to log/8/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 570 === End of file server.cmd === Start of file stderr570 URL: rtsp://127.0.0.1:43981/570 === End of file stderr570 === Start of file valgrind570 ==108302== ==108302== Process terminating with default action of signal 4 (SIGILL) ==108302== Illegal opcode at address 0x51D42F3 ==108302== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108302== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108302== by 0x51D42F3: Curl_open (url.c:551) ==108302== by 0x514CA2F: curl_easy_init (easy.c:372) ==108302== by 0x401DF4A: test_lib570.lto_priv.0 (lib570.c:41) ==108302== by 0x400347F: main (first.c:281) ==108302== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108302== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108302== by 0x51D4243: Curl_open (url.c:530) ==108302== by 0x514CA2F: curl_easy_init (easy.c:372) ==108302== by 0x401DF4A: test_lib570.lto_priv.0 (lib570.c:41) ==108302== by 0x400347F: main (first.c:281) ==108302== === End of file valgrind570 test 0595...[verify close callbacks with passive FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:46729/595 log/19/ip595 > log/19/stdout595 2> log/19/stderr595 595: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:46729/595 log/19/ip595 > log/19/stdout595 2> log/19/stderr595 === End of file commands.log === Start of file ftp_server.log 14:53:39.556717 ====> Client connect 14:53:39.556835 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.557062 < "USER anonymous" 14:53:39.557095 > "331 We are happy you popped in![CR][LF]" 14:53:39.557229 < "PASS ftp@example.com" 14:53:39.557251 > "230 Welcome you silly person[CR][LF]" 14:53:39.557368 < "PWD" 14:53:39.557390 > "257 "/" is current directory[CR][LF]" 14:53:39.557511 < "EPSV" 14:53:39.557533 ====> Passive DATA channel requested by client 14:53:39.557543 DATA sockfilt for passive data channel starting... 14:53:39.558880 DATA sockfilt for passive data channel started (pid 108476) 14:53:39.558972 DATA sockfilt for passive data channel listens on port 39525 14:53:39.559002 > "229 Entering Passive Mode (|||39525|)[LF]" 14:53:39.559019 Client has been notified that DATA conn will be accepted on port 39525 14:53:39.559201 Client connects to port 39525 14:53:39.559224 ====> Client established passive DATA connection on port 39525 14:53:39.559280 < "TYPE I" 14:53:39.559300 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.559423 < "SIZE verifiedserver" 14:53:39.559450 > "213 17[CR][LF]" 14:53:39.559564 < "RETR verifiedserver" 14:53:39.559587 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.559649 =====> Closing passive DATA connection... 14:53:39.559661 Server disconnects passive DATA connection 14:53:39.559838 Server disconnected passive DATA connection 14:53:39.559859 DATA sockfilt for passive data channel quits (pid 108476) 14:53:39.560019 DATA sockfilt for passive data channel quit (pid 108476) 14:53:39.560037 =====> Closed passive DATA connection 14:53:39.560057 > "226 File transfer complete[CR][LF]" 14:53:39.600474 < "QUIT" 14:53:39.600531 > "221 bye bye baby[CR][LF]" 14:53:39.601459 MAIN sockfilt said DISC 14:53:39.601520 ====> Client disconnected 14:53:39.601590 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.639451 ====> Client connect 14:53:39.639666 Received DATA (on stdin) 14:53:39.639679 > 160 bytes data, server => client 14:53:39.639689 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.639698 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.639706 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:42919 > log/24/stdout597 2> log/24/stderr597 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:46015/571 log/20/protofile571.txt > log/20/stdout571 2> log/20/stderr571 n' 14:53:39.639763 < 16 bytes data, client => server 14:53:39.639773 'USER anonymous\r\n' 14:53:39.639909 Received DATA (on stdin) 14:53:39.639920 > 33 bytes data, server => client 14:53:39.639929 '331 We are happy you popped in!\r\n' 14:53:39.639969 < 22 bytes data, client => server 14:53:39.639978 'PASS ftp@example.com\r\n' 14:53:39.640063 Received DATA (on stdin) 14:53:39.640072 > 30 bytes data, server => client 14:53:39.640081 '230 Welcome you silly person\r\n' 14:53:39.640117 < 5 bytes data, client => server 14:53:39.640126 'PWD\r\n' 14:53:39.640201 Received DATA (on stdin) 14:53:39.640210 > 30 bytes data, server => client 14:53:39.640219 '257 "/" is current directory\r\n' 14:53:39.640261 < 6 bytes data, client => server 14:53:39.640270 'EPSV\r\n' 14:53:39.641837 Received DATA (on stdin) 14:53:39.641849 > 38 bytes data, server => client 14:53:39.641859 '229 Entering Passive Mode (|||39525|)\n' 14:53:39.641969 < 8 bytes data, client => server 14:53:39.641979 'TYPE I\r\n' 14:53:39.642113 Received DATA (on stdin) 14:53:39.642123 > 33 bytes data, server => client 14:53:39.642132 '200 I modify TYPE as you wanted\r\n' 14:53:39.642170 < 21 bytes data, client => server 14:53:39.642179 'SIZE verifiedserver\r\n' 14:53:39.642261 Received DATA (on stdin) 14:53:39.642270 > 8 bytes data, server => client 14:53:39.642279 '213 17\r\n' 14:53:39.642314 < 21 bytes data, client => server 14:53:39.642323 'RETR verifiedserver\r\n' 14:53:39.642474 Received DATA (on stdin) 14:53:39.642484 > 29 bytes data, server => client 14:53:39.642493 '150 Binary junk (17 bytes).\r\n' 14:53:39.642869 Received DATA (on stdin) 14:53:39.642880 > 28 bytes data, server => client 14:53:39.642889 '226 File transfer complete\r\n' 14:53:39.683108 < 6 bytes data, client => server 14:53:39.683133 'QUIT\r\n' 14:53:39.683357 Received DATA (on stdin) 14:53:39.683373 > 18 bytes data, server => client 14:53:39.683386 '221 bye bye baby\r\n' 14:53:39.684207 ====> Client disconnect 14:53:39.684417 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.641553 Running IPv4 version 14:53:39.641601 Listening on port 39525 14:53:39.641628 Wrote pid 108476 to log/19/server/ftp_sockdata.pid 14:53:39.641643 Received PING (on stdin) 14:53:39.641717 Received PORT (on stdin) 14:53:39.641947 ====> Client connect 14:53:39.642512 Received DATA (on stdin) 14:53:39.642523 > 17 bytes data, server => client 14:53:39.642532 'WE ROOLZ: 80256\r\n' 14:53:39.642550 Received DISC (on stdin) 14:53:39.642559 ====> Client forcibly disconnected 14:53:39.642676 Received QUIT (on stdin) 14:53:39.642686 quits 14:53:39.642726 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file stderr595 URL: ftp://127.0.0.1:46729/595 === End of file stderr595 === Start of file valgrind595 ==108550== ==108550== Process terminating with default action of signal 4 (SIGILL) ==108550== Illegal opcode at address 0x51D42F3 ==108550== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108550== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108550== by 0x51D42F3: Curl_open (url.c:551) ==108550== by 0x514CA2F: curl_easy_init (easy.c:372) ==108550== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==108550== by 0x400347F: main (first.c:281) ==108550== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108550== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108550== by 0x51D4243: Curl_open (url.c:530) ==108550== by 0x514CA2F: curl_easy_init (easy.c:372) ==108550== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==108550== by 0x400347F: main (first.c:281) ==108550== === End of file valgrind595 test 0597...[FTP connect only option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:42919 > log/24/stdout597 2> log/24/stderr597 597: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 597 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:42919 > log/24/stdout597 2> log/24/stderr597 === End of file commands.log === Start of file ftp_server.log 14:53:39.589197 ====> Client connect 14:53:39.589314 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.589528 < "USER anonymous" 14:53:39.589557 > "331 We are happy you popped in![CR][LF]" 14:53:39.589685 < "PASS ftp@example.com" 14:53:39.589706 > "230 Welcome you silly person[CR][LF]" 14:53:39.589822 < "PWD" 14:53:39.589844 > "257 "/" is current directory[CR][LF]" 14:53:39.589963 < "EPSV" 14:53:39.589982 ====> Passive DATA channel requested by client 14:53:39.589993 DATA sockfilt for passive data channel starting... 14:53:39.591778 DATA sockfilt for passive data channel started (pid 108511) 14:53:39.591909 DATA sockfilt for passive data channel listens on port 44121 14:53:39.591969 > "229 Entering Passive Mode (|||44121|)[LF]" 14:53:39.591992 Client has been notified that DATA conn will be accepted on port 44121 14:53:39.592220 Client connects to port 44121 14:53:39.592252 ====> Client established passive DATA connection on port 44121 14:53:39.592346 < "TYPE I" 14:53:39.592386 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.592575 < "SIZE verifiedserver" 14:53:39.592614 > "213 17[CR][LF]" 14:53:39.592786 < "RETR verifiedserver" 14:53:39.592821 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.592906 =====> Closing passive DATA connection... 14:53:39.592927 Server disconnects passive DATA connection 14:53:39.593184 Server disconnected passive DATA connection 14:53:39.593216 DATA sockfilt for passive data channel quits (pid 108511) 14:53:39.593457 DATA sockfilt for passive data channel quit (pid 108511) 14:53:39.593485 =====> Closed passive DATA connection 14:53:39.593512 > "226 File transfer complete[CR][LF]" 14:53:39.637530 < "QUIT" 14:53:39.637585 > "221 bye bye baby[CR][LF]" 14:53:39.637831 MAIN sockfilt said DISC 14:53:39.637880 ====> Client disconnected 14:53:39.637950 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.671925 ====> Client connect 14:53:39.672136 Received DATA (on stdin) 14:53:39.672149 > 160 bytes data, server => client 14:53:39.672159 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.672168 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.672177 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.672233 < 16 bytes data, client => server 14:53:39.672244 'USER anonymous\r\n' 14:53:39.672371 Received DATA (on stdin) 14:53:39.672381 > 33 bytes data, server => client 14:53:39.672390 '331 We are happy you popped in!\r\n' 14:53:39.672429 < 22 bytes data, client => server 14:53:39.672438 'PASS ftp@example.com\r\n' 14:53:39.672517 Received DATA (on stdin) 14:53:39.672527 > 30 bytes data, server => client 14:53:39.672536 '230 Welcome you silly person\r\n' 14:53:39.672571 < 5 bytes data, client => server 14:53:39.672580 'PWD\r\n' 14:53:39.672654 Received DATA (on stdin) 14:53:39.672664 > 30 bytes data, server => client 14:53:39.672672 '257 "/" is current directory\r\n' 14:53:39.672714 < 6 bytes data, client => server 14:53:39.672723 'EPSV\r\n' 14:53:39.674773 Received DATA (on stdin) 14:53:39.674797 > 38 bytes data, server => client 14:53:39.674810 '229 Entering Passive Mode (|||44121|)\n' 14:53:39.675013 < 8 bytes data, client => server 14:53:39.675026 'TYPE I\r\n' 14:53:39.675208 Received DATA (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:43281/path/593 8 log/21/upload593 > log/21/stdout593 2> log/21/stderr593 on stdin) 14:53:39.675224 > 33 bytes data, server => client 14:53:39.675237 '200 I modify TYPE as you wanted\r\n' 14:53:39.675296 < 21 bytes data, client => server 14:53:39.675312 'SIZE verifiedserver\r\n' 14:53:39.675433 Received DATA (on stdin) 14:53:39.675448 > 8 bytes data, server => client 14:53:39.675460 '213 17\r\n' 14:53:39.675512 < 21 bytes data, client => server 14:53:39.675526 'RETR verifiedserver\r\n' 14:53:39.675746 Received DATA (on stdin) 14:53:39.675761 > 29 bytes data, server => client 14:53:39.675774 '150 Binary junk (17 bytes).\r\n' 14:53:39.676337 Received DATA (on stdin) 14:53:39.676353 > 28 bytes data, server => client 14:53:39.676365 '226 File transfer complete\r\n' 14:53:39.720135 < 6 bytes data, client => server 14:53:39.720165 'QUIT\r\n' 14:53:39.720406 Received DATA (on stdin) 14:53:39.720418 > 18 bytes data, server => client 14:53:39.720430 '221 bye bye baby\r\n' 14:53:39.720577 ====> Client disconnect 14:53:39.720769 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.674270 Running IPv4 version 14:53:39.674335 Listening on port 44121 14:53:39.674370 Wrote pid 108511 to log/24/server/ftp_sockdata.pid 14:53:39.674532 Received PING (on stdin) 14:53:39.674630 Received PORT (on stdin) 14:53:39.674984 ====> Client connect 14:53:39.675802 Received DATA (on stdin) 14:53:39.675817 > 17 bytes data, server => client 14:53:39.675833 'WE ROOLZ: 80263\r\n' 14:53:39.675858 Received DISC (on stdin) 14:53:39.675871 ====> Client forcibly disconnected 14:53:39.676042 Received QUIT (on stdin) 14:53:39.676056 quits 14:53:39.676110 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file stderr597 URL: ftp://127.0.0.1:42919 === End of file stderr597 === Start of file valgrind597 ==108809== ==108809== Process terminating with default action of signal 4 (SIGILL) ==108809== Illegal opcode at address 0x51D42F3 ==108809== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108809== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108809== by 0x51D42F3: Curl_open (url.c:551) ==108809== by 0x514CA2F: curl_easy_init (easy.c:372) ==108809== by 0x405DE55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==108809== by 0x400347F: main (first.c:281) ==108809== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108809== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108809== by 0x51D4243: Curl_open (url.c:530) ==108809== by 0x514CA2F: curl_easy_init (easy.c:372) ==108809== by 0x405DE55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==108809== by 0x400347F: main (first.c:281) ==108809== === End of file valgrind597 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/20/server/rtsp_server.pid" --portfile "log/20/server/rtsp_server.port" --logfile "log/20/rtsp_server.log" --logdir "log/20" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107165 port 46015 * pid rtsp => 107165 107165 test 0571...[RTSP RTP Interleaving Test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:46015/571 log/20/protofile571.txt > log/20/stdout571 2> log/20/stderr571 571: stdout FAILED: --- log/20/check-expected 2025-09-11 14:53:40.475530794 +0000 +++ log/20/check-generated 2025-09-11 14:53:40.475530794 +0000 @@ -1,20 +0,0 @@ -RTP: message size 10, channel 1[LF] -RTP: message size 500, channel 0[LF] -RTP: message size 196, channel 0[LF] -RTP: message size 124, channel 0[LF] -RTP: message size 824, channel 0[LF] -RTP: message size 12, channel 0[LF] -RTP: message size 10, channel 1[LF] -RTP: message size 50, channel 0[LF] -RTP: message size 798, channel 0[LF] -RTP: message size 42, channel 0[LF] -RTP: message size 30, channel 1[LF] -RTP: message size 2048, channel 0[LF] -RTP: message size 85, channel 0[LF] -RTP: message size 24, channel 1[LF] -RTP: message size 13, channel 0[LF] -RTP: message size 33, channel 0[LF] -RTP: message size 127, channel 0[LF] -RTP: message size 35, channel 1[LF] -RTP PAYLOAD END CORRUPTED (11), [$][LF] -RTP: message size 63, channel 0[LF] == Contents of files in the log/20/ dir after test 571 === Start of file check-expected RTP: message size 10, channel 1[LF] RTP: message size 500, channel 0[LF] RTP: message size 196, channel 0[LF] RTP: message size 124, channel 0[LF] RTP: message size 824, channel 0[LF] RTP: message size 12, channel 0[LF] RTP: message size 10, channel 1[LF] RTP: message size 50, channel 0[LF] RTP: message size 798, channel 0[LF] RTP: message size 42, channel 0[LF] RTP: message size 30, channel 1[LF] RTP: message size 2048, channel 0[LF] RTP: message size 85, channel 0[LF] RTP: message size 24, channel 1[LF] RTP: message size 13, channel 0[LF] RTP: message size 33, channel 0[LF] RTP: message size 127, channel 0[LF] RTP: message size 35, channel 1[LF] RTP PAYLOAD END CORRUPTED (11), [$][LF] RTP: message size 63, channel 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:46015/571 log/20/protofile571.txt > log/20/stdout571 2> log/20/stderr571 === End of file commands.log === Start of file rtsp_server.log 14:53:38.689330 Running IPv4 version on port 46015 14:53:38.689424 Wrote pid 107165 to log/20/server/rtsp_server.pid 14:53:38.689457 Wrote port 46015 to log/20/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd rtp: part 2 channel 1 size 10 rtp: part 2 channel 0 size 500 rtp: part 2 channel 0 size 196 rtp: part 2 channel 0 size 124 rtp: part 2 channel 0 size 824 rtp: part 2 channel 0 size 18 size_err -6 rtp: part 3 channel 1 size 10 rtp: part 3 channel 0 size 50 rtp: part 4 channel 0 size 798 rtp: part 4 channel 0 size 42 rtp: part 4 channel 1 size 30 rtp: part 4 channel 0 size 2048 rtp: part 4 channel 0 size 85 rtp: part 4 channel 1 size 24 rtp: part 4 channel 0 size 17 size_err -4 rtp: part 4 channel 0 size 33 rtp: part 4 channel 0 size 127 rtp: part 4 channel 1 size 24 size_err 11 rtp: part 4 channel 0 size 37 rtp: part 4 channel 0 size 63 Testnum 571 === End of file server.cmd === Start of file stderr571 URL: rtsp://127.0.0.1:46015/571 === End of file stderr571 === Start of file valgrind571 ==108528== ==108528== Process terminating with default action of signal 4 (SIGILL) ==108528== Illegal opcode at address 0x51D42F3 ==108528== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108528== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108528== by 0x51D42F3: Curl_open (url.c:551) ==108528== by 0x514CA2F: curl_easy_init (easy.c:372) ==108528== by 0x401E28E: test_lib571.lto_priv.0 (lib571.c:110) ==108528== by 0x400347F: main (first.c:281) ==108528== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==108528== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108528== by 0x51D4243: Curl_open (url.c:530) ==108528== by 0x514CA2F: curl_easy_init (easy.c:372) ==108528== by 0x401E28E: test_lib571.lto_priv.0 (lib571.c:110) ==108528== by 0x400347F: main (first.c:281) ==108528== === End of file valgrind571 test 0593...[FTP multi PORT upload, no data conn and no transient neg. reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:43281/path/593 8 log/21/upload593 > log/21/stdout593 2> log/21/stderr593 593: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:43281/path/593 8 log/21/upload593 > log/21/stdout593 2> log/21/stderr593 === End of file commands.log === Start of file ftp_server.log 14:53:39.554221 ====> Client connect 14:53:39.554363 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.554658 < "USER anonymous" 14:53:39.554702 > "331 We are happy you popped in![CR][LF]" 14:53:39.554891 < "PASS ftp@example.com" 14:53:39.554920 > "230 Welcome you silly person[CR][LF]" 14:53:39.555088 < "PWD" 14:53:39.555117 > "257 "/" is current directory[CR][LF]" 14:53:39.555283 < "EPSV" 14:53:39.555307 ====> Passive DATA channel requested by client 14:53:39.555320 DATA sockfilt for passive data channel starting... 14:53:39.556876 DATA sockfilt for passive data channel started (pid 108473) 14:53:39.556988 DATA sockfilt for passive data channel listens on port 39617 14:53:39.557022 > "229 Entering Passive Mode (|||39617|)[LF]" 14:53:39.557037 Client has been notified that DATA conn will be accepted on port 39617 14:53:39.557239 Client connects to port 39617 14:53:39.557263 ====> Client established passive DATA connection on port 39617 14:53:39.557330 < "TYPE I" 14:53:39.557355 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.557479 < "SIZE verifiedserver" 14:53:39.557508 > "213 17[CR][LF]" 14:53:39.557624 < "RETR verifiedserver" 14:53:39.557650 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.557713 =====> Closing passive DATA connection... 14:53:39.557724 Server disconnects passive DATA connection 14:53:39.557904 Server disconnected passive DATA connection 14:53:39.557927 DATA sockfilt for passive data channel quits (pid 108473) 14:53:39.558096 DATA sockfilt for passive data channel quit (pid 108473) 14:53:39.558114 =====> Closed passive DATA connection 14:53:39.558136 > "226 File transfer complete[CR][LF]" 14:53:39.603818 < "QUIT" 14:53:39.603864 > "221 bye bye baby[CR][LF]" 14:53:39.604581 MAIN sockfilt said DISC 14:53:39.604619 ====> Client disconnected 14:53:39.604681 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.636943 ====> Client connect 14:53:39.637194 Received DATA (on stdin) 14:53:39.637212 > 160 bytes data, server => client 14:53:39.637226 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.637238 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41069/596 log/18/ip596 activeftp > log/18/stdout596 2> log/18/stderr596 cannot find sshd :39.637250 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.637326 < 16 bytes data, client => server 14:53:39.637340 'USER anonymous\r\n' 14:53:39.637522 Received DATA (on stdin) 14:53:39.637537 > 33 bytes data, server => client 14:53:39.637550 '331 We are happy you popped in!\r\n' 14:53:39.637605 < 22 bytes data, client => server 14:53:39.637618 'PASS ftp@example.com\r\n' 14:53:39.637738 Received DATA (on stdin) 14:53:39.637753 > 30 bytes data, server => client 14:53:39.637768 '230 Welcome you silly person\r\n' 14:53:39.637817 < 5 bytes data, client => server 14:53:39.637829 'PWD\r\n' 14:53:39.637932 Received DATA (on stdin) 14:53:39.637945 > 30 bytes data, server => client 14:53:39.637957 '257 "/" is current directory\r\n' 14:53:39.638014 < 6 bytes data, client => server 14:53:39.638027 'EPSV\r\n' 14:53:39.639859 Received DATA (on stdin) 14:53:39.639874 > 38 bytes data, server => client 14:53:39.639883 '229 Entering Passive Mode (|||39617|)\n' 14:53:39.640008 < 8 bytes data, client => server 14:53:39.640018 'TYPE I\r\n' 14:53:39.640169 Received DATA (on stdin) 14:53:39.640178 > 33 bytes data, server => client 14:53:39.640187 '200 I modify TYPE as you wanted\r\n' 14:53:39.640226 < 21 bytes data, client => server 14:53:39.640236 'SIZE verifiedserver\r\n' 14:53:39.640319 Received DATA (on stdin) 14:53:39.640328 > 8 bytes data, server => client 14:53:39.640337 '213 17\r\n' 14:53:39.640373 < 21 bytes data, client => server 14:53:39.640382 'RETR verifiedserver\r\n' 14:53:39.640605 Received DATA (on stdin) 14:53:39.640615 > 29 bytes data, server => client 14:53:39.640624 '150 Binary junk (17 bytes).\r\n' 14:53:39.640948 Received DATA (on stdin) 14:53:39.640959 > 28 bytes data, server => client 14:53:39.640969 '226 File transfer complete\r\n' 14:53:39.686492 < 6 bytes data, client => server 14:53:39.686513 'QUIT\r\n' 14:53:39.686680 Received DATA (on stdin) 14:53:39.686692 > 18 bytes data, server => client 14:53:39.686701 '221 bye bye baby\r\n' 14:53:39.687340 ====> Client disconnect 14:53:39.687439 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.639531 Running IPv4 version 14:53:39.639573 Listening on port 39617 14:53:39.639606 Wrote pid 108473 to log/21/server/ftp_sockdata.pid 14:53:39.639622 Received PING (on stdin) 14:53:39.639723 Received PORT (on stdin) 14:53:39.639985 ====> Client connect 14:53:39.640537 Received DATA (on stdin) 14:53:39.640548 > 17 bytes data, server => client 14:53:39.640557 'WE ROOLZ: 80269\r\n' 14:53:39.640577 Received DISC (on stdin) 14:53:39.640587 ====> Client forcibly disconnected 14:53:39.640750 Received QUIT (on stdin) 14:53:39.640760 quits 14:53:39.640798 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 REPLY EPRT 500 we don't like EPRT now Testnum 593 === End of file server.cmd === Start of file stderr593 URL: ftp://127.0.0.1:43281/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==108563== ==108563== Process terminating with default action of signal 4 (SIGILL) ==108563== Illegal opcode at address 0x51D42F3 ==108563== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108563== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108563== by 0x51D42F3: Curl_open (url.c:551) ==108563== by 0x514CA2F: curl_easy_init (easy.c:372) ==108563== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108563== by 0x400347F: main (first.c:281) ==108563== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==108563== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108563== by 0x51D4243: Curl_open (url.c:530) ==108563== by 0x514CA2F: curl_easy_init (easy.c:372) ==108563== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108563== by 0x400347F: main (first.c:281) ==108563== === End of file valgrind593 test 0596...[verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41069/596 log/18/ip596 activeftp > log/18/stdout596 2> log/18/stderr596 596: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41069/596 log/18/ip596 activeftp > log/18/stdout596 2> log/18/stderr596 === End of file commands.log === Start of file ftp_server.log 14:53:39.573632 ====> Client connect 14:53:39.573755 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.573994 < "USER anonymous" 14:53:39.574033 > "331 We are happy you popped in![CR][LF]" 14:53:39.574204 < "PASS ftp@example.com" 14:53:39.574227 > "230 Welcome you silly person[CR][LF]" 14:53:39.574367 < "PWD" 14:53:39.574396 > "257 "/" is current directory[CR][LF]" 14:53:39.574545 < "EPSV" 14:53:39.574568 ====> Passive DATA channel requested by client 14:53:39.574581 DATA sockfilt for passive data channel starting... 14:53:39.575900 DATA sockfilt for passive data channel started (pid 108494) 14:53:39.575987 DATA sockfilt for passive data channel listens on port 42021 14:53:39.576017 > "229 Entering Passive Mode (|||42021|)[LF]" 14:53:39.576031 Client has been notified that DATA conn will be accepted on port 42021 14:53:39.576203 Client connects to port 42021 14:53:39.576226 ====> Client established passive DATA connection on port 42021 14:53:39.576280 < "TYPE I" 14:53:39.576300 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.576421 < "SIZE verifiedserver" 14:53:39.576446 > "213 17[CR][LF]" 14:53:39.576557 < "RETR verifiedserver" 14:53:39.576586 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.576643 =====> Closing passive DATA connection... 14:53:39.576655 Server disconnects passive DATA connection 14:53:39.576811 Server disconnected passive DATA connection 14:53:39.576834 DATA sockfilt for passive data channel quits (pid 108494) 14:53:39.577027 DATA sockfilt for passive data channel quit (pid 108494) 14:53:39.577049 =====> Closed passive DATA connection 14:53:39.577070 > "226 File transfer complete[CR][LF]" 14:53:39.620631 < "QUIT" 14:53:39.620689 > "221 bye bye baby[CR][LF]" 14:53:39.621169 MAIN sockfilt said DISC 14:53:39.621199 ====> Client disconnected 14:53:39.621279 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.656352 ====> Client connect 14:53:39.656575 Received DATA (on stdin) 14:53:39.656588 > 160 bytes data, server => client 14:53:39.656598 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.656606 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.656615 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.656677 < 16 bytes data, client => server 14:53:39.656690 'USER anonymous\r\n' 14:53:39.656853 Received DATA (on stdin) 14:53:39.656867 > 33 bytes data, server => client 14:53:39.656879 '331 We are happy you popped in!\r\n' 14:53:39.656934 < 22 bytes data, client => server 14:53:39.656946 'PASS ftp@example.com\r\n' 14:53:39.657041 Received DATA (on stdin) 14:53:39.657053 > 30 bytes data, server => client 14:53:39.657064 '230 Welcome you silly person\r\n' 14:53:39.657108 < 5 bytes data, client => server 14:53:39.657119 'PWD\r\n' 14:53:39.657209 Received DATA (on stdin) 14:53:39.657220 > 30 bytes data, server => client 14:53:39.657231 '257 "/" is current directory\r\n' 14:53:39.657285 < 6 bytes data, client => server 14:53:39.6572CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:34345/598 > log/9/stdout598 2> log/9/stderr598 cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:45969/path/592 8 log/22/upload592 > log/22/stdout592 2> log/22/stderr592 97 'EPSV\r\n' 14:53:39.658846 Received DATA (on stdin) 14:53:39.658857 > 38 bytes data, server => client 14:53:39.658866 '229 Entering Passive Mode (|||42021|)\n' 14:53:39.658972 < 8 bytes data, client => server 14:53:39.658982 'TYPE I\r\n' 14:53:39.659113 Received DATA (on stdin) 14:53:39.659123 > 33 bytes data, server => client 14:53:39.659132 '200 I modify TYPE as you wanted\r\n' 14:53:39.659169 < 21 bytes data, client => server 14:53:39.659179 'SIZE verifiedserver\r\n' 14:53:39.659257 Received DATA (on stdin) 14:53:39.659266 > 8 bytes data, server => client 14:53:39.659274 '213 17\r\n' 14:53:39.659309 < 21 bytes data, client => server 14:53:39.659318 'RETR verifiedserver\r\n' 14:53:39.659509 Received DATA (on stdin) 14:53:39.659519 > 29 bytes data, server => client 14:53:39.659528 '150 Binary junk (17 bytes).\r\n' 14:53:39.659883 Received DATA (on stdin) 14:53:39.659895 > 28 bytes data, server => client 14:53:39.659904 '226 File transfer complete\r\n' 14:53:39.703246 < 6 bytes data, client => server 14:53:39.703272 'QUIT\r\n' 14:53:39.703512 Received DATA (on stdin) 14:53:39.703527 > 18 bytes data, server => client 14:53:39.703539 '221 bye bye baby\r\n' 14:53:39.703934 ====> Client disconnect 14:53:39.704040 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.658580 Running IPv4 version 14:53:39.658625 Listening on port 42021 14:53:39.658651 Wrote pid 108494 to log/18/server/ftp_sockdata.pid 14:53:39.658667 Received PING (on stdin) 14:53:39.658734 Received PORT (on stdin) 14:53:39.658951 ====> Client connect 14:53:39.659407 Received DATA (on stdin) 14:53:39.659426 > 17 bytes data, server => client 14:53:39.659437 'WE ROOLZ: 80342\r\n' 14:53:39.659471 Received DISC (on stdin) 14:53:39.659484 ====> Client forcibly disconnected 14:53:39.659654 Received QUIT (on stdin) 14:53:39.659674 quits 14:53:39.659717 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file stderr596 URL: ftp://127.0.0.1:41069/596 === End of file stderr596 === Start of file valgrind596 ==108684== ==108684== Process terminating with default action of signal 4 (SIGILL) ==108684== Illegal opcode at address 0x51D42F3 ==108684== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108684== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108684== by 0x51D42F3: Curl_open (url.c:551) ==108684== by 0x514CA2F: curl_easy_init (easy.c:372) ==108684== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==108684== by 0x400347F: main (first.c:281) ==108684== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108684== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108684== by 0x51D4243: Curl_open (url.c:530) ==108684== by 0x514CA2F: curl_easy_init (easy.c:372) ==108684== by 0x40090A1: test_lib500.lto_priv.0 (lib500.c:66) ==108684== by 0x400347F: main (first.c:281) ==108684== === End of file valgrind596 test 0598...[curl_easy_reset with referer and other strings set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:34345/598 > log/9/stdout598 2> log/9/stderr598 598: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:34345/598 > log/9/stdout598 2> log/9/stderr598 === End of file commands.log === Start of file http_server.log 14:53:39.692211 ====> Client connect 14:53:39.692245 accept_connection 3 returned 4 14:53:39.692264 accept_connection 3 returned 0 14:53:39.692282 Read 93 bytes 14:53:39.692294 Process 93 bytes request 14:53:39.692309 Got request: GET /verifiedserver HTTP/1.1 14:53:39.692320 Are-we-friendly question received 14:53:39.692351 Wrote request (93 bytes) input to log/9/server.input 14:53:39.692370 Identifying ourselves as friends 14:53:39.692429 Response sent (56 bytes) and written to log/9/server.response 14:53:39.692442 special request received, no persistency 14:53:39.692453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 37402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:34345/598 === End of file stderr598 === Start of file valgrind598 ==108616== ==108616== Process terminating with default action of signal 4 (SIGILL) ==108616== Illegal opcode at address 0x51D42F3 ==108616== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108616== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108616== by 0x51D42F3: Curl_open (url.c:551) ==108616== by 0x514CA2F: curl_easy_init (easy.c:372) ==108616== by 0x402284C: test_lib598.lto_priv.0 (lib598.c:38) ==108616== by 0x400347F: main (first.c:281) ==108616== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108616== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108616== by 0x51D4243: Curl_open (url.c:530) ==108616== by 0x514CA2F: curl_easy_init (easy.c:372) ==108616== by 0x402284C: test_lib598.lto_priv.0 (lib598.c:38) ==108616== by 0x400347F: main (first.c:281) ==108616== === End of file valgrind598 test 0592...[FTP multi PORT and 421 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:45969/path/592 8 log/22/upload592 > log/22/stdout592 2> log/22/stderr592 592: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:45969/path/592 8 log/22/upload592 > log/22/stdout592 2> log/22/stderr592 === End of file commands.log === Start of file ftp_server.log 14:53:39.547617 ====> Client connect 14:53:39.547799 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:39.548136 < "USER anonymous" 14:53:39.548183 > "331 We are happy you popped in![CR][LF]" 14:53:39.548385 < "PASS ftp@example.com" 14:53:39.548416 > "230 Welcome you silly person[CR][LF]" 14:53:39.548593 < "PWD" 14:53:39.548625 > "257 "/" is current directory[CR][LF]" 14:53:39.548807 < "EPSV" 14:53:39.548833 ====> Passive DATA channel requested by client 14:53:39.548848 DATA sockfilt for passive data channel starting... 14:53:39.550765 DATA sockfilt for passive data channel started (pid 108461) 14:53:39.550899 DATA sockfilt for passive data channel listens on port 36035 14:53:39.550949 > "229 Entering Passive Mode (|||CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:39793/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 36035|)[LF]" 14:53:39.550971 Client has been notified that DATA conn will be accepted on port 36035 14:53:39.551266 Client connects to port 36035 14:53:39.551295 ====> Client established passive DATA connection on port 36035 14:53:39.551384 < "TYPE I" 14:53:39.551418 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:39.551579 < "SIZE verifiedserver" 14:53:39.551613 > "213 17[CR][LF]" 14:53:39.552117 < "RETR verifiedserver" 14:53:39.552190 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:39.552264 =====> Closing passive DATA connection... 14:53:39.552277 Server disconnects passive DATA connection 14:53:39.552526 Server disconnected passive DATA connection 14:53:39.552551 DATA sockfilt for passive data channel quits (pid 108461) 14:53:39.552783 DATA sockfilt for passive data channel quit (pid 108461) 14:53:39.552804 =====> Closed passive DATA connection 14:53:39.552829 > "226 File transfer complete[CR][LF]" 14:53:39.593798 < "QUIT" 14:53:39.593853 > "221 bye bye baby[CR][LF]" 14:53:39.594779 MAIN sockfilt said DISC 14:53:39.594821 ====> Client disconnected 14:53:39.594886 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:39.630282 ====> Client connect 14:53:39.630637 Received DATA (on stdin) 14:53:39.630658 > 160 bytes data, server => client 14:53:39.630672 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:39.630684 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:39.630695 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:39.630787 < 16 bytes data, client => server 14:53:39.630803 'USER anonymous\r\n' 14:53:39.631006 Received DATA (on stdin) 14:53:39.631022 > 33 bytes data, server => client 14:53:39.631034 '331 We are happy you popped in!\r\n' 14:53:39.631094 < 22 bytes data, client => server 14:53:39.631108 'PASS ftp@example.com\r\n' 14:53:39.631235 Received DATA (on stdin) 14:53:39.631249 > 30 bytes data, server => client 14:53:39.631260 '230 Welcome you silly person\r\n' 14:53:39.631314 < 5 bytes data, client => server 14:53:39.631327 'PWD\r\n' 14:53:39.631443 Received DATA (on stdin) 14:53:39.631456 > 30 bytes data, server => client 14:53:39.631467 '257 "/" is current directory\r\n' 14:53:39.631528 < 6 bytes data, client => server 14:53:39.631541 'EPSV\r\n' 14:53:39.633798 Received DATA (on stdin) 14:53:39.633816 > 38 bytes data, server => client 14:53:39.633829 '229 Entering Passive Mode (|||36035|)\n' 14:53:39.634026 < 8 bytes data, client => server 14:53:39.634040 'TYPE I\r\n' 14:53:39.634237 Received DATA (on stdin) 14:53:39.634250 > 33 bytes data, server => client 14:53:39.634262 '200 I modify TYPE as you wanted\r\n' 14:53:39.634312 < 21 bytes data, client => server 14:53:39.634324 'SIZE verifiedserver\r\n' 14:53:39.634429 Received DATA (on stdin) 14:53:39.634441 > 8 bytes data, server => client 14:53:39.634452 '213 17\r\n' 14:53:39.634625 < 21 bytes data, client => server 14:53:39.634670 'RETR verifiedserver\r\n' 14:53:39.635209 Received DATA (on stdin) 14:53:39.635220 > 29 bytes data, server => client 14:53:39.635230 '150 Binary junk (17 bytes).\r\n' 14:53:39.635643 Received DATA (on stdin) 14:53:39.635655 > 28 bytes data, server => client 14:53:39.635664 '226 File transfer complete\r\n' 14:53:39.676485 < 6 bytes data, client => server 14:53:39.676537 'QUIT\r\n' 14:53:39.676678 Received DATA (on stdin) 14:53:39.676697 > 18 bytes data, server => client 14:53:39.676710 '221 bye bye baby\r\n' 14:53:39.677536 ====> Client disconnect 14:53:39.677706 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:39.633419 Running IPv4 version 14:53:39.633473 Listening on port 36035 14:53:39.633503 Wrote pid 108461 to log/22/server/ftp_sockdata.pid 14:53:39.633521 Received PING (on stdin) 14:53:39.633623 Received PORT (on stdin) 14:53:39.633994 ====> Client connect 14:53:39.635107 Received DATA (on stdin) 14:53:39.635122 > 17 bytes data, server => client 14:53:39.635131 'WE ROOLZ: 80268\r\n' 14:53:39.635167 Received DISC (on stdin) 14:53:39.635186 ====> Client forcibly disconnected 14:53:39.635371 Received QUIT (on stdin) 14:53:39.635382 quits 14:53:39.635434 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 REPLY EPRT 500 we don't like EPRT now Testnum 592 === End of file server.cmd === Start of file stderr592 URL: ftp://127.0.0.1:45969/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==108536== ==108536== Process terminating with default action of signal 4 (SIGILL) ==108536== Illegal opcode at address 0x51D42F3 ==108536== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108536== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108536== by 0x51D42F3: Curl_open (url.c:551) ==108536== by 0x514CA2F: curl_easy_init (easy.c:372) ==108536== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108536== by 0x400347F: main (first.c:281) ==108536== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==108536== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108536== by 0x51D4243: Curl_open (url.c:530) ==108536== by 0x514CA2F: curl_easy_init (easy.c:372) ==108536== by 0x4021CB1: test_lib591.lto_priv.0 (lib591.c:56) ==108536== by 0x400347F: main (first.c:281) ==108536== === End of file valgrind592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:43677/572 log/7/file572.txt > log/7/stdout572 2> log/7/stderr572 cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:39553/577 > log/23/stdout577 2> log/23/stderr577 test 0599...[HTTP GET with progress callback and redirects changing content sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:39793/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 599: data FAILED: --- log/4/check-expected 2025-09-11 14:53:40.502197459 +0000 +++ log/4/check-generated 2025-09-11 14:53:40.502197459 +0000 @@ -1,16 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Location: 5990001[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -this data is slightly larger than the first piece[LF] == Contents of files in the log/4/ dir after test 599 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Location: 5990001[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] this data is slightly larger than the first piece[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:39793/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 === End of file commands.log === Start of file http_server.log 14:53:39.723263 ====> Client connect 14:53:39.723297 accept_connection 3 returned 4 14:53:39.723317 accept_connection 3 returned 0 14:53:39.723333 Read 93 bytes 14:53:39.723344 Process 93 bytes request 14:53:39.723358 Got request: GET /verifiedserver HTTP/1.1 14:53:39.723368 Are-we-friendly question received 14:53:39.723392 Wrote request (93 bytes) input to log/4/server.input 14:53:39.723409 Identifying ourselves as friends 14:53:39.723468 Response sent (56 bytes) and written to log/4/server.response 14:53:39.723480 special request received, no persistency 14:53:39.723491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 599 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:39793/599 === End of file stderr599 === Start of file valgrind599 ==108878== ==108878== Process terminating with default action of signal 4 (SIGILL) ==108878== Illegal opcode at address 0x51D42F3 ==108878== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108878== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108878== by 0x51D42F3: Curl_open (url.c:551) ==108878== by 0x514CA2F: curl_easy_init (easy.c:372) ==108878== by 0x402185F: test_lib599.lto_priv.0 (lib599.c:55) ==108878== by 0x400347F: main (first.c:281) ==108878== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108878== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108878== by 0x51D4243: Curl_open (url.c:530) ==108878== by 0x514CA2F: curl_easy_init (easy.c:372) ==108878== by 0x402185F: test_lib599.lto_priv.0 (lib599.c:55) ==108878== by 0x400347F: main (first.c:281) ==108878== === End of file valgrind599 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/7/server/rtsp_server.pid" --portfile "log/7/server/rtsp_server.port" --logfile "log/7/rtsp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107166 port 43677 * pid rtsp => 107166 107166 test 0572...[RTSP GET_PARAMETER (Put/Heartbeat/Post)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:43677/572 log/7/file572.txt > log/7/stdout572 2> log/7/stderr572 572: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:43677/572 log/7/file572.txt > log/7/stdout572 2> log/7/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 14:53:38.704733 Running IPv4 version on port 43677 14:53:38.704850 Wrote pid 107166 to log/7/server/rtsp_server.pid 14:53:38.704884 Wrote port 43677 to log/7/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 572 === End of file server.cmd === Start of file stderr572 URL: rtsp://127.0.0.1:43677/572 === End of file stderr572 === Start of file valgrind572 ==108583== ==108583== Process terminating with default action of signal 4 (SIGILL) ==108583== Illegal opcode at address 0x51D42F3 ==108583== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==108583== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==108583== by 0x51D42F3: Curl_open (url.c:551) ==108583== by 0x514CA2F: curl_easy_init (easy.c:372) ==108583== by 0x401EC7E: test_lib572.lto_priv.0 (lib572.c:48) ==108583== by 0x400347F: main (first.c:281) ==108583== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==108583== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108583== by 0x51D4243: Curl_open (url.c:530) ==108583== by 0x514CA2F: curl_easy_init (easy.c:372) ==108583== by 0x401EC7E: test_lib572.lto_priv.0 (lib572.c:48) ==108583== by 0x400347F: main (first.c:281) ==108583== === End of file valgrind572 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/23/server/rtsp_server.pid" --portfile "log/23/server/rtsp_server.port" --logfile "log/23/rtsp_server.log" --logdir "log/23" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107326 port 39553 * pid rtsp => 107326 107326 test 0577...[Funny RTSP version in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:39553/577 > log/23/stdout577 2> log/23/stderr577 577: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:39553/577 > lcannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/stderr632 og/23/stdout577 2> log/23/stderr577 === End of file commands.log === Start of file rtsp_server.log 14:53:38.826264 Running IPv4 version on port 39553 14:53:38.826373 Wrote pid 107326 to log/23/server/rtsp_server.pid 14:53:38.826407 Wrote port 39553 to log/23/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 577 === End of file server.cmd === Start of file stderr577 URL: rtsp://127.0.0.1:39553/577 === End of file stderr577 === Start of file valgrind577 ==109040== ==109040== Process terminating with default action of signal 4 (SIGILL) ==109040== Illegal opcode at address 0x51D42F3 ==109040== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109040== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109040== by 0x51D42F3: Curl_open (url.c:551) ==109040== by 0x514CA2F: curl_easy_init (easy.c:372) ==109040== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==109040== by 0x400347F: main (first.c:281) ==109040== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109040== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109040== by 0x51D4243: Curl_open (url.c:530) ==109040== by 0x514CA2F: curl_easy_init (easy.c:372) ==109040== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==109040== by 0x400347F: main (first.c:281) ==109040== === End of file valgrind577 test 0587...[HTTP multi-part formpost with aborted read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:41533/587 > log/13/stdout587 2> log/13/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/13/ dir after test 587 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:41533/587 > log/13/stdout587 2> log/13/stderr587 === End of file commands.log === Start of file http_server.log 14:53:39.150691 ====> Client connect 14:53:39.150747 accept_connection 3 returned 4 14:53:39.150764 accept_connection 3 returned 0 14:53:39.150780 Read 93 bytes 14:53:39.150790 Process 93 bytes request 14:53:39.150808 Got request: GET /verifiedserver HTTP/1.1 14:53:39.150818 Are-we-friendly question received 14:53:39.150843 Wrote request (93 bytes) input to log/13/server.input 14:53:39.150859 Identifying ourselves as friends 14:53:39.150910 Response sent (56 bytes) and written to log/13/server.response 14:53:39.150921 special request received, no persistency 14:53:39.150930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 33690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 587 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:41533/587 === End of file stderr587 === Start of file valgrind587 ==107865== ==107865== Process terminating with default action of signal 4 (SIGILL) ==107865== Illegal opcode at address 0x51D42F3 ==107865== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==107865== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==107865== by 0x51D42F3: Curl_open (url.c:551) ==107865== by 0x514CA2F: curl_easy_init (easy.c:372) ==107865== by 0x4017CE8: t554_test_once (lib554.c:147) ==107865== by 0x4017F6B: test_lib554.lto_priv.0 (lib554.c:204) ==107865== by 0x400347F: main (first.c:281) ==107865== 5,408 bytes in 1 blocks are definitely lost in loss record 653 of 655 ==107865== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107865== by 0x51D4243: Curl_open (url.c:530) ==107865== by 0x514CA2F: curl_easy_init (easy.c:372) ==107865== by 0x4017CE8: t554_test_once (lib554.c:147) ==107865== by 0x4017F6B: test_lib554.lto_priv.0 (lib554.c:204) ==107865== by 0x400347F: main (first.c:281) ==107865== === End of file valgrind587 Hmmm, the tests are taking a while to finish. Here is the status: runtests.pl internal state: 24 busy test runner(s) of 24 Runner 1 (id 73984) running test 604 in state 3 Runner 2 (id 73985) running test 609 in state 3 Runner 3 (id 73986) running test 582 in state 3 Runner 4 (id 73987) running test 618 in state 3 Runner 5 (id 73988) running test 608 in state 3 Runner 6 (id 73989) running test 605 in state 3 Runner 7 (id 73990) running test 619 in state 3 Runner 8 (id 73991) running test 610 in state 3 Runner 9 (id 73992) running test 616 in state 3 Runner 10 (id 73993) running test 583 in state 3 Runner 11 (id 73994) running test 602 in state 3 Runner 12 (id 73995) running test 603 in state 3 Runner 13 (id 73996) running test 621 in state 3 Runner 14 (id 73997) running test 600 in state 3 Runner 15 (id 73998) running test 606 in state 3 Runner 16 (id 73999) running test 607 in state 3 Runner 17 (id 74000) running test 601 in state 3 Runner 18 (id 74001) running test 615 in state 3 Runner 19 (id 74002) running test 611 in state 3 Runner 20 (id 74003) running test 613 in state 3 Runner 21 (id 74004) running test 614 in state 3 Runner 22 (id 74005) running test 617 in state 3 Runner 23 (id 74006) running test 620 in state 3 Runner 24 (id 74007) running test 612 in state 3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/3/server/ssh_server.pid" --logdir "log/3" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42359 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42359 test 0582 SKIPPED: failed starting SSH server test 0622 SKIPPED: failed starting SSH server test 0623 SKIPPED: failed starting SSH server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/10/server/ssh_server.pid" --logdir "log/10" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34357 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34357 test 0632...[SFTP syntactically invalid host key] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/3/ dir after test 632 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==109177== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35893/643 > log/10/stdout643 2> log/10/stderr643 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46791/645 > log/3/stdout645 2> log/3/stderr645 ==109177== Process terminating with default action of signal 4 (SIGILL) ==109177== Illegal opcode at address 0x4014B6F ==109177== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==109177== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==109177== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==109177== by 0x4004266: main (tool_main.c:199) === End of file valgrind632 test 0643...[HTTP multi-part mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35893/643 > log/10/stdout643 2> log/10/stderr643 643: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35893/643 > log/10/stdout643 2> log/10/stderr643 === End of file commands.log === Start of file http_server.log 14:53:54.880081 ====> Client connect 14:53:54.880102 accept_connection 3 returned 4 14:53:54.880113 accept_connection 3 returned 0 14:53:54.880123 Read 93 bytes 14:53:54.880131 Process 93 bytes request 14:53:54.880141 Got request: GET /verifiedserver HTTP/1.1 14:53:54.880147 Are-we-friendly question received 14:53:54.880162 Wrote request (93 bytes) input to log/10/server.input 14:53:54.880173 Identifying ourselves as friends 14:53:54.880209 Response sent (56 bytes) and written to log/10/server.response 14:53:54.880216 special request received, no persistency 14:53:54.880223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 38240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:35893/643 === End of file stderr643 === Start of file valgrind643 ==109242== ==109242== Process terminating with default action of signal 4 (SIGILL) ==109242== Illegal opcode at address 0x51D42F3 ==109242== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109242== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109242== by 0x51D42F3: Curl_open (url.c:551) ==109242== by 0x514CA2F: curl_easy_init (easy.c:372) ==109242== by 0x4022A93: t643_test_once (lib643.c:77) ==109242== by 0x4022F57: test_lib643.lto_priv.0 (lib643.c:259) ==109242== by 0x400347F: main (first.c:281) ==109242== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109242== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109242== by 0x51D4243: Curl_open (url.c:530) ==109242== by 0x514CA2F: curl_easy_init (easy.c:372) ==109242== by 0x4022A93: t643_test_once (lib643.c:77) ==109242== by 0x4022F57: test_lib643.lto_priv.0 (lib643.c:259) ==109242== by 0x400347F: main (first.c:281) ==109242== === End of file valgrind643 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/14/server/ssh_server.pid" --logdir "log/14" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35901 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35901 test 0645...[HTTP multi-part chunked mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46791/645 > log/3/stdout645 2> log/3/stderr645 645: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 645 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46791/645 > log/3/stdout645 2> log/3/stderr645 === End of file commands.log === Start of file http_server.log 14:53:55.486265 ====> Client connect 14:53:55.486287 accept_connection 3 returned 4 14:53:55.486299 accept_connection 3 returned 0 14:53:55.486309 Read 93 bytes 14:53:55.486316 Process 93 bytes request 14:53:55.486334 Got request: GET /verifiedserver HTTP/1.1 14:53:55.486343 Are-we-friendly question received 14:53:55.486359 Wrote request (93 bytes) input to log/3/server.input 14:53:55.486370 Identifying ourselves as friends 14:53:55.486406 Response sent (56 bytes) and written to log/3/server.response 14:53:55.486414 special request received, no persistency 14:53:55.486420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 645 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:46791/645 === End of file stderr645 === Start of file valgrind645 ==109314== ==109314== Process terminating with default action of signal 4 (SIGILL) ==109314== Illegal opcode at address 0x51D42F3 ==109314== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109314== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109314== by 0x51D42F3: Curl_open (url.c:551) ==109314== by 0x514CA2F: curl_easy_init (easy.c:372) ==109314== by 0x4022A93: t643_test_once (lib643.c:77) ==109314== by 0x4022F57: test_lib643.lto_priv.0 (lib643.c:259) ==109314== by 0x400347F: main (first.c:281) ==109314== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109314== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109314== by 0x51D4243: Curl_open (url.c:530) ==109314== by 0x514CA2F: curl_easy_init (easy.c:372) ==109314== by 0x4022A93: t643_test_once (lib643.c:77) ==109314== by 0x4022F57: test_lib643.lto_priv.0 (lib643.c:259) ==109314== by 0x400347F: main (first.c:281) ==109314== === End of file valgrind645 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/17/server/ssh_server.pid" --logdir "log/17" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 41451 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41451 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/11/server/ssh_server.pid" --logdir "log/11" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 45267 startnew: child process has died, server might start up RUN: Process with pid 106990 signalled to die RUN: Process with pid 106990 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:43359/651 log/12/test651.filedata log/12/stdout651 2> log/12/stderr651 RUN: failed to start the SSH server on 45267 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/12/server/ssh_server.pid" --logdir "log/12" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33149 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33149 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/1/server/ssh_server.pid" --logdir "log/1" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 37939 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37939 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/6/server/ssh_server.pid" --logdir "log/6" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 39483 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39483 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/15/server/ssh_server.pid" --logdir "log/15" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 39557 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39557 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/5/server/ssh_server.pid" --logdir "log/5" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34451 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34451 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/16/server/ssh_server.pid" --logdir "log/16" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 37701 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37701 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/2/server/ssh_server.pid" --logdir "log/2" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40483 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40483 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/8/server/ssh_server.pid" --logdir "log/8" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 37717 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37717 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/19/server/ssh_server.pid" --logdir "log/19" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40301 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40301 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/24/server/ssh_server.pid" --logdir "log/24" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 37205 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37205 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/21/server/ssh_server.pid" --logdir "log/21" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40899 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40899 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/20/server/ssh_server.pid" --logdir "log/20" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42621 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42621 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/18/server/ssh_server.pid" --logdir "log/18" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38209 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38209 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/9/server/ssh_server.pid" --logdir "log/9" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42605 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42605 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/22/server/ssh_server.pid" --logdir "log/22" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 37559 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37559 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/4/server/ssh_server.pid" --logdir "log/4" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34339 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34339 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/7/server/ssh_server.pid" --logdir "log/7" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 46859 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46859 test 0651...[curl_formadd with huge COPYCONTENTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:43359/651 log/12/test651.filedata log/12/stdout651 2> log/12/stderr651 651: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:43359/651 log/12/test651.filedata log/12/stdout651 2> log/12/stderr651 === End of file commands.log === Start of file http_server.log 14:53:56.174152 ====> Client connect 14:53:56.174172 accept_connection 3 returned 4 14:53:56.174183 accept_connection 3 returned 0 14:53:56.174193 Read 93 bytes 14:53:56.174200 Process 93 bytes request 14:53:56.174207 Got request: GET /verifiedserver HTTP/1.1 14:53:56.174214 Are-we-friendly question received 14:53:56.174253 Wrote request (93 bytes) input to log/12/server.input 14:53:56.174264 Identifying ourselves as friends 14:53:56.174299 Response sent (56 bytes) and written to log/12/server.response 14:53:56.174306 special request received, no persistency 14:53:56.174312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 651 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:43359/651 === End of file stderr651 === Start of file stdin-for-651 Some data from stdin === End of file stdin-for-651 === Start of file test651.filedata This is data from a file. === End of file test651.filedata === Start of file valgrindCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:33503/650 log/11/test650.filedata log/11/stdout650 2> log/11/stderr650 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:38791/653 > log/6/stdout653 2> log/6/stderr653 651 ==109400== ==109400== Process terminating with default action of signal 4 (SIGILL) ==109400== Illegal opcode at address 0x4024110 ==109400== at 0x4024110: UnknownInlinedFun (string_fortified.h:59) ==109400== by 0x4024110: test_lib651.lto_priv.0 (lib651.c:43) ==109400== by 0x400347F: main (first.c:281) === End of file valgrind651 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/23/server/ssh_server.pid" --logdir "log/23" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 41071 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41071 test 0650...[HTTP formpost using form API - with redirect and re-POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:33503/650 log/11/test650.filedata log/11/stdout650 2> log/11/stderr650 650: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:33503/650 log/11/test650.filedata log/11/stdout650 2> log/11/stderr650 === End of file commands.log === Start of file http_server.log 14:53:56.171823 ====> Client connect 14:53:56.171844 accept_connection 3 returned 4 14:53:56.171855 accept_connection 3 returned 0 14:53:56.171866 Read 93 bytes 14:53:56.171874 Process 93 bytes request 14:53:56.171884 Got request: GET /verifiedserver HTTP/1.1 14:53:56.171891 Are-we-friendly question received 14:53:56.171906 Wrote request (93 bytes) input to log/11/server.input 14:53:56.171917 Identifying ourselves as friends 14:53:56.171951 Response sent (56 bytes) and written to log/11/server.response 14:53:56.171958 special request received, no persistency 14:53:56.171965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 650 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:33503/650 === End of file stderr650 === Start of file stdin-for-650 Some data from stdin === End of file stdin-for-650 === Start of file test650.filedata This is data from a file. === End of file test650.filedata === Start of file valgrind650 ==109412== ==109412== Process terminating with default action of signal 4 (SIGILL) ==109412== Illegal opcode at address 0x5188815 ==109412== at 0x5188815: UnknownInlinedFun (string_fortified.h:59) ==109412== by 0x5188815: curl_mime_init (mime.c:1291) ==109412== by 0x5156988: Curl_getformdata.part.0 (formdata.c:813) ==109412== by 0x5156E69: UnknownInlinedFun (formdata.c:810) ==109412== by 0x5156E69: curl_formget (formdata.c:703) ==109412== by 0x4023DBE: test_lib650.lto_priv.0 (lib650.c:146) ==109412== by 0x400347F: main (first.c:281) ==109412== 96 bytes in 1 blocks are definitely lost in loss record 591 of 659 ==109412== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==109412== by 0x51887EF: curl_mime_init (mime.c:1284) ==109412== by 0x5156988: Curl_getformdata.part.0 (formdata.c:813) ==109412== by 0x5156E69: UnknownInlinedFun (formdata.c:810) ==109412== by 0x5156E69: curl_formget (formdata.c:703) ==109412== by 0x4023DBE: test_lib650.lto_priv.0 (lib650.c:146) ==109412== by 0x400347F: main (first.c:281) ==109412== === End of file valgrind650 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/13/server/ssh_server.pid" --logdir "log/13" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40273 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40273 test 0653...[Reuse of handle after altering mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:38791/653 > log/6/stdout653 2> log/6/stderr653 653: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:38791/653 > log/6/stdout653 2> log/6/stderr653 === End of file commands.log === Start of file http_server.log 14:53:56.371013 ====> Client connect 14:53:56.371033 accept_connection 3 returned 4 14:53:56.371044 accept_connection 3 returned 0 14:53:56.371055 Read 93 bytes 14:53:56.371063 Process 93 bytes request 14:53:56.371072 Got request: GET /verifiedserver HTTP/1.1 14:53:56.371079 Are-we-friendly question received 14:53:56.371095 Wrote request (93 bytes) input to log/6/server.input 14:53:56.371107 Identifying ourselves as friends 14:53:56.371142 Response sent (56 bytes) and written to log/6/server.response 14:53:56.371149 special request received, no persistency 14:53:56.371156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 653 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:38791/653 === End of file stderr653 === Start of file valgrind653 ==109519== ==109519== Process terminating with default action of signal 4 (SIGILL) ==109519== Illegal opcode at address 0x51D42F3 ==109519== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109519== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109519== by 0x51D42F3: Curl_open (url.c:551) ==109519== by 0x514CA2F: curl_easy_init (easy.c:372) ==109519== by 0x40213B0: UnknownInlinedFun (lib653.c:36) ==109519== by 0x40213B0: test_lib653.lto_priv.0 (lib653.c:28) ==109519== by 0x400347F: main (first.c:281) ==109519== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109519== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109519== by 0x51D4243: Curl_open (url.c:530) ==109519== by 0x514CA2F: curl_easy_init (easy.c:372) ==109519== by 0x40213B0: UnknownInlinedFun (lib653.c:36) ==109519== by 0x40213B0: test_lib653.lto_priv.0 (lib653.c:28) ==109519== by 0x400347F: main (first.c:281) ==109519== === End of file vaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind646 ../src/curl -q --output log/10/curl646.out --include --trace-ascii log/10/trace646 --trace-time smtp://127.0.0.1:36285/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/10/headers646" -F "=)" -F "=@log/10/test646.txt;headers=" log/10/stdout646 2> log/10/stderr646 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:42107/654 log/15/file654.txt > log/15/stdout654 2> log/15/stderr654 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:34475/655 > log/16/stdout655 2> log/16/stderr655 lgrind653 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/smtp_server.pid" --logfile "log/10/smtp_server.log" --logdir "log/10" --portfile "log/10/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36285 (log/10/server/smtp_server.port) RUN: SMTP server is PID 109299 port 36285 * pid smtp => 109299 109299 test 0646...[SMTP multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind646 ../src/curl -q --output log/10/curl646.out --include --trace-ascii log/10/trace646 --trace-time smtp://127.0.0.1:36285/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/10/headers646" -F "=)" -F "=@log/10/test646.txt;headers=" log/10/stdout646 2> log/10/stderr646 646: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind646 ../src/curl -q --output log/10/curl646.out --include --trace-ascii log/10/trace646 --trace-time smtp://127.0.0.1:36285/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/10/headers646" -F "=)" -F "=@log/10/test646.txt;headers=" log/10/stdout646 2> log/10/stderr646 === End of file commands.log === Start of file headers646 # This line is a comment X-fileheader1: This is a header from a file # This line is another comment. It precedes a folded header. X-fileheader2: This is #a folded header === End of file headers646 === Start of file server.cmd Testnum 646 === End of file server.cmd === Start of file smtp_server.log 14:53:55.416649 SMTP server listens on port IPv4/36285 14:53:55.416708 logged pid 109299 in log/10/server/smtp_server.pid 14:53:55.416726 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:53:55.499234 Running IPv4 version 14:53:55.499280 Listening on port 36285 14:53:55.499305 Wrote pid 109312 to log/10/server/smtp_sockfilt.pid 14:53:55.499324 Wrote port 36285 to log/10/server/smtp_server.port 14:53:55.499384 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-646 From: different To: another body === End of file stdin-for-646 === Start of file test646.txt This is an attached file. It may contain any type of data. === End of file test646.txt === Start of file valgrind646 ==109567== ==109567== Process terminating with default action of signal 4 (SIGILL) ==109567== Illegal opcode at address 0x4014B6F ==109567== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==109567== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==109567== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==109567== by 0x4004266: main (tool_main.c:199) === End of file valgrind646 test 0654...[HTTP duplicate easy handle with mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:42107/654 log/15/file654.txt > log/15/stdout654 2> log/15/stderr654 654: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 654 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:42107/654 log/15/file654.txt > log/15/stdout654 2> log/15/stderr654 === End of file commands.log === Start of file file654.txt This is data from a file === End of file file654.txt === Start of file http_server.log 14:53:56.538317 ====> Client connect 14:53:56.538359 accept_connection 3 returned 4 14:53:56.538378 accept_connection 3 returned 0 14:53:56.538390 Read 93 bytes 14:53:56.538398 Process 93 bytes request 14:53:56.538407 Got request: GET /verifiedserver HTTP/1.1 14:53:56.538414 Are-we-friendly question received 14:53:56.538440 Wrote request (93 bytes) input to log/15/server.input 14:53:56.538452 Identifying ourselves as friends 14:53:56.538490 Response sent (56 bytes) and written to log/15/server.response 14:53:56.538498 special request received, no persistency 14:53:56.538505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 47400 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 654 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:42107/654 === End of file stderr654 === Start of file valgrind654 ==109688== ==109688== Process terminating with default action of signal 4 (SIGILL) ==109688== Illegal opcode at address 0x51D42F3 ==109688== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109688== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109688== by 0x51D42F3: Curl_open (url.c:551) ==109688== by 0x514CA2F: curl_easy_init (easy.c:372) ==109688== by 0x40255BB: test_lib654.lto_priv.0 (lib654.c:84) ==109688== by 0x400347F: main (first.c:281) ==109688== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109688== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109688== by 0x51D4243: Curl_open (url.c:530) ==109688== by 0x514CA2F: curl_easy_init (easy.c:372) ==109688== by 0x40255BB: test_lib654.lto_priv.0 (lib654.c:84) ==109688== by 0x400347F: main (first.c:281) ==109688== === End of file valgrind654 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43359/671 > log/12/stdout671 2> log/12/stderr671 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:38851/673 > log/23/stdout673 2> log/23/stderr673 test 0655...[resolver start callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:34475/655 > log/16/stdout655 2> log/16/stderr655 655: data FAILED: --- log/16/check-expected 2025-09-11 14:53:57.342197702 +0000 +++ log/16/check-generated 2025-09-11 14:53:57.342197702 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/16/ dir after test 655 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:34475/655 > log/16/stdout655 2> log/16/stderr655 === End of file commands.log === Start of file http_server.log 14:53:56.541657 ====> Client connect 14:53:56.541682 accept_connection 3 returned 4 14:53:56.541695 accept_connection 3 returned 0 14:53:56.541706 Read 93 bytes 14:53:56.541713 Process 93 bytes request 14:53:56.541722 Got request: GET /verifiedserver HTTP/1.1 14:53:56.541729 Are-we-friendly question received 14:53:56.541744 Wrote request (93 bytes) input to log/16/server.input 14:53:56.541756 Identifying ourselves as friends 14:53:56.541798 Response sent (56 bytes) and written to log/16/server.response 14:53:56.541806 special request received, no persistency 14:53:56.541813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 58790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 655 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr655 URL: http://failthis/655 === End of file stderr655 === Start of file valgrind655 ==109681== ==109681== Process terminating with default action of signal 4 (SIGILL) ==109681== Illegal opcode at address 0x51D42F3 ==109681== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109681== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109681== by 0x51D42F3: Curl_open (url.c:551) ==109681== by 0x514CA2F: curl_easy_init (easy.c:372) ==109681== by 0x4020A26: test_lib655.lto_priv.0 (lib655.c:70) ==109681== by 0x400347F: main (first.c:281) ==109681== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109681== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109681== by 0x51D4243: Curl_open (url.c:530) ==109681== by 0x514CA2F: curl_easy_init (easy.c:372) ==109681== by 0x4020A26: test_lib655.lto_priv.0 (lib655.c:70) ==109681== by 0x400347F: main (first.c:281) ==109681== === End of file valgrind655 test 0671...[Request pause from mime read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43359/671 > log/12/stdout671 2> log/12/stderr671 671: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 671 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43359/671 > log/12/stdout671 2> log/12/stderr671 === End of file commands.log === Start of file http_server.log 14:53:56.626374 ====> Client connect 14:53:56.626405 accept_connection 3 returned 4 14:53:56.626422 accept_connection 3 returned 0 14:53:56.626438 Read 93 bytes 14:53:56.626449 Process 93 bytes request 14:53:56.626462 Got request: GET /verifiedserver HTTP/1.1 14:53:56.626471 Are-we-friendly question received 14:53:56.626493 Wrote request (93 bytes) input to log/12/server.input 14:53:56.626509 Identifying ourselves as friends 14:53:56.626549 Response sent (56 bytes) and written to log/12/server.response 14:53:56.626559 special request received, no persistency 14:53:56.626569 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:43359/671 === End of file stderr671 === Start of file valgrind671 ==110279== ==110279== Process terminating with default action of signal 4 (SIGILL) ==110279== Illegal opcode at address 0x51D42F3 ==110279== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110279== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110279== by 0x51D42F3: Curl_open (url.c:551) ==110279== by 0x514CA2F: curl_easy_init (easy.c:372) ==110279== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110279== by 0x400347F: main (first.c:281) ==110279== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110279== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110279== by 0x51D4243: Curl_open (url.c:530) ==110279== by 0x514CA2F: curl_easy_init (easy.c:372) ==110279== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110279== by 0x400347F: main (first.c:281) ==110279== === End of file valgrind671 test 0673...[Request pause from form read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:38851/673 > log/23/stdout673 2> log/23/stderr673 673: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:38851/673 > log/23/stdout673 2> log/23/stderr673 === End of file commands.log === Start of file http_server.log 14:53:56.630982 ====> Client connect 14:53:56.631016 accept_connection 3 returned 4 14:53:56.631034 accept_connection 3 returned 0 14:53:56.631049 Read 93 bytes 14:53:56.631060 Process 93 bytes request 14:53:56.631072 Got request: GET /verifiedserver HTTP/1.1 14:53:56.631082 Are-we-friendly question received 14:53:56.631117 Wrote request (93 bytes) input to log/23/server.input 14:53:56.631135 Identifying ourselves as friends 14:53:56.631192 Response sent (56 bytes) and written to log/23/server.response 14:53:56.631205 special request received, no persistency 14:53:56.631215 ====> Client disconnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:37085 > log/8/stdout659 2> log/8/stderr659 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40545/670 > log/7/stdout670 2> log/7/stderr670 ect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 673 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:38851/673 === End of file stderr673 === Start of file valgrind673 ==110325== ==110325== Process terminating with default action of signal 4 (SIGILL) ==110325== Illegal opcode at address 0x51D42F3 ==110325== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110325== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110325== by 0x51D42F3: Curl_open (url.c:551) ==110325== by 0x514CA2F: curl_easy_init (easy.c:372) ==110325== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110325== by 0x400347F: main (first.c:281) ==110325== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110325== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110325== by 0x51D4243: Curl_open (url.c:530) ==110325== by 0x514CA2F: curl_easy_init (easy.c:372) ==110325== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110325== by 0x400347F: main (first.c:281) ==110325== === End of file valgrind673 test 0659...[CURLOPT_CURLU without the path set - over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:37085 > log/8/stdout659 2> log/8/stderr659 659: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 659 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:37085 > log/8/stdout659 2> log/8/stderr659 === End of file commands.log === Start of file http_server.log 14:53:55.555787 ====> Client connect 14:53:55.555808 accept_connection 3 returned 4 14:53:55.555822 accept_connection 3 returned 0 14:53:55.555833 Read 93 bytes 14:53:55.555841 Process 93 bytes request 14:53:55.555851 Got request: GET /verifiedserver HTTP/1.1 14:53:55.555859 Are-we-friendly question received 14:53:55.555879 Wrote request (93 bytes) input to log/8/server.input 14:53:55.555891 Identifying ourselves as friends 14:53:55.555930 Response sent (56 bytes) and written to log/8/server.response 14:53:55.555938 special request received, no persistency 14:53:55.555946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 659 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:37085 === End of file stderr659 === Start of file valgrind659 ==109774== ==109774== Process terminating with default action of signal 4 (SIGILL) ==109774== Illegal opcode at address 0x51D42F3 ==109774== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109774== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109774== by 0x51D42F3: Curl_open (url.c:551) ==109774== by 0x514CA2F: curl_easy_init (easy.c:372) ==109774== by 0x4025C0C: UnknownInlinedFun (lib659.c:39) ==109774== by 0x4025C0C: test_lib659.lto_priv.0 (lib659.c:32) ==109774== by 0x400347F: main (first.c:281) ==109774== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109774== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109774== by 0x51D4243: Curl_open (url.c:530) ==109774== by 0x514CA2F: curl_easy_init (easy.c:372) ==109774== by 0x4025C0C: UnknownInlinedFun (lib659.c:39) ==109774== by 0x4025C0C: test_lib659.lto_priv.0 (lib659.c:32) ==109774== by 0x400347F: main (first.c:281) ==109774== === End of file valgrind659 test 0670...[Request pause from mime read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40545/670 > log/7/stdout670 2> log/7/stderr670 670: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 670 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40545/670 > log/7/stdout670 2> log/7/stderr670 === End of file commands.log === Start of file http_server.log 14:53:56.618189 ====> Client connect 14:53:56.618223 accept_connection 3 returned 4 14:53:56.618242 accept_connection 3 returned 0 14:53:56.618260 Read 93 bytes 14:53:56.618272 Process 93 bytes request 14:53:56.618287 Got request: GET /verifiedserver HTTP/1.1 14:53:56.618299 Are-we-friendly question received 14:53:56.618325 Wrote request (93 bytes) input to log/7/server.input 14:53:56.618344 Identifying ourselves as friends 14:53:56.618401 Response sent (56 bytes) and written to log/7/server.response 14:53:56.618414 special request received, no persistency 14:53:56.618426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 46360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:40545/670 === End of file stderr670 === Start of file valgrind670 ==110224== ==110224== Process terminating with default action of signal 4 (SIGILL) ==110224== Illegal opcode at address 0x51D42F3 ==110224== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110224== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110224== by 0x51D42F3: Curl_open (url.c:551) ==110224== by 0x514CA2F: curl_easy_init (easy.c:372) ==110224== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110224== by 0x400347F: main (first.c:281) ==110224== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110224== at 0x5108C13: calloc (vg_replace_mallocCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:42027/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:34345/668 log/9/file668.txt > log/9/stdout668 2> log/9/stderr668 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:37587/658 > log/2/stdout658 2> log/2/stderr658 .c:1675) ==110224== by 0x51D4243: Curl_open (url.c:530) ==110224== by 0x514CA2F: curl_easy_init (easy.c:372) ==110224== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110224== by 0x400347F: main (first.c:281) ==110224== === End of file valgrind670 test 0669...[HTTP custom Content-Type with parameter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:42027/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 669: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:42027/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 === End of file commands.log === Start of file http_server.log 14:53:56.606497 ====> Client connect 14:53:56.606522 accept_connection 3 returned 4 14:53:56.606535 accept_connection 3 returned 0 14:53:56.606548 Read 93 bytes 14:53:56.606559 Process 93 bytes request 14:53:56.606572 Got request: GET /verifiedserver HTTP/1.1 14:53:56.606583 Are-we-friendly question received 14:53:56.606607 Wrote request (93 bytes) input to log/22/server.input 14:53:56.606623 Identifying ourselves as friends 14:53:56.606667 Response sent (56 bytes) and written to log/22/server.response 14:53:56.606678 special request received, no persistency 14:53:56.606687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 42326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 669 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind669 ==110086== ==110086== Process terminating with default action of signal 4 (SIGILL) ==110086== Illegal opcode at address 0x4014B6F ==110086== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==110086== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==110086== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==110086== by 0x4004266: main (tool_main.c:199) === End of file valgrind669 test 0668...[HTTP mimepost early end of data detection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:34345/668 log/9/file668.txt > log/9/stdout668 2> log/9/stderr668 668: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 668 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:34345/668 log/9/file668.txt > log/9/stdout668 2> log/9/stderr668 === End of file commands.log === Start of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 14:53:56.607270 ====> Client connect 14:53:56.607306 accept_connection 3 returned 4 14:53:56.607323 accept_connection 3 returned 0 14:53:56.607337 Read 93 bytes 14:53:56.607346 Process 93 bytes request 14:53:56.607356 Got request: GET /verifiedserver HTTP/1.1 14:53:56.607365 Are-we-friendly question received 14:53:56.607386 Wrote request (93 bytes) input to log/9/server.input 14:53:56.607427 Identifying ourselves as friends 14:53:56.607475 Response sent (56 bytes) and written to log/9/server.response 14:53:56.607484 special request received, no persistency 14:53:56.607492 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 668 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:34345/668 === End of file stderr668 === Start of file valgrind668 ==110156== ==110156== Process terminating with default action of signal 4 (SIGILL) ==110156== Illegal opcode at address 0x51D42F3 ==110156== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110156== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110156== by 0x51D42F3: Curl_open (url.c:551) ==110156== by 0x514CA2F: curl_easy_init (easy.c:372) ==110156== by 0x4025399: test_lib668.lto_priv.0 (lib668.c:68) ==110156== by 0x400347F: main (first.c:281) ==110156== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110156== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110156== by 0x51D4243: Curl_open (url.c:530) ==110156== by 0x514CA2F: curl_easy_init (easy.c:372) ==110156== by 0x4025399: test_lib668.lto_priv.0 (lib668.c:68) ==110156== by 0x400347F: main (first.c:281) ==110156== === End of file valgrind668 test 0658...[Pass URL to libcurl with CURLOPT_CURLU] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:37587/658 > log/2/stdout658 2> log/2/stderr658 658: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 658 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:37587/658 > log/2/stdout658 2> log/2/stderr658 === End of file commands.log === Start of file http_server.log 14:53:56.545975 ====> Client connect 14:53:56.545996 accept_connection 3 returned 4 14:53:56.546008 accept_connection 3 returned 0 14:53:56.546019 Read 93 bytes 14:53:56.546027 Process 93 bytes request 14:53:56.546037 Got request: GET /verifiedserver HTTP/1.1 14:53:56.546044 Are-we-friendly question received 14:53:56.546060 Wrote request (93 bytes) input to log/2/server.input 14:53:56.546073 Identifying ourselves as friends 14:53:56.546110 Response sent (56 bytes) and written to log/2/server.response 14:53:56.546117 special request received, no persistency 14:53:56.54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind662 ../src/curl -q --output log/24/curl662.out --include --trace-ascii log/24/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:34449 > log/24/stdout662 2> log/24/stderr662 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:32907/ > log/5/stdout661 2> log/5/stderr661 6124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 47344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 658 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:37587/658 === End of file stderr658 === Start of file valgrind658 ==109708== ==109708== Process terminating with default action of signal 4 (SIGILL) ==109708== Illegal opcode at address 0x51D42F3 ==109708== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==109708== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==109708== by 0x51D42F3: Curl_open (url.c:551) ==109708== by 0x514CA2F: curl_easy_init (easy.c:372) ==109708== by 0x40259AC: UnknownInlinedFun (lib658.c:40) ==109708== by 0x40259AC: test_lib658.lto_priv.0 (lib658.c:32) ==109708== by 0x400347F: main (first.c:281) ==109708== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==109708== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109708== by 0x51D4243: Curl_open (url.c:530) ==109708== by 0x514CA2F: curl_easy_init (easy.c:372) ==109708== by 0x40259AC: UnknownInlinedFun (lib658.c:40) ==109708== by 0x40259AC: test_lib658.lto_priv.0 (lib658.c:32) ==109708== by 0x400347F: main (first.c:281) ==109708== === End of file valgrind658 test 0662...[HTTP redirect with whitespace in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind662 ../src/curl -q --output log/24/curl662.out --include --trace-ascii log/24/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:34449 > log/24/stdout662 2> log/24/stderr662 662: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 662 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind662 ../src/curl -q --output log/24/curl662.out --include --trace-ascii log/24/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:34449 > log/24/stdout662 2> log/24/stderr662 === End of file commands.log === Start of file http_server.log 14:53:56.581786 ====> Client connect 14:53:56.581813 accept_connection 3 returned 4 14:53:56.581838 accept_connection 3 returned 0 14:53:56.581856 Read 93 bytes 14:53:56.581865 Process 93 bytes request 14:53:56.581877 Got request: GET /verifiedserver HTTP/1.1 14:53:56.581885 Are-we-friendly question received 14:53:56.581907 Wrote request (93 bytes) input to log/24/server.input 14:53:56.581922 Identifying ourselves as friends 14:53:56.581963 Response sent (56 bytes) and written to log/24/server.response 14:53:56.581971 special request received, no persistency 14:53:56.581979 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 60804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 662 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind662 ==109942== ==109942== Process terminating with default action of signal 4 (SIGILL) ==109942== Illegal opcode at address 0x4014B6F ==109942== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==109942== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==109942== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==109942== by 0x4004266: main (tool_main.c:199) === End of file valgrind662 test 0661...[Avoid redundant CWDs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:32907/ > log/5/stdout661 2> log/5/stderr661 661: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:32907/ > log/5/stdout661 2> log/5/stderr661 === End of file commands.log === Start of file ftp_server.log 14:53:56.475326 ====> Client connect 14:53:56.475435 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:56.475657 < "USER anonymous" 14:53:56.475697 > "331 We are happy you popped in![CR][LF]" 14:53:56.475874 < "PASS ftp@example.com" 14:53:56.475903 > "230 Welcome you silly person[CR][LF]" 14:53:56.476020 < "PWD" 14:53:56.476044 > "257 "/" is current directory[CR][LF]" 14:53:56.476236 < "EPSV" 14:53:56.476257 ====> Passive DATA channel requested by client 14:53:56.476267 DATA sockfilt for passive data channel starting... 14:53:56.477560 DATA sockfilt for passive data channel started (pid 109756) 14:53:56.477643 DATA sockfilt for passive data channel listens on port 46671 14:53:56.477670 > "229 Entering Passive Mode (|||46671|)[LF]" 14:53:56.477684 Client has been notified that DATA conn will be accepted on port 46671 14:53:56.477864 Client connects to port 46671 14:53:56.477886 ====> Client established passive DATA connection on port 46671 14:53:56.477937 < "TYPE I" 14:53:56.477956 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:56.478069 < "SIZE verifiedserver" 14:53:56.478096 > "213 17[CR][LF]" 14:53:56.478214 < "RETR verifiedserver" 14:53:56.478235 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:56.478291 =====> Closing passive DATA connection... 14:53:56.478302 Server disconnects passive DATA connection 14:53:56.478484 Server disconnected passive DATA connection 14:53:56.478505 DATA sockfilt for passive data channel quits (pid 109756) 14:53:56.478669 DATA sockfilt for passive data channel quit (pid 109756) 14:53:56.478686 =====> Closed passive DATA connection 14:53:56.478704 > "226 File transfer complete[CR][LF]" 14:53:56.520500 < "QUIT" 14:53:56.520554 > "221 bye bye baby[CR][LF]" 14:53:56.521342 MAIN sockfilt said DISC 14:53:56.521408 ====> Client disconnected 14:53:56.521478 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:56.558062 ====> Client connect 14:53:56.558252 Received DATA (on stdin) 14:53:56.558263 > 160 bytes data, server => client 14:53:56.558272 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:56.558280 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:56.558288 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39569/666 > log/20/stdout666 2> log/20/stderr666 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:34037 > log/21/stdout663 2> log/21/stderr663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:39793/672 > log/4/stdout672 2> log/4/stderr672 56.558337 < 16 bytes data, client => server 14:53:56.558346 'USER anonymous\r\n' 14:53:56.558516 Received DATA (on stdin) 14:53:56.558533 > 33 bytes data, server => client 14:53:56.558543 '331 We are happy you popped in!\r\n' 14:53:56.558590 < 22 bytes data, client => server 14:53:56.558599 'PASS ftp@example.com\r\n' 14:53:56.558714 Received DATA (on stdin) 14:53:56.558724 > 30 bytes data, server => client 14:53:56.558732 '230 Welcome you silly person\r\n' 14:53:56.558768 < 5 bytes data, client => server 14:53:56.558776 'PWD\r\n' 14:53:56.558854 Received DATA (on stdin) 14:53:56.558872 > 30 bytes data, server => client 14:53:56.558881 '257 "/" is current directory\r\n' 14:53:56.558961 < 6 bytes data, client => server 14:53:56.558970 'EPSV\r\n' 14:53:56.560498 Received DATA (on stdin) 14:53:56.560509 > 38 bytes data, server => client 14:53:56.560518 '229 Entering Passive Mode (|||46671|)\n' 14:53:56.560613 < 8 bytes data, client => server 14:53:56.560624 'TYPE I\r\n' 14:53:56.560765 Received DATA (on stdin) 14:53:56.560774 > 33 bytes data, server => client 14:53:56.560783 '200 I modify TYPE as you wanted\r\n' 14:53:56.560819 < 21 bytes data, client => server 14:53:56.560828 'SIZE verifiedserver\r\n' 14:53:56.560914 Received DATA (on stdin) 14:53:56.560923 > 8 bytes data, server => client 14:53:56.560931 '213 17\r\n' 14:53:56.560965 < 21 bytes data, client => server 14:53:56.560973 'RETR verifiedserver\r\n' 14:53:56.561112 Received DATA (on stdin) 14:53:56.561122 > 29 bytes data, server => client 14:53:56.561130 '150 Binary junk (17 bytes).\r\n' 14:53:56.561514 Received DATA (on stdin) 14:53:56.561524 > 28 bytes data, server => client 14:53:56.561532 '226 File transfer complete\r\n' 14:53:56.603121 < 6 bytes data, client => server 14:53:56.603163 'QUIT\r\n' 14:53:56.603373 Received DATA (on stdin) 14:53:56.603387 > 18 bytes data, server => client 14:53:56.603398 '221 bye bye baby\r\n' 14:53:56.604088 ====> Client disconnect 14:53:56.604206 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:56.560156 Running IPv4 version 14:53:56.560198 Listening on port 46671 14:53:56.560225 Wrote pid 109756 to log/5/server/ftp_sockdata.pid 14:53:56.560327 Received PING (on stdin) 14:53:56.560390 Received PORT (on stdin) 14:53:56.560639 ====> Client connect 14:53:56.561148 Received DATA (on stdin) 14:53:56.561158 > 17 bytes data, server => client 14:53:56.561167 'WE ROOLZ: 80255\r\n' 14:53:56.561187 Received DISC (on stdin) 14:53:56.561195 ====> Client forcibly disconnected 14:53:56.561321 Received QUIT (on stdin) 14:53:56.561331 quits 14:53:56.561373 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file stderr661 URL: ftp://127.0.0.1:32907/ === End of file stderr661 === Start of file valgrind661 ==110064== ==110064== Process terminating with default action of signal 4 (SIGILL) ==110064== Illegal opcode at address 0x51D42F3 ==110064== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110064== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110064== by 0x51D42F3: Curl_open (url.c:551) ==110064== by 0x514CA2F: curl_easy_init (easy.c:372) ==110064== by 0x40260F0: test_lib661.lto_priv.0 (lib661.c:40) ==110064== by 0x400347F: main (first.c:281) ==110064== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110064== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110064== by 0x51D4243: Curl_open (url.c:530) ==110064== by 0x514CA2F: curl_easy_init (easy.c:372) ==110064== by 0x40260F0: test_lib661.lto_priv.0 (lib661.c:40) ==110064== by 0x400347F: main (first.c:281) ==110064== === End of file valgrind661 test 0666...[HTTP mime post with binary-encoded huge data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39569/666 > log/20/stdout666 2> log/20/stderr666 666: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39569/666 > log/20/stdout666 2> log/20/stderr666 === End of file commands.log === Start of file http_server.log 14:53:56.586391 ====> Client connect 14:53:56.586429 accept_connection 3 returned 4 14:53:56.586444 accept_connection 3 returned 0 14:53:56.586456 Read 93 bytes 14:53:56.586465 Process 93 bytes request 14:53:56.586476 Got request: GET /verifiedserver HTTP/1.1 14:53:56.586484 Are-we-friendly question received 14:53:56.586502 Wrote request (93 bytes) input to log/20/server.input 14:53:56.586515 Identifying ourselves as friends 14:53:56.586560 Response sent (56 bytes) and written to log/20/server.response 14:53:56.586568 special request received, no persistency 14:53:56.586575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 666 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:39569/666 === End of file stderr666 === Start of file valgrind666 ==110079== ==110079== Process terminating with default action of signal 4 (SIGILL) ==110079== Illegal opcode at address 0x51D42F3 ==110079== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110079== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110079== by 0x51D42F3: Curl_open (url.c:551) ==110079== by 0x514CA2F: curl_easy_init (easy.c:372) ==110079== by 0x4024712: test_lib666.lto_priv.0 (lib666.c:52) ==110079== by 0x400347F: main (first.c:281) ==110079== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110079== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110079== by 0x51D4243: Curl_open (url.c:530) ==110079== by 0x514CA2F: curl_easy_init (easy.c:372) ==110079== by 0x4024712: test_lib666.lto_priv.0 (lib666.c:52) ==110079== by 0x400347F: main (first.c:281) ==110079== === End of file valgrind666 test 0663...[HTTP redirect with dotdots and whitespaces in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:34037 > log/21/stdout663 2> log/21/stderr663 663: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 663 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:43297/667 > log/18/stdout667 2> log/18/stderr667 .0.1:34037 > log/21/stdout663 2> log/21/stderr663 === End of file commands.log === Start of file http_server.log 14:53:56.585714 ====> Client connect 14:53:56.585740 accept_connection 3 returned 4 14:53:56.585753 accept_connection 3 returned 0 14:53:56.585765 Read 93 bytes 14:53:56.585773 Process 93 bytes request 14:53:56.585783 Got request: GET /verifiedserver HTTP/1.1 14:53:56.585790 Are-we-friendly question received 14:53:56.585808 Wrote request (93 bytes) input to log/21/server.input 14:53:56.585820 Identifying ourselves as friends 14:53:56.585859 Response sent (56 bytes) and written to log/21/server.response 14:53:56.585867 special request received, no persistency 14:53:56.585875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 663 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind663 ==109970== ==109970== Process terminating with default action of signal 4 (SIGILL) ==109970== Illegal opcode at address 0x4014B6F ==109970== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==109970== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==109970== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==109970== by 0x4004266: main (tool_main.c:199) === End of file valgrind663 test 0672...[Request pause from form read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:39793/672 > log/4/stdout672 2> log/4/stderr672 672: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 672 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:39793/672 > log/4/stdout672 2> log/4/stderr672 === End of file commands.log === Start of file http_server.log 14:53:56.627509 ====> Client connect 14:53:56.627532 accept_connection 3 returned 4 14:53:56.627544 accept_connection 3 returned 0 14:53:56.627555 Read 93 bytes 14:53:56.627563 Process 93 bytes request 14:53:56.627572 Got request: GET /verifiedserver HTTP/1.1 14:53:56.627579 Are-we-friendly question received 14:53:56.627596 Wrote request (93 bytes) input to log/4/server.input 14:53:56.627609 Identifying ourselves as friends 14:53:56.627646 Response sent (56 bytes) and written to log/4/server.response 14:53:56.627654 special request received, no persistency 14:53:56.627661 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 56468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 672 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:39793/672 === End of file stderr672 === Start of file valgrind672 ==110289== ==110289== Process terminating with default action of signal 4 (SIGILL) ==110289== Illegal opcode at address 0x51D42F3 ==110289== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110289== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110289== by 0x51D42F3: Curl_open (url.c:551) ==110289== by 0x514CA2F: curl_easy_init (easy.c:372) ==110289== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110289== by 0x400347F: main (first.c:281) ==110289== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110289== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110289== by 0x51D4243: Curl_open (url.c:530) ==110289== by 0x514CA2F: curl_easy_init (easy.c:372) ==110289== by 0x4026930: test_lib670.lto_priv.0 (lib670.c:109) ==110289== by 0x400347F: main (first.c:281) ==110289== === End of file valgrind672 test 0667...[HTTP chunked mimepost using single-byte read callback with encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:43297/667 > log/18/stdout667 2> log/18/stderr667 667: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 667 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:43297/667 > log/18/stdout667 2> log/18/stderr667 === End of file commands.log === Start of file http_server.log 14:53:56.600680 ====> Client connect 14:53:56.600723 accept_connection 3 returned 4 14:53:56.600740 accept_connection 3 returned 0 14:53:56.600755 Read 93 bytes 14:53:56.600766 Process 93 bytes request 14:53:56.600779 Got request: GET /verifiedserver HTTP/1.1 14:53:56.600789 Are-we-friendly question received 14:53:56.600814 Wrote request (93 bytes) input to log/18/server.input 14:53:56.600831 Identifying ourselves as friends 14:53:56.600883 Response sent (56 bytes) and written to log/18/server.response 14:53:56.600894 special request received, no persistency 14:53:56.600904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 39818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 667 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:43297/667 === End of file stderr667 === Start of file valgrind667 ==110050== ==110050== Process terminating with default action of signal 4 (SIGILL) ==110050== Illegal opcode at address 0x51D42F3 ==110050== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110050== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110050== by 0x51D42F3: Curl_open (url.c:551) ==110050== by 0x514CA2F: curl_easy_init (easy.c:372) ==110050== by 0x40249D9: test_lib667.lto_priv.0 (lib667.c:74) ==110050== by 0x400347F: main (first.c:281) ==110050== 5,408 bytes in 1 blocks are definitely lost inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:33503/674 > log/11/stdout674 2> log/11/stderr674 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind647 ../src/curl -q --output log/14/curl647.out --include --trace-ascii log/14/trace647 --trace-time imap://127.0.0.1:43479/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/14/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/14/stdout647 2> log/14/stderr647 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind675 ../src/curl -q --output log/13/curl675.out --include --trace-ascii log/13/trace675 --trace-time http://user1:foo1@127.0.0.1:41533/user1/675 http://user2:foo2@127.0.0.1:41533/user2/675 > log/13/stdout675 2> log/13/stderr675 loss record 637 of 639 ==110050== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110050== by 0x51D4243: Curl_open (url.c:530) ==110050== by 0x514CA2F: curl_easy_init (easy.c:372) ==110050== by 0x40249D9: test_lib667.lto_priv.0 (lib667.c:74) ==110050== by 0x400347F: main (first.c:281) ==110050== === End of file valgrind667 test 0674...[Set CURLOPT_CURLU and dupe the handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:33503/674 > log/11/stdout674 2> log/11/stderr674 674: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 674 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:33503/674 > log/11/stdout674 2> log/11/stderr674 === End of file commands.log === Start of file http_server.log 14:53:56.894102 ====> Client connect 14:53:56.894134 accept_connection 3 returned 4 14:53:56.894152 accept_connection 3 returned 0 14:53:56.894168 Read 93 bytes 14:53:56.894180 Process 93 bytes request 14:53:56.894195 Got request: GET /verifiedserver HTTP/1.1 14:53:56.894206 Are-we-friendly question received 14:53:56.894230 Wrote request (93 bytes) input to log/11/server.input 14:53:56.894248 Identifying ourselves as friends 14:53:56.894301 Response sent (56 bytes) and written to log/11/server.response 14:53:56.894313 special request received, no persistency 14:53:56.894323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 674 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:33503/674 === End of file stderr674 === Start of file valgrind674 ==110596== ==110596== Process terminating with default action of signal 4 (SIGILL) ==110596== Illegal opcode at address 0x51D42F3 ==110596== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110596== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110596== by 0x51D42F3: Curl_open (url.c:551) ==110596== by 0x514CA2F: curl_easy_init (easy.c:372) ==110596== by 0x4025E90: UnknownInlinedFun (lib674.c:41) ==110596== by 0x4025E90: test_lib674.lto_priv.0 (lib674.c:32) ==110596== by 0x400347F: main (first.c:281) ==110596== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110596== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110596== by 0x51D4243: Curl_open (url.c:530) ==110596== by 0x514CA2F: curl_easy_init (easy.c:372) ==110596== by 0x4025E90: UnknownInlinedFun (lib674.c:41) ==110596== by 0x4025E90: test_lib674.lto_priv.0 (lib674.c:32) ==110596== by 0x400347F: main (first.c:281) ==110596== === End of file valgrind674 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/imap_server.pid" --logfile "log/14/imap_server.log" --logdir "log/14" --portfile "log/14/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43479 (log/14/server/imap_server.port) RUN: IMAP server is PID 109363 port 43479 * pid imap => 109363 109363 test 0647...[IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind647 ../src/curl -q --output log/14/curl647.out --include --trace-ascii log/14/trace647 --trace-time imap://127.0.0.1:43479/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/14/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/14/stdout647 2> log/14/stderr647 647: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 647 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind647 ../src/curl -q --output log/14/curl647.out --include --trace-ascii log/14/trace647 --trace-time imap://127.0.0.1:43479/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/14/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/14/stdout647 2> log/14/stderr647 === End of file commands.log === Start of file imap_server.log 14:53:55.935810 IMAP server listens on port IPv4/43479 14:53:55.935868 logged pid 109363 in log/14/server/imap_server.pid 14:53:55.935887 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:53:55.018423 Running IPv4 version 14:53:55.018482 Listening on port 43479 14:53:55.018507 Wrote pid 109364 to log/14/server/imap_sockfilt.pid 14:53:55.018527 Wrote port 43479 to log/14/server/imap_server.port 14:53:55.018543 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 647 === End of file server.cmd === Start of file test647.txt This is an attached file. It may contain any type of data. === End of file test647.txt === Start of file valgrind647 ==110663== ==110663== Process terminating with default action of signal 4 (SIGILL) ==110663== Illegal opcode at address 0x4014B6F ==110663== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==110663== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==110663== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==110663== by 0x4004266: main (tool_main.c:199) === End of file valgrind647 test 0675...[HTTP connection reuse and different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind675 ../src/curl -q --output log/13/curl675.out --include --trace-ascii log/13/trace675 --trace-time http://user1:foo1@127.0.0.1:41533/user1/675 http://user2:foo2@127.0.0.1:41533/user2/675 > log/13/stdout675 2> log/13/stderr675 675: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind675 ../src/curl -q --output log/13/curl675.out --include --trace-ascii log/13/trace675 --trace-time http://user1:foo1@127.0.0.1:41533/user1/675 http://user2:foo2@127.0.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind648 ../src/curl -q --output log/3/curl648.out --include --trace-ascii log/3/trace648 --trace-time smtp://127.0.0.1:35267/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/3/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/3/stdout648 2> log/3/stderr648 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind649 ../src/curl -q --output log/17/curl649.out --include --trace-ascii log/17/trace649 --trace-time smtp://127.0.0.1:35643/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/17/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/17/stdout649 2> log/17/stderr649 0.1:41533/user2/675 > log/13/stdout675 2> log/13/stderr675 === End of file commands.log === Start of file http_server.log 14:53:57.014897 ====> Client connect 14:53:57.014933 accept_connection 3 returned 4 14:53:57.014951 accept_connection 3 returned 0 14:53:57.014968 Read 93 bytes 14:53:57.014980 Process 93 bytes request 14:53:57.014994 Got request: GET /verifiedserver HTTP/1.1 14:53:57.015006 Are-we-friendly question received 14:53:57.015033 Wrote request (93 bytes) input to log/13/server.input 14:53:57.015052 Identifying ourselves as friends 14:53:57.015114 Response sent (56 bytes) and written to log/13/server.response 14:53:57.015126 special request received, no persistency 14:53:57.015137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 44398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 675 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind675 ==110688== ==110688== Process terminating with default action of signal 4 (SIGILL) ==110688== Illegal opcode at address 0x4014B6F ==110688== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==110688== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==110688== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==110688== by 0x4004266: main (tool_main.c:199) === End of file valgrind675 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/smtp_server.pid" --logfile "log/3/smtp_server.log" --logdir "log/3" --portfile "log/3/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35267 (log/3/server/smtp_server.port) RUN: SMTP server is PID 109365 port 35267 * pid smtp => 109365 109365 test 0648...[SMTP multipart with transfer content encoders] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind648 ../src/curl -q --output log/3/curl648.out --include --trace-ascii log/3/trace648 --trace-time smtp://127.0.0.1:35267/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/3/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/3/stdout648 2> log/3/stderr648 648: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind648 ../src/curl -q --output log/3/curl648.out --include --trace-ascii log/3/trace648 --trace-time smtp://127.0.0.1:35267/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/3/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/3/stdout648 2> log/3/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 14:53:56.066965 SMTP server listens on port IPv4/35267 14:53:56.067054 logged pid 109365 in log/3/server/smtp_server.pid 14:53:56.067083 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:53:56.149552 Running IPv4 version 14:53:56.149594 Listening on port 35267 14:53:56.149618 Wrote pid 109367 to log/3/server/smtp_sockfilt.pid 14:53:56.149637 Wrote port 35267 to log/3/server/smtp_server.port 14:53:56.149651 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-648 From: different To: another body === End of file stdin-for-648 === Start of file test648.txt This is an attached file. It may contain any type of data and will be encoded in base64 for transfer. === End of file test648.txt === Start of file valgrind648 ==110810== ==110810== Process terminating with default action of signal 4 (SIGILL) ==110810== Illegal opcode at address 0x4014B6F ==110810== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==110810== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==110810== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==110810== by 0x4004266: main (tool_main.c:199) === End of file valgrind648 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/smtp_server.pid" --logfile "log/17/smtp_server.log" --logdir "log/17" --portfile "log/17/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35643 (log/17/server/smtp_server.port) RUN: SMTP server is PID 109366 port 35643 * pid smtp => 109366 109366 test 0649...[SMTP multipart with 7bit encoder error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind649 ../src/curl -q --output log/17/curl649.out --include --trace-ascii log/17/trace649 --trace-time smtp://127.0.0.1:35643/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/17/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/17/stdout649 2> log/17/stderr649 649: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 649 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind649 ../src/curl -q --output log/17/curl649.out --include --trace-ascii log/17/trace649 --trace-time smtp://127.0.0.1:35643/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/17/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/17/stdout649 2> log/17/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 14:53:56.085153 SMTP server listens on port IPv4/35643 14:53:56.085207 logged pid 109366 in log/17/server/smtp_server.pid 14:53:56.085223 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:53:56.167778 Running IPv4 version 14:53:56.167833 Listening on port 35643 14:53:56.167859 Wrote pid 109385 to log/17/server/smtp_sockfilt.pid 14:53:56.167880 Wrote port 35643 to log/17/server/smtp_server.port 14:53:56.167895 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-649 From: different To: another body === End of file stdin-for-649 === Start of file test649.txt This is an attached file (in french: pièce jointe). It contains at least an 8-bit byte value. === End of file test649.txt === Start of file valgrind649 ==110831== ==11CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38791/we/want/676 log/6/cookies676 > log/6/stdout676 2> log/6/stderr676 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44549/652 > log/1/stdout652 2> log/1/stderr652 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind680 ../src/curl -q --output log/16/curl680.out --include --trace-ascii log/16/trace680 --trace-time --netrc --netrc-file log/16/netrc680 http://user1@http.example/ > log/16/stdout680 2> log/16/stderr680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind679 ../src/curl -q --output log/15/curl679.out --include --trace-ascii log/15/trace679 --trace-time --netrc-optional --netrc-file log/15/netrc679 http://127.0.0.1:42107/ > log/15/stdout679 2> log/15/stderr679 0831== Process terminating with default action of signal 4 (SIGILL) ==110831== Illegal opcode at address 0x4014B6F ==110831== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==110831== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==110831== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==110831== by 0x4004266: main (tool_main.c:199) === End of file valgrind649 test 0676...[verify setting CURLOPT_COOKIEFILE to NULL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38791/we/want/676 log/6/cookies676 > log/6/stdout676 2> log/6/stderr676 676: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38791/we/want/676 log/6/cookies676 > log/6/stdout676 2> log/6/stderr676 === End of file commands.log === Start of file cookies676 127.0.0.1 TRUE /we/want/ FALSE 22118138987 proven yes === End of file cookies676 === Start of file http_server.log 14:53:57.136389 ====> Client connect 14:53:57.136425 accept_connection 3 returned 4 14:53:57.136445 accept_connection 3 returned 0 14:53:57.136548 Read 93 bytes 14:53:57.136562 Process 93 bytes request 14:53:57.136577 Got request: GET /verifiedserver HTTP/1.1 14:53:57.136588 Are-we-friendly question received 14:53:57.136617 Wrote request (93 bytes) input to log/6/server.input 14:53:57.136634 Identifying ourselves as friends 14:53:57.136689 Response sent (56 bytes) and written to log/6/server.response 14:53:57.136700 special request received, no persistency 14:53:57.136710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 676 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:38791/we/want/676 === End of file stderr676 === Start of file valgrind676 ==110821== ==110821== Process terminating with default action of signal 4 (SIGILL) ==110821== Illegal opcode at address 0x51D42F3 ==110821== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110821== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110821== by 0x51D42F3: Curl_open (url.c:551) ==110821== by 0x514CA2F: curl_easy_init (easy.c:372) ==110821== by 0x4020C06: test_lib676.lto_priv.0 (lib676.c:38) ==110821== by 0x400347F: main (first.c:281) ==110821== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110821== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110821== by 0x51D4243: Curl_open (url.c:530) ==110821== by 0x514CA2F: curl_easy_init (easy.c:372) ==110821== by 0x4020C06: test_lib676.lto_priv.0 (lib676.c:38) ==110821== by 0x400347F: main (first.c:281) ==110821== === End of file valgrind676 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/smtp_server.pid" --logfile "log/1/smtp_server.log" --logdir "log/1" --portfile "log/1/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44549 (log/1/server/smtp_server.port) RUN: SMTP server is PID 109499 port 44549 * pid smtp => 109499 109499 test 0652...[SMTP with encoded huge mime data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44549/652 > log/1/stdout652 2> log/1/stderr652 652: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44549/652 > log/1/stdout652 2> log/1/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 14:53:56.210505 SMTP server listens on port IPv4/44549 14:53:56.210561 logged pid 109499 in log/1/server/smtp_server.pid 14:53:56.210580 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:53:56.293141 Running IPv4 version 14:53:56.293180 Listening on port 44549 14:53:56.293204 Wrote pid 109500 to log/1/server/smtp_sockfilt.pid 14:53:56.293223 Wrote port 44549 to log/1/server/smtp_server.port 14:53:56.293239 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:44549/652 === End of file stderr652 === Start of file valgrind652 ==110984== ==110984== Process terminating with default action of signal 4 (SIGILL) ==110984== Illegal opcode at address 0x51D42F3 ==110984== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==110984== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==110984== by 0x51D42F3: Curl_open (url.c:551) ==110984== by 0x514CA2F: curl_easy_init (easy.c:372) ==110984== by 0x4024C0D: test_lib652.lto_priv.0 (lib652.c:50) ==110984== by 0x400347F: main (first.c:281) ==110984== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==110984== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110984== by 0x51D4243: Curl_open (url.c:530) ==110984== by 0x514CA2F: curl_easy_init (easy.c:372) ==110984== by 0x4024C0D: test_lib652.lto_priv.0 (lib652.c:50) ==110984== by 0x400347F: main (first.c:281) ==110984== === End of file valgrind652 test 0680...[netrc with quoted password but missing end quote] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind680 ../src/curl -q --output log/16/curl680.out --include --trace-ascii log/16/trace680 --trace-time --netrc --netrc-file log/16/netrc680 http://user1@http.example/ > log/16/stdout680 2> log/16/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/16/ dir after test 680 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind680 ../src/curl -q --output log/16/curl680.out --include --trace-ascii log/16/trace680 --trace-time --netrc --netrc-file log/16/netrc680 http://user1@http.example/ > log/16/stdout680 2> log/16/stderr680 === End of file commands.log === Start of file netrc680 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a === End of file netrc680 === Start of file server.cmd Testnum 680 === End of file server.cmd === Start of file valgrind680 ==111070== ==111070== Process terminating with default action of signal 4 (SIGILL) ==111070== Illegal opcode at address 0x4014B6F ==111070== at 0x4014B6F: getparameter (toCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind681 ../src/curl -q --trace-ascii log/23/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38851/681 > log/23/stdout681 2> log/23/stderr681 ol_getparam.c:2830) ==111070== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111070== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111070== by 0x4004266: main (tool_main.c:199) === End of file valgrind680 test 0679...[netrc with quoted password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind679 ../src/curl -q --output log/15/curl679.out --include --trace-ascii log/15/trace679 --trace-time --netrc-optional --netrc-file log/15/netrc679 http://127.0.0.1:42107/ > log/15/stdout679 2> log/15/stderr679 679: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 679 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind679 ../src/curl -q --output log/15/curl679.out --include --trace-ascii log/15/trace679 --trace-time --netrc-optional --netrc-file log/15/netrc679 http://127.0.0.1:42107/ > log/15/stdout679 2> log/15/stderr679 === End of file commands.log === Start of file http_server.log 14:53:57.416447 ====> Client connect 14:53:57.416494 accept_connection 3 returned 4 14:53:57.416513 accept_connection 3 returned 0 14:53:57.416530 Read 93 bytes 14:53:57.416541 Process 93 bytes request 14:53:57.416556 Got request: GET /verifiedserver HTTP/1.1 14:53:57.416567 Are-we-friendly question received 14:53:57.416595 Wrote request (93 bytes) input to log/15/server.input 14:53:57.416613 Identifying ourselves as friends 14:53:57.416669 Response sent (56 bytes) and written to log/15/server.response 14:53:57.416681 special request received, no persistency 14:53:57.416691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 47402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file netrc679 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a" === End of file netrc679 === Start of file server.cmd Testnum 679 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind679 ==111051== ==111051== Process terminating with default action of signal 4 (SIGILL) ==111051== Illegal opcode at address 0x4014B6F ==111051== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111051== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111051== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111051== by 0x4004266: main (tool_main.c:199) === End of file valgrind679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind682 ../src/curl -q --output log/8/curl682.out --include --trace-ascii log/8/trace682 --trace-time --netrc-optional --netrc-file log/8/netrc682 http://user1@127.0.0.1:37085/ > log/8/stdout682 2> log/8/stderr682 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:36327/689 > log/2/stdout689 2> log/2/stderr689 test 0681...[--remote-name-all with --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind681 ../src/curl -q --trace-ascii log/23/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38851/681 > log/23/stdout681 2> log/23/stderr681 681: stdout FAILED: --- log/23/check-expected 2025-09-11 14:53:58.362197718 +0000 +++ log/23/check-generated 2025-09-11 14:53:58.362197718 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/23/ dir after test 681 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind681 ../src/curl -q --trace-ascii log/23/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38851/681 > log/23/stdout681 2> log/23/stderr681 === End of file commands.log === Start of file http_server.log 14:53:57.503732 ====> Client connect 14:53:57.503767 accept_connection 3 returned 4 14:53:57.503784 accept_connection 3 returned 0 14:53:57.503799 Read 93 bytes 14:53:57.503809 Process 93 bytes request 14:53:57.503821 Got request: GET /verifiedserver HTTP/1.1 14:53:57.503830 Are-we-friendly question received 14:53:57.503855 Wrote request (93 bytes) input to log/23/server.input 14:53:57.503871 Identifying ourselves as friends 14:53:57.503944 Response sent (56 bytes) and written to log/23/server.response 14:53:57.503954 special request received, no persistency 14:53:57.503963 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind681 ==111193== ==111193== Process terminating with default action of signal 4 (SIGILL) ==111193== Illegal opcode at address 0x4014B6F ==111193== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111193== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111193== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111193== by 0x4004266: main (tool_main.c:199) === End of file valgrind681 test 0682...[netrc with multiple logins - pick first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind682 ../src/curl -q --output log/8/curl682.out --include --trace-ascii log/8/trace682 --trace-time --netrc-optional --netrc-file log/8/netrc682 http://user1@127.0.0.1:37085/ > log/8/stdout682 2> log/8/stderr682 682: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 682 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind682 ../src/curl -q --output log/8/curl682.out --include --trace-ascii log/8/trace682 --trace-time --netrc-optional --netrc-file log/8/netrc682 http://user1@127.0.0.1:37085/ > log/8/stdout682 2> log/8/stderr682 === End of file commands.log === Start of file http_server.log 14:53:56.506210 ====> Client connect 14:53:56.506235 accept_connection 3 returned 4 14:53:56.506250 accept_connection 3 returned 0 14:53:56.506264 Read 93 bytes 14:53:56.506274 Process 93 bytes request 14:53:56.506284 Got request: GET /verifiedserver HTTP/1.1 14:53:56.506294 Are-we-friendly question received 14:53:56.506326 Wrote request (93 bytes) input to log/8/server.input 14:53:56.506380 Identifying ourselves as friends 14:53:56.506435 Response sent (56 bytes) and written to log/8/server.response 14:53:56.506443 special request received, no persistency 14:53:56.506451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file netrc682 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc682 === Start of file server.cmd Testnum 682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind682 ==111202== ==111202== Process terminating with default action of signal 4 (SIGILL) ==111202== Illegal opcode at address 0x4014B6F ==111202== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111202== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111202== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111202== by 0x4004266: main (tool_main.c:199) === End of file valgrind682 test 0689...[fuzzing crash issue #12701] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:36327/689 > log/2/stdout689 2> log/2/stderr689 689: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 689 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:36327/689 > log/2/stdout689 2> log/2/stderr689 === End of file commands.log === Start of file rtsp_server.log 14:53:57.610113 ====> Client connect 14:53:57.610155 Read 93 bytes 14:53:57.610172 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:36327 User-Agent: curl/8.16.0 Accept: */* ] 14:53:57.610197 Got request: GET /verifiedserver HTTP/1.1 14:53:57.610208 Are-we-friendly question received 14:53:57.610230 Wrote request (93 bytes) input to log/2/server.input 14:53:57.610251 Send response number -2 part 0 14:53:57.610261 Identifying ourselves as friends 14:53:57.610319 Sent off 69 bytes 14:53:57.610340 Response sent (69 bytes) and written to log/2/server.response 14:53:57.610350 special request received, no persistency 14:53:57.610360 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:36327... * Established connection to 127.0.0.1 (127.0.0.1 port 36327) from 127.0.0.1 port 37330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36327 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1:36327 left intact === End of file rtsp_verify.log === StarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind692 ../src/curl -q --trace-ascii log/20/trace692 --trace-time http://127.0.0.1:39569/ -JO --output-dir log/20 > log/20/stdout692 2> log/20/stderr692 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39793/path/mine http://127.0.0.1:39793/path/6940010 > log/4/stdout694 2> log/4/stderr694 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind693 ../src/curl -q --output log/21/curl693.out --include --trace-ascii log/21/trace693 --trace-time http://127.0.0.1:34037/693 --etag-save log/21/moo/boo/etag693 --create-dirs > log/21/stdout693 2> log/21/stderr693 t of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 107153 === End of file rtsp_verify.out === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 107153 === End of file server.response === Start of file stderr689 URL: rtsp://127.0.0.1:36327/689 === End of file stderr689 === Start of file valgrind689 ==111674== ==111674== Process terminating with default action of signal 4 (SIGILL) ==111674== Illegal opcode at address 0x51D42F3 ==111674== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==111674== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==111674== by 0x51D42F3: Curl_open (url.c:551) ==111674== by 0x514CA2F: curl_easy_init (easy.c:372) ==111674== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==111674== by 0x400347F: main (first.c:281) ==111674== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==111674== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111674== by 0x51D4243: Curl_open (url.c:530) ==111674== by 0x514CA2F: curl_easy_init (easy.c:372) ==111674== by 0x40158AA: test_lib567.lto_priv.0 (lib567.c:42) ==111674== by 0x400347F: main (first.c:281) ==111674== === End of file valgrind689 test 0694...[HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39793/path/mine http://127.0.0.1:39793/path/6940010 > log/4/stdout694 2> log/4/stderr694 694: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 694 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39793/path/mine http://127.0.0.1:39793/path/6940010 > log/4/stdout694 2> log/4/stderr694 === End of file commands.log === Start of file http_server.log 14:53:57.634338 ====> Client connect 14:53:57.634368 accept_connection 3 returned 4 14:53:57.634385 accept_connection 3 returned 0 14:53:57.634401 Read 93 bytes 14:53:57.634411 Process 93 bytes request 14:53:57.634424 Got request: GET /verifiedserver HTTP/1.1 14:53:57.634434 Are-we-friendly question received 14:53:57.634457 Wrote request (93 bytes) input to log/4/server.input 14:53:57.634473 Identifying ourselves as friends 14:53:57.634524 Response sent (56 bytes) and written to log/4/server.response 14:53:57.634535 special request received, no persistency 14:53:57.634545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 56478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 694 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:39793/path/mine === End of file stderr694 === Start of file valgrind694 ==111802== ==111802== Process terminating with default action of signal 4 (SIGILL) ==111802== Illegal opcode at address 0x51D42F3 ==111802== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==111802== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==111802== by 0x51D42F3: Curl_open (url.c:551) ==111802== by 0x514CA2F: curl_easy_init (easy.c:372) ==111802== by 0x4021A61: test_lib694.lto_priv.0 (lib694.c:40) ==111802== by 0x400347F: main (first.c:281) ==111802== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==111802== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111802== by 0x51D4243: Curl_open (url.c:530) ==111802== by 0x514CA2F: curl_easy_init (easy.c:372) ==111802== by 0x4021A61: test_lib694.lto_priv.0 (lib694.c:40) ==111802== by 0x400347F: main (first.c:281) ==111802== === End of file valgrind694 test 0692...[-JO with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind692 ../src/curl -q --trace-ascii log/20/trace692 --trace-time http://127.0.0.1:39569/ -JO --output-dir log/20 > log/20/stdout692 2> log/20/stderr692 692: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind692 ../src/curl -q --trace-ascii log/20/trace692 --trace-time http://127.0.0.1:39569/ -JO --output-dir log/20 > log/20/stdout692 2> log/20/stderr692 === End of file commands.log === Start of file http_server.log 14:53:57.625205 ====> Client connect 14:53:57.625241 accept_connection 3 returned 4 14:53:57.625258 accept_connection 3 returned 0 14:53:57.625275 Read 93 bytes 14:53:57.625286 Process 93 bytes request 14:53:57.625303 Got request: GET /verifiedserver HTTP/1.1 14:53:57.625313 Are-we-friendly question received 14:53:57.625337 Wrote request (93 bytes) input to log/20/server.input 14:53:57.625356 Identifying ourselves as friends 14:53:57.625408 Response sent (56 bytes) and written to log/20/server.response 14:53:57.625419 special request received, no persistency 14:53:57.625428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 692 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind692 ==111719== ==111719== Process terminating with default action of signal 4 (SIGILL) ==111719== Illegal opcode at address 0x4014B6F ==111719== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111719== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111719== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111719== by 0x4004266: main (tool_main.c:199) === End of file valgrind692 test 0693...[--etag-save with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind693 ../src/curl -q --output log/21/curl693.out --include --trace-ascii log/21/trace693 --trace-time http://127.0.0.1:34037/693 --etag-save log/21/moo/boo/etag693 --create-dirs > log/21/stdout693 2> log/21/stderr693 693: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 693 === Start of file commands.log ../lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind686 ../src/curl -q --output log/9/curl686.out --include --trace-ascii log/9/trace686 --trace-time htdhdhdtp://localhost --next > log/9/stdout686 2> log/9/stderr686 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:40545/ > log/7/stdout684 2> log/7/stderr684 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind683 ../src/curl -q --output log/12/curl683.out --include --trace-ascii log/12/trace683 --trace-time --netrc-optional --netrc-file log/12/netrc683 http://user2@127.0.0.1:43359/ > log/12/stdout683 2> log/12/stderr683 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind685 ../src/curl -q --output log/22/curl685.out --include --trace-ascii log/22/trace685 --trace-time --netrc-optional --netrc-file log/22/netrc685 http://user@127.0.0.1:42027/ > log/22/stdout685 2> log/22/stderr685 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:37633/660 > log/19/stdout660 2> log/19/stderr660 ibtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind693 ../src/curl -q --output log/21/curl693.out --include --trace-ascii log/21/trace693 --trace-time http://127.0.0.1:34037/693 --etag-save log/21/moo/boo/etag693 --create-dirs > log/21/stdout693 2> log/21/stderr693 === End of file commands.log === Start of file http_server.log 14:53:57.637413 ====> Client connect 14:53:57.637442 accept_connection 3 returned 4 14:53:57.637460 accept_connection 3 returned 0 14:53:57.637474 Read 93 bytes 14:53:57.637485 Process 93 bytes request 14:53:57.637497 Got request: GET /verifiedserver HTTP/1.1 14:53:57.637506 Are-we-friendly question received 14:53:57.637527 Wrote request (93 bytes) input to log/21/server.input 14:53:57.637544 Identifying ourselves as friends 14:53:57.637595 Response sent (56 bytes) and written to log/21/server.response 14:53:57.637606 special request received, no persistency 14:53:57.637616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 693 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind693 ==111770== ==111770== Process terminating with default action of signal 4 (SIGILL) ==111770== Illegal opcode at address 0x4014B6F ==111770== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111770== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111770== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111770== by 0x4004266: main (tool_main.c:199) === End of file valgrind693 test 0686...[verify return code for missing URL after --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind686 ../src/curl -q --output log/9/curl686.out --include --trace-ascii log/9/trace686 --trace-time htdhdhdtp://localhost --next > log/9/stdout686 2> log/9/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/9/ dir after test 686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind686 ../src/curl -q --output log/9/curl686.out --include --trace-ascii log/9/trace686 --trace-time htdhdhdtp://localhost --next > log/9/stdout686 2> log/9/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==111381== ==111381== Process terminating with default action of signal 4 (SIGILL) ==111381== Illegal opcode at address 0x4014B6F ==111381== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111381== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111381== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111381== by 0x4004266: main (tool_main.c:199) === End of file valgrind686 test 0684...[netrc with no login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:40545/ > log/7/stdout684 2> log/7/stderr684 684: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:40545/ > log/7/stdout684 2> log/7/stderr684 === End of file commands.log === Start of file http_server.log 14:53:57.531786 ====> Client connect 14:53:57.531819 accept_connection 3 returned 4 14:53:57.531839 accept_connection 3 returned 0 14:53:57.531855 Read 93 bytes 14:53:57.531868 Process 93 bytes request 14:53:57.531882 Got request: GET /verifiedserver HTTP/1.1 14:53:57.531894 Are-we-friendly question received 14:53:57.531928 Wrote request (93 bytes) input to log/7/server.input 14:53:57.531947 Identifying ourselves as friends 14:53:57.532005 Response sent (56 bytes) and written to log/7/server.response 14:53:57.532017 special request received, no persistency 14:53:57.532028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 46376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file netrc684 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc684 === Start of file server.cmd Testnum 684 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind684 ==111313== ==111313== Process terminating with default action of signal 4 (SIGILL) ==111313== Illegal opcode at address 0x4014B6F ==111313== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111313== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111313== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111313== by 0x4004266: main (tool_main.c:199) === End of file valgrind684 test 0683...[netrc with multiple logins - pick second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind683 ../src/curl -q --output log/12/curl683.out --include --trace-ascii log/12/trace683 --trace-time --netrc-optional --netrc-file log/12/netrc683 http://user2@127.0.0.1:43359/ > log/12/stdout683 2> log/12/stderr683 683: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind683 ../src/curl -q --output log/12/curl683.out --include --trace-ascii log/12/trace683 --trace-time --netrc-optional --netrc-file log/12/netrc683 http://user2@127.0.0.1:43359/ > log/12/stdout683 2> log/12/stderr683 === End of file commands.log === Start of file http_server.log 14:53:57.529314 ====> Client connect 14:53:57.529342 accept_connection 3 returned 4 14:53:57.529358 accept_connection 3 returned 0 14:53:57.529373 Read 93 bytes 14:53:57.529384 Process 93 bytes request 14:53:57.529398 Got request: GET /verifiedserver HTTP/1.1 14:53:57.529408 Are-we-friendly question received 14:53:57.529435 Wrote request (93 bytes) input to log/12/server.input 14:53:57.529451 Identifying ourselves as friends 14:53:57.529500 Response sent (56 bytes) and written to log/12/server.response 14:53:57.529510 special request received, no persistency 14:53:57.529520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file netrc683 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc683 === Start of file server.cmd Testnum 683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind683 ==111294== ==111294== Process terminating with default action of signal 4 (SIGILL) ==111294== Illegal opcode at address 0x4014B6F ==111294== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111294== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111294== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111294== by 0x4004266: main (tool_main.c:199) === End of file valgrind683 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/imap_server.pid" --logfile "log/19/imap_server.log" --logdir "log/19" --portfile "log/19/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37633 (log/19/server/imap_server.port) RUN: IMAP server is PID 109672 port 37633 * pid imap => 109672 109672 test 0660...[IMAP CONNECT_ONLY option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:37633/660 > log/19/stdout660 2> log/19/stderr660 660: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 660 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:37633/660 > log/19/stdout660 2> log/19/stderr660 === End of file commands.log === Start of file imap_server.log 14:53:56.486633 IMAP server listens on port IPv4/37633 14:53:56.486742 logged pid 109672 in log/19/server/imap_server.pid 14:53:56.486764 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:53:56.569193 Running IPv4 version 14:53:56.569241 Listening on port 37633 14:53:56.569274 Wrote pid 109822 to log/19/server/imap_sockfilt.pid 14:53:56.569315 Wrote port 37633 to log/19/server/imap_server.port 14:53:56.569331 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 660 === End of file server.cmd === Start of file stderr660 URL: imap://127.0.0.1:37633/660 === End of file stderr660 === Start of file valgrind660 ==111353== ==111353== Process terminating with default action of signal 4 (SIGILL) ==111353== Illegal opcode at address 0x51D42F3 ==111353== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==111353== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==111353== by 0x51D42F3: Curl_open (url.c:551) ==111353== by 0x514CA2F: curl_easy_init (easy.c:372) ==111353== by 0x405DE55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111353== by 0x400347F: main (first.c:281) ==111353== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==111353== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111353== by 0x51D4243: Curl_open (url.c:530) ==111353== by 0x514CA2F: curl_easy_init (easy.c:372) ==111353== by 0x405DE55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111353== by 0x400347F: main (first.c:281) ==111353== === End of file valgrind660 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind690 ../src/curl -q --include --trace-ascii log/24/trace690 --trace-time http://127.0.0.1:34449/ -O --output-dir log/24 > log/24/stdout690 2> log/24/stderr690 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind691 ../src/curl -q --include --trace-ascii log/5/trace691 --trace-time http://127.0.0.1:46041/path/to/here/ -O --output-dir log/5 > log/5/stdout691 2> log/5/stderr691 test 0685...[netrc with no login - provided user] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind685 ../src/curl -q --output log/22/curl685.out --include --trace-ascii log/22/trace685 --trace-time --netrc-optional --netrc-file log/22/netrc685 http://user@127.0.0.1:42027/ > log/22/stdout685 2> log/22/stderr685 685: data FAILED: --- log/22/check-expected 2025-09-11 14:53:58.482197720 +0000 +++ log/22/check-generated 2025-09-11 14:53:58.482197720 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Fri, 05 Aug 2022 10:09:00 GMT[LF] -Server: test-server/fake[LF] -Content-Type: text/plain[LF] -Content-Length: 6[LF] -Connection: close[LF] -[LF] --foo-[LF] == Contents of files in the log/22/ dir after test 685 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Fri, 05 Aug 2022 10:09:00 GMT[LF] Server: test-server/fake[LF] Content-Type: text/plain[LF] Content-Length: 6[LF] Connection: close[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind685 ../src/curl -q --output log/22/curl685.out --include --trace-ascii log/22/trace685 --trace-time --netrc-optional --netrc-file log/22/netrc685 http://user@127.0.0.1:42027/ > log/22/stdout685 2> log/22/stderr685 === End of file commands.log === Start of file http_server.log 14:53:57.544390 ====> Client connect 14:53:57.544418 accept_connection 3 returned 4 14:53:57.544433 accept_connection 3 returned 0 14:53:57.544445 Read 93 bytes 14:53:57.544455 Process 93 bytes request 14:53:57.544467 Got request: GET /verifiedserver HTTP/1.1 14:53:57.544475 Are-we-friendly question received 14:53:57.544497 Wrote request (93 bytes) input to log/22/server.input 14:53:57.544511 Identifying ourselves as friends 14:53:57.544559 Response sent (56 bytes) and written to log/22/server.response 14:53:57.544568 special request received, no persistency 14:53:57.544576 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 42332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file netrc685 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc685 === Start of file server.cmd Testnum 685 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind685 ==111368== ==111368== Process terminating with default action of signal 4 (SIGILL) ==111368== Illegal opcode at address 0x4014B6F ==111368== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111368== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111368== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111368== by 0x4004266: main (tool_main.c:199) === End of file valgrind685 test 0690...[-O with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind690 ../src/curl -q --include --trace-ascii log/24/trace690 --trace-time http://127.0.0.1:34449/ -O --output-dir log/24 > log/24/stdout690 2> log/24/stderr690 690: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 690 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind690 ../src/curl -q --include --trace-ascii log/24/trace690 --trace-time http://127.0.0.1:34449/ -O --output-dir log/24 > log/24/stdout690 2> log/24/stderr690 === End of file commands.log === Start of file http_server.log 14:53:57.613089 ====> Client connect 14:53:57.613126 accept_connection 3 returned 4 14:53:57.613144 accept_connection 3 returned 0 14:53:57.613160 Read 93 bytes 14:53:57.613173 Process 93 bytes request 14:53:57.613190 Got request: GET /verifiedserver HTTP/1.1 14:53:57.613200 Are-we-friendly question received 14:53:57.613229 Wrote request (93 bytes) input to log/24/server.input 14:53:57.613249 Identifying ourselves as friends 14:53:57.613309 Response sent (56 bytes) and written to log/24/server.response 14:53:57.613319 special request received, no persistency 14:53:57.613329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 60810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 690 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind690 ==111678== ==111678== Process terminating with default action of signal 4 (SIGILL) ==111678== Illegal opcode at address 0x4014B6F ==111678== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111678== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111678== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111678== by 0x4004266: main (tool_main.c:199) === End of file valgrind690 test 0691...[-O with URL with path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind691 ../src/curl -q --include --trace-ascii log/5/trace691 --trace-time http://127.0.0.1:46041/path/to/here/ -O --output-dir log/5 > log/5/stdout691 2> log/5/stderr691 691: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 691 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind691 ../src/curl -q --include --trace-ascii log/5/trace691 --trace-time http://127.0.0.1:46041/path/to/here/ -O --output-dir log/5 > log/5/stdout691 2> log/5/stderr691 === End of file commands.log === Start of file http_server.log 14:53:57.621625 ====> Client connect 14:53:57.621667 accept_connection 3 returned 4 14:53:57.621686 accept_connection 3 returned 0 14:53:57.621704 Read 93 bytes 14:53:57.621714 Process 93 bytes request 14:53:57.621732 Got request: GET /verifiedserver HTTP/1.1 14:53:57.621743 Are-we-friendly question received 14:53:57.621774 Wrote request (93 bytes) input to log/5/server.input 14:53:57.621792 Identifying ourselves as friends 14:53:57.621859 Response sent (56 bytes) and written to log/5/server.response 14:53:57.621870 special request received, no persistency 14:53:57.621880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:43297/we/want/695 > log/18/stdout695 2> log/18/stderr695 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33503 > log/11/stdout696 2> log/11/stderr696 t 45076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 691 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind691 ==111717== ==111717== Process terminating with default action of signal 4 (SIGILL) ==111717== Illegal opcode at address 0x4014B6F ==111717== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==111717== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==111717== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==111717== by 0x4004266: main (tool_main.c:199) === End of file valgrind691 test 0695...[MIME parts reuse as a child part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:43297/we/want/695 > log/18/stdout695 2> log/18/stderr695 695: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 695 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:43297/we/want/695 > log/18/stdout695 2> log/18/stderr695 === End of file commands.log === Start of file http_server.log 14:53:57.638282 ====> Client connect 14:53:57.638324 accept_connection 3 returned 4 14:53:57.638342 accept_connection 3 returned 0 14:53:57.638358 Read 93 bytes 14:53:57.638372 Process 93 bytes request 14:53:57.638384 Got request: GET /verifiedserver HTTP/1.1 14:53:57.638395 Are-we-friendly question received 14:53:57.638421 Wrote request (93 bytes) input to log/18/server.input 14:53:57.638438 Identifying ourselves as friends 14:53:57.638508 Response sent (56 bytes) and written to log/18/server.response 14:53:57.638519 special request received, no persistency 14:53:57.638529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 39828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 695 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:43297/we/want/695 === End of file stderr695 === Start of file valgrind695 ==111788== ==111788== Process terminating with default action of signal 4 (SIGILL) ==111788== Illegal opcode at address 0x51D42F3 ==111788== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==111788== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==111788== by 0x51D42F3: Curl_open (url.c:551) ==111788== by 0x514CA2F: curl_easy_init (easy.c:372) ==111788== by 0x4024F0A: test_lib695.lto_priv.0 (lib695.c:53) ==111788== by 0x400347F: main (first.c:281) ==111788== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==111788== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111788== by 0x51D4243: Curl_open (url.c:530) ==111788== by 0x514CA2F: curl_easy_init (easy.c:372) ==111788== by 0x4024F0A: test_lib695.lto_priv.0 (lib695.c:53) ==111788== by 0x400347F: main (first.c:281) ==111788== === End of file valgrind695 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind697 ../src/curl -q --output log/14/curl697.out --include --trace-ascii log/14/trace697 --trace-time --netrc --netrc-file log/14/netrc697 http://user1@http.example/ > log/14/stdout697 2> log/14/stderr697 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind698 ../src/curl -q --output log/13/curl698.out --include --trace-ascii log/13/trace698 --trace-time ftp://127.0.0.1:36645/698 --ftp-account "one count" ftp://127.0.0.1:36645/698 > log/13/stdout698 2> log/13/stderr698 test 0696...[CONNECT_ONLY and doing a second curl_easy_perform] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33503 > log/11/stdout696 2> log/11/stderr696 696: stdout FAILED: --- log/11/check-expected 2025-09-11 14:53:58.752197724 +0000 +++ log/11/check-generated 2025-09-11 14:53:58.752197724 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/11/ dir after test 696 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33503 > log/11/stdout696 2> log/11/stderr696 === End of file commands.log === Start of file http_server.log 14:53:57.978742 ====> Client connect 14:53:57.978780 accept_connection 3 returned 4 14:53:57.978799 accept_connection 3 returned 0 14:53:57.978816 Read 93 bytes 14:53:57.978828 Process 93 bytes request 14:53:57.978843 Got request: GET /verifiedserver HTTP/1.1 14:53:57.978854 Are-we-friendly question received 14:53:57.978882 Wrote request (93 bytes) input to log/11/server.input 14:53:57.978905 Identifying ourselves as friends 14:53:57.978963 Response sent (56 bytes) and written to log/11/server.response 14:53:57.978975 special request received, no persistency 14:53:57.978986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 696 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:33503 === End of file stderr696 === Start of file valgrind696 ==112109== ==112109== Process terminating with default action of signal 4 (SIGILL) ==112109== Illegal opcode at address 0x51D42F3 ==112109== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==112109== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==112109== by 0x51D42F3: Curl_open (url.c:551) ==112109== by 0x514CA2F: curl_easy_init (easy.c:372) ==112109== by 0x4018000: test_lib556.lto_priv.0 (lib556.c:39) ==112109== by 0x400347F: main (first.c:281) ==112109== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==112109== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112109== by 0x51D4243: Curl_open (url.c:530) ==112109== by 0x514CA2F: curl_easy_init (easy.c:372) ==112109== by 0x4018000: test_lib556.lto_priv.0 (lib556.c:39) ==112109== by 0x400347F: main (first.c:281) ==112109== === End of file valgrind696 test 0697...[netrc with missing netrc file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind697 ../src/curl -q --output log/14/curl697.out --include --trace-ascii log/14/trace697 --trace-time --netrc --netrc-file log/14/netrc697 http://user1@http.example/ > log/14/stdout697 2> log/14/stderr697 curl returned 132, when expecting 26 697: exit FAILED == Contents of files in the log/14/ dir after test 697 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind697 ../src/curl -q --output log/14/curl697.out --include --trace-ascii log/14/trace697 --trace-time --netrc --netrc-file log/14/netrc697 http://user1@http.example/ > log/14/stdout697 2> log/14/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==112067== ==112067== Process terminating with default action of signal 4 (SIGILL) ==112067== Illegal opcode at address 0x4014B6F ==112067== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112067== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112067== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112067== by 0x4004266: main (tool_main.c:199) === End of file valgrind697 test 0698...[FTP with ACCT and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind698 ../src/curl -q --output log/13/curl698.out --include --trace-ascii log/13/trace698 --trace-time ftp://127.0.0.1:36645/698 --ftp-account "one count" ftp://127.0.0.1:36645/698 > log/13/stdout698 2> log/13/stderr698 698: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 698 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind698 ../src/curl -q --output log/13/curl698.out --include --trace-ascii log/13/trace698 --trace-time ftp://127.0.0.1:36645/698 --ftp-account "one count" ftp://127.0.0.1:36645/698 > log/13/stdout698 2> log/13/stderr698 === End of file commands.log === Start of file ftp_server.log 14:53:57.891335 ====> Client connect 14:53:57.891488 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:57.891763 < "USER anonymous" 14:53:57.891797 > "331 We are happy you popped in![CR][LF]" 14:53:57.891953 < "PASS ftp@example.com" 14:53:57.891976 > "230 Welcome you silly person[CR][LF]" 14:53:57.892119 < "PWD" 14:53:57.892148 > "257 "/" is current directory[CR][LF]" 14:53:57.892298 < "EPSV" 14:53:57.892319 ====> Passive DATA channel requested by client 14:53:57.892332 DATA sockfilt for passive data channel starting... 14:53:57.893980 DATA sockfilt for passive data channel started (pid 112090) 14:53:57.894079 DATA sockfilt for passive data channel listens on port 33981 14:53:57.894114 > "229 Entering Passive Mode (|||33981|)[LF]" 14:53:57.894131 Client has been notified that DATA conn will be accepted on port 33981 14:53:57.894340 Client connects to port 33981 14:53:57.894367 ====> Client established passive DATA connection on port 33981 14:53:57.894433 < "TYPE I" 14:53:57.894458 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:57.894607 < "SIZE verifiedserver" 14:53:57.894637 > "213 17[CR][LF]" 14:53:57.894777 < "RETR verifiedserver" 14:53:57.894807 > "150 Binary junk (17 bytes).[CR][LF]" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind699 ../src/curl -q --output log/3/curl699.out --include --trace-ascii log/3/trace699 --trace-time http://127.0.0.1:46791/699 -K log/3/cmd > log/3/stdout699 2> log/3/stderr699 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:40503/677 > log/10/stdout677 2> log/10/stderr677 14:53:57.894881 =====> Closing passive DATA connection... 14:53:57.894896 Server disconnects passive DATA connection 14:53:57.895121 Server disconnected passive DATA connection 14:53:57.895147 DATA sockfilt for passive data channel quits (pid 112090) 14:53:57.895346 DATA sockfilt for passive data channel quit (pid 112090) 14:53:57.895367 =====> Closed passive DATA connection 14:53:57.895393 > "226 File transfer complete[CR][LF]" 14:53:57.939485 < "QUIT" 14:53:57.939544 > "221 bye bye baby[CR][LF]" 14:53:57.940408 MAIN sockfilt said DISC 14:53:57.940438 ====> Client disconnected 14:53:57.940514 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:57.974042 ====> Client connect 14:53:57.974314 Received DATA (on stdin) 14:53:57.974329 > 160 bytes data, server => client 14:53:57.974342 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:57.974353 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:57.974364 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:57.974437 < 16 bytes data, client => server 14:53:57.974450 'USER anonymous\r\n' 14:53:57.974613 Received DATA (on stdin) 14:53:57.974626 > 33 bytes data, server => client 14:53:57.974637 '331 We are happy you popped in!\r\n' 14:53:57.974685 < 22 bytes data, client => server 14:53:57.974697 'PASS ftp@example.com\r\n' 14:53:57.974788 Received DATA (on stdin) 14:53:57.974800 > 30 bytes data, server => client 14:53:57.974811 '230 Welcome you silly person\r\n' 14:53:57.974856 < 5 bytes data, client => server 14:53:57.974867 'PWD\r\n' 14:53:57.974961 Received DATA (on stdin) 14:53:57.974972 > 30 bytes data, server => client 14:53:57.974983 '257 "/" is current directory\r\n' 14:53:57.975036 < 6 bytes data, client => server 14:53:57.975047 'EPSV\r\n' 14:53:57.976950 Received DATA (on stdin) 14:53:57.976963 > 38 bytes data, server => client 14:53:57.976975 '229 Entering Passive Mode (|||33981|)\n' 14:53:57.977075 < 8 bytes data, client => server 14:53:57.977089 'TYPE I\r\n' 14:53:57.977272 Received DATA (on stdin) 14:53:57.977284 > 33 bytes data, server => client 14:53:57.977295 '200 I modify TYPE as you wanted\r\n' 14:53:57.977343 < 21 bytes data, client => server 14:53:57.977355 'SIZE verifiedserver\r\n' 14:53:57.977449 Received DATA (on stdin) 14:53:57.977461 > 8 bytes data, server => client 14:53:57.977471 '213 17\r\n' 14:53:57.977514 < 21 bytes data, client => server 14:53:57.977526 'RETR verifiedserver\r\n' 14:53:57.977711 Received DATA (on stdin) 14:53:57.977723 > 29 bytes data, server => client 14:53:57.977734 '150 Binary junk (17 bytes).\r\n' 14:53:57.978207 Received DATA (on stdin) 14:53:57.978220 > 28 bytes data, server => client 14:53:57.978232 '226 File transfer complete\r\n' 14:53:58.021764 < 6 bytes data, client => server 14:53:58.021790 'QUIT\r\n' 14:53:58.022365 Received DATA (on stdin) 14:53:58.022380 > 18 bytes data, server => client 14:53:58.022393 '221 bye bye baby\r\n' 14:53:58.023172 ====> Client disconnect 14:53:58.023330 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:57.976527 Running IPv4 version 14:53:57.976577 Listening on port 33981 14:53:57.976612 Wrote pid 112090 to log/13/server/ftp_sockdata.pid 14:53:57.976740 Received PING (on stdin) 14:53:57.976818 Received PORT (on stdin) 14:53:57.977108 ====> Client connect 14:53:57.977757 Received DATA (on stdin) 14:53:57.977771 > 17 bytes data, server => client 14:53:57.977781 'WE ROOLZ: 80108\r\n' 14:53:57.977803 Received DISC (on stdin) 14:53:57.977815 ====> Client forcibly disconnected 14:53:57.977969 Received QUIT (on stdin) 14:53:57.977981 quits 14:53:57.978036 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 698 === End of file server.cmd === Start of file valgrind698 ==112174== ==112174== Process terminating with default action of signal 4 (SIGILL) ==112174== Illegal opcode at address 0x4014B6F ==112174== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112174== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112174== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112174== by 0x4004266: main (tool_main.c:199) === End of file valgrind698 test 0699...[--config with single-letter options plus one that is cleared] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind699 ../src/curl -q --output log/3/curl699.out --include --trace-ascii log/3/trace699 --trace-time http://127.0.0.1:46791/699 -K log/3/cmd > log/3/stdout699 2> log/3/stderr699 699: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 699 === Start of file cmd -Lfuhej:you === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind699 ../src/curl -q --output log/3/curl699.out --include --trace-ascii log/3/trace699 --trace-time http://127.0.0.1:46791/699 -K log/3/cmd > log/3/stdout699 2> log/3/stderr699 === End of file commands.log === Start of file http_server.log 14:53:58.145911 ====> Client connect 14:53:58.145948 accept_connection 3 returned 4 14:53:58.145967 accept_connection 3 returned 0 14:53:58.145984 Read 93 bytes 14:53:58.145995 Process 93 bytes request 14:53:58.146009 Got request: GET /verifiedserver HTTP/1.1 14:53:58.146021 Are-we-friendly question received 14:53:58.146047 Wrote request (93 bytes) input to log/3/server.input 14:53:58.146066 Identifying ourselves as friends 14:53:58.146125 Response sent (56 bytes) and written to log/3/server.response 14:53:58.146137 special request received, no persistency 14:53:58.146148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 699 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind699 ==112276== ==112276== Process terminating with default action of signal 4 (SIGILL) ==112276== Illegal opcode at address 0x4014B6F ==112276== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112276== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112276== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112276== by 0x4004266: main (tool_main.c:199) === End of file valgrind699 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/imap_server.pid" --logfile "log/10/imap_server.log" --logdir "log/10" --portfile "log/10/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40503 (log/10/server/imap_server.port) RUN: IMAP server is PID 111033 port 40503 * pid imap => 111033 111033 test 0677...[IMAP with CONNECT_ONLY, custom command then exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:40503/677 > log/10/stdout677 2> log/10/stderr677 677: protocol FAILED! There was no content at allCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind704 ../src/curl -q --output log/15/curl704.out --include --trace-ascii log/15/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:42107/704 > log/15/stdout704 2> log/15/stderr704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind705 ../src/curl -q --output log/23/curl705.out --include --trace-ascii log/23/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:38851/705 > log/23/stdout705 2> log/23/stderr705 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind718 ../src/curl -q --output log/11/curl718.out --include --trace-ascii log/11/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33503 --proxytunnel > log/11/stdout718 2> log/11/stderr718 in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 677 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:40503/677 > log/10/stdout677 2> log/10/stderr677 === End of file commands.log === Start of file imap_server.log 14:53:57.349158 IMAP server listens on port IPv4/40503 14:53:57.349266 logged pid 111033 in log/10/server/imap_server.pid 14:53:57.349298 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:53:57.431092 Running IPv4 version 14:53:57.431179 Listening on port 40503 14:53:57.431217 Wrote pid 111052 to log/10/server/imap_sockfilt.pid 14:53:57.431247 Wrote port 40503 to log/10/server/imap_server.port 14:53:57.431866 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 677 === End of file server.cmd === Start of file stderr677 URL: imap://127.0.0.1:40503/677 === End of file stderr677 === Start of file valgrind677 ==112370== ==112370== Process terminating with default action of signal 4 (SIGILL) ==112370== Illegal opcode at address 0x519C257 ==112370== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==112370== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==112370== by 0x519C257: Curl_multi_handle (multi.c:236) ==112370== by 0x402708F: test_lib677.lto_priv.0 (lib677.c:43) ==112370== by 0x400347F: main (first.c:281) ==112370== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==112370== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112370== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==112370== by 0x402708F: test_lib677.lto_priv.0 (lib677.c:43) ==112370== by 0x400347F: main (first.c:281) ==112370== === End of file valgrind677 test 0704...[Attempt connect to non-listening SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind704 ../src/curl -q --output log/15/curl704.out --include --trace-ascii log/15/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:42107/704 > log/15/stdout704 2> log/15/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/15/ dir after test 704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind704 ../src/curl -q --output log/15/curl704.out --include --trace-ascii log/15/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:42107/704 > log/15/stdout704 2> log/15/stderr704 === End of file commands.log === Start of file http_server.log 14:53:58.455256 ====> Client connect 14:53:58.455289 accept_connection 3 returned 4 14:53:58.455307 accept_connection 3 returned 0 14:53:58.455322 Read 93 bytes 14:53:58.455333 Process 93 bytes request 14:53:58.455346 Got request: GET /verifiedserver HTTP/1.1 14:53:58.455357 Are-we-friendly question received 14:53:58.455382 Wrote request (93 bytes) input to log/15/server.input 14:53:58.455400 Identifying ourselves as friends 14:53:58.455457 Response sent (56 bytes) and written to log/15/server.response 14:53:58.455468 special request received, no persistency 14:53:58.455478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 47408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind704 ==112450== ==112450== Process terminating with default action of signal 4 (SIGILL) ==112450== Illegal opcode at address 0x4014B6F ==112450== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112450== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112450== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112450== by 0x4004266: main (tool_main.c:199) === End of file valgrind704 test 0705...[Attempt connect to non-listening SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind705 ../src/curl -q --output log/23/curl705.out --include --trace-ascii log/23/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:38851/705 > log/23/stdout705 2> log/23/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/23/ dir after test 705 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind705 ../src/curl -q --output log/23/curl705.out --include --trace-ascii log/23/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:38851/705 > log/23/stdout705 2> log/23/stderr705 === End of file commands.log === Start of file http_server.log 14:53:58.463229 ====> Client connect 14:53:58.463253 accept_connection 3 returned 4 14:53:58.463266 accept_connection 3 returned 0 14:53:58.463277 Read 93 bytes 14:53:58.463285 Process 93 bytes request 14:53:58.463295 Got request: GET /verifiedserver HTTP/1.1 14:53:58.463303 Are-we-friendly question received 14:53:58.463321 Wrote request (93 bytes) input to log/23/server.input 14:53:58.463334 Identifying ourselves as friends 14:53:58.463374 Response sent (56 bytes) and written to log/23/server.response 14:53:58.463382 special request received, no persistency 14:53:58.463389 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 705 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind705 ==112463== ==112463== Process terminating with default action of signal 4 (SIGILL) ==112463== Illegal opcode at address 0x4014B6F ==112463== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112463== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112463== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112463== by 0x4004266: main (tool_main.c:199) === End of file valgrind705 test 0718...[HTTP proxy CONNECT (no auth) with proxy returning 407 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind718 ../src/curl -q --output log/11/curl718.out --include --trace-ascii log/11/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33503 --proxytunnel > log/11/stdout718 2> log/11/stderr718 718: protCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind722 ../src/curl -q --output log/3/curl722.out --include --trace-ascii log/3/trace722 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout722 2> log/3/stderr722 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind723 ../src/curl -q --output log/10/curl723.out --include --trace-ascii log/10/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout723 2> log/10/stderr723 ocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 718 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind718 ../src/curl -q --output log/11/curl718.out --include --trace-ascii log/11/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33503 --proxytunnel > log/11/stdout718 2> log/11/stderr718 === End of file commands.log === Start of file http_server.log 14:53:58.854630 ====> Client connect 14:53:58.854653 accept_connection 3 returned 4 14:53:58.854665 accept_connection 3 returned 0 14:53:58.854676 Read 93 bytes 14:53:58.854684 Process 93 bytes request 14:53:58.854695 Got request: GET /verifiedserver HTTP/1.1 14:53:58.854702 Are-we-friendly question received 14:53:58.854719 Wrote request (93 bytes) input to log/11/server.input 14:53:58.854730 Identifying ourselves as friends 14:53:58.854767 Response sent (56 bytes) and written to log/11/server.response 14:53:58.854774 special request received, no persistency 14:53:58.854781 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 718 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind718 ==112803== ==112803== Process terminating with default action of signal 4 (SIGILL) ==112803== Illegal opcode at address 0x4014B6F ==112803== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112803== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112803== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112803== by 0x4004266: main (tool_main.c:199) === End of file valgrind718 test 0722...[IPFS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind722 ../src/curl -q --output log/3/curl722.out --include --trace-ascii log/3/trace722 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout722 2> log/3/stderr722 722: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind722 ../src/curl -q --output log/3/curl722.out --include --trace-ascii log/3/trace722 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout722 2> log/3/stderr722 === End of file commands.log === Start of file http_server.log 14:53:58.921399 ====> Client connect 14:53:58.921421 accept_connection 3 returned 4 14:53:58.921433 accept_connection 3 returned 0 14:53:58.921444 Read 93 bytes 14:53:58.921452 Process 93 bytes request 14:53:58.921462 Got request: GET /verifiedserver HTTP/1.1 14:53:58.921469 Are-we-friendly question received 14:53:58.921487 Wrote request (93 bytes) input to log/3/server.input 14:53:58.921499 Identifying ourselves as friends 14:53:58.921536 Response sent (56 bytes) and written to log/3/server.response 14:53:58.921544 special request received, no persistency 14:53:58.921551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56806 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 722 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind722 ==112883== ==112883== Process terminating with default action of signal 4 (SIGILL) ==112883== Illegal opcode at address 0x4014B6F ==112883== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112883== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112883== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112883== by 0x4004266: main (tool_main.c:199) === End of file valgrind722 test 0723...[IPFS with malformed gateway URL (bad function argument error)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind723 ../src/curl -q --output log/10/curl723.out --include --trace-ascii log/10/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout723 2> log/10/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/10/ dir after test 723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind723 ../src/curl -q --output log/10/curl723.out --include --trace-ascii log/10/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout723 2> log/10/stderr723 === End of file commands.log === Start of file http_server.log 14:53:59.113400 ====> Client connect 14:53:59.113423 accept_connection 3 returned 4 14:53:59.113435 accept_connection 3 returned 0 14:53:59.113446 Read 93 bytes 14:53:59.113453 Process 93 bytes request 14:53:59.113464 Got request: GET /verifiedserver HTTP/1.1 14:53:59.113471 Are-we-friendly question received 14:53:59.113488 Wrote request (93 bytes) input to log/10/server.input 14:53:59.113500 Identifying ourselves as friends 14:53:59.113537 Response sent (56 bytes) and written to log/10/server.response 14:53:59.113545 special request received, no persistency 14:53:59.113552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 59968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 723 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind723 ==112978== ==112978== Process terminating with default action of signal 4 (SIGILL) ==112978== Illegal opcode at address 0x4014B6F ==112978CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind701 ../src/curl -q --output log/6/curl701.out --include --trace-ascii log/6/trace701 --trace-time --socks5 127.0.0.1:36745 http://127.0.0.1:38791/701 > log/6/stdout701 2> log/6/stderr701 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind700 ../src/curl -q --output log/17/curl700.out --include --trace-ascii log/17/trace700 --trace-time --socks4 127.0.0.1:41083 http://127.0.0.1:45171/700 > log/17/stdout700 2> log/17/stderr700 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind702 ../src/curl -q --output log/1/curl702.out --include --trace-ascii log/1/trace702 --trace-time --socks4 127.0.0.1:36785 http://127.0.0.1:47 > log/1/stdout702 2> log/1/stderr702 == at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112978== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112978== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112978== by 0x4004266: main (tool_main.c:199) === End of file valgrind723 startnew: ./server/servers socksd --port 0 --pidfile log/6/server/socks_server.pid --portfile log/6/server/socks_server.port --reqfile log/6/socksd-request.log --logfile log/6/socks_server.log --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS server is now running PID 112315 * pid socks => 112315 112315 test 0701...[HTTP GET via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind701 ../src/curl -q --output log/6/curl701.out --include --trace-ascii log/6/trace701 --trace-time --socks5 127.0.0.1:36745 http://127.0.0.1:38791/701 > log/6/stdout701 2> log/6/stderr701 701: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 701 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind701 ../src/curl -q --output log/6/curl701.out --include --trace-ascii log/6/trace701 --trace-time --socks5 127.0.0.1:36745 http://127.0.0.1:38791/701 > log/6/stdout701 2> log/6/stderr701 === End of file commands.log === Start of file http_server.log 14:53:58.178995 ====> Client connect 14:53:58.179026 accept_connection 3 returned 4 14:53:58.179042 accept_connection 3 returned 0 14:53:58.179055 Read 93 bytes 14:53:58.179066 Process 93 bytes request 14:53:58.179078 Got request: GET /verifiedserver HTTP/1.1 14:53:58.179088 Are-we-friendly question received 14:53:58.179110 Wrote request (93 bytes) input to log/6/server.input 14:53:58.179126 Identifying ourselves as friends 14:53:58.179174 Response sent (56 bytes) and written to log/6/server.response 14:53:58.179184 special request received, no persistency 14:53:58.179193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 701 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file socks_server.log 14:53:58.183694 Running IPv4 version 14:53:58.183767 Listening on port 36745 14:53:58.183804 Wrote pid 112315 to log/6/server/socks_server.pid 14:53:58.183860 Wrote port 36745 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==113133== ==113133== Process terminating with default action of signal 4 (SIGILL) ==113133== Illegal opcode at address 0x4014B6F ==113133== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113133== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113133== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113133== by 0x4004266: main (tool_main.c:199) === End of file valgrind701 startnew: ./server/servers socksd --port 0 --pidfile log/17/server/socks_server.pid --portfile log/17/server/socks_server.port --reqfile log/17/socksd-request.log --logfile log/17/socks_server.log --backend 127.0.0.1 --config log/17/server.cmd RUN: SOCKS server is now running PID 112311 * pid socks => 112311 112311 test 0700...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind700 ../src/curl -q --output log/17/curl700.out --include --trace-ascii log/17/trace700 --trace-time --socks4 127.0.0.1:41083 http://127.0.0.1:45171/700 > log/17/stdout700 2> log/17/stderr700 700: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 700 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind700 ../src/curl -q --output log/17/curl700.out --include --trace-ascii log/17/trace700 --trace-time --socks4 127.0.0.1:41083 http://127.0.0.1:45171/700 > log/17/stdout700 2> log/17/stderr700 === End of file commands.log === Start of file http_server.log 14:53:58.175219 ====> Client connect 14:53:58.175257 accept_connection 3 returned 4 14:53:58.175276 accept_connection 3 returned 0 14:53:58.175293 Read 93 bytes 14:53:58.175305 Process 93 bytes request 14:53:58.175321 Got request: GET /verifiedserver HTTP/1.1 14:53:58.175332 Are-we-friendly question received 14:53:58.175361 Wrote request (93 bytes) input to log/17/server.input 14:53:58.175379 Identifying ourselves as friends 14:53:58.175439 Response sent (56 bytes) and written to log/17/server.response 14:53:58.175451 special request received, no persistency 14:53:58.175462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 57210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 700 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file socks_server.log 14:53:58.180611 Running IPv4 version 14:53:58.180696 Listening on port 41083 14:53:58.180735 Wrote pid 112311 to log/17/server/socks_server.pid 14:53:58.180766 Wrote port 41083 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==113124== ==113124== Process terminating with default action of signal 4 (SIGILL) ==113124== Illegal opcode at address 0x4014B6F ==113124== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113124== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113124== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113124== by 0x4004266: main (tool_main.c:199) === End of file valgrind700 startnew: ./server/servers socksd --port 0 --pidfile log/1/server/socks_server.pid --portfile log/1/server/socks_server.port --reqfile log/1/socksd-request.log --logfile log/1/socks_server.log --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS server is now running PID 112363 * pid socks => 112363 112363 test 0702...[Attempt connect to non-listening HTTP server via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind702 ../src/curl -q --output log/1/curl702.out --include --trace-ascii log/1/trace702 --trace-time --socks4 127.0.0.1:36785 http://127.0.0.1:47 > log/1/stdout702 2> log/1/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/1/ dir after test 702 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind703 ../src/curl -q --output log/16/curl703.out --include --trace-ascii log/16/trace703 --trace-time --socks5 127.0.0.1:40109 http://127.0.0.1:47 > log/16/stdout703 2> log/16/stderr703 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind726 ../src/curl -q --output log/11/curl726.out --include --trace-ascii log/11/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout726 2> log/11/stderr726 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind727 ../src/curl -q --output log/3/curl727.out --include --trace-ascii log/3/trace727 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout727 2> log/3/stderr727 d --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind702 ../src/curl -q --output log/1/curl702.out --include --trace-ascii log/1/trace702 --trace-time --socks4 127.0.0.1:36785 http://127.0.0.1:47 > log/1/stdout702 2> log/1/stderr702 === End of file commands.log === Start of file server.cmd response 91 Testnum 702 === End of file server.cmd === Start of file socks_server.log 14:53:58.325435 Running IPv4 version 14:53:58.325497 Listening on port 36785 14:53:58.325535 Wrote pid 112363 to log/1/server/socks_server.pid 14:53:58.325570 Wrote port 36785 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==113226== ==113226== Process terminating with default action of signal 4 (SIGILL) ==113226== Illegal opcode at address 0x4014B6F ==113226== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113226== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113226== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113226== by 0x4004266: main (tool_main.c:199) === End of file valgrind702 startnew: ./server/servers socksd --port 0 --pidfile log/16/server/socks_server.pid --portfile log/16/server/socks_server.port --reqfile log/16/socksd-request.log --logfile log/16/socks_server.log --backend 127.0.0.1 --config log/16/server.cmd RUN: SOCKS server is now running PID 112414 * pid socks => 112414 112414 test 0703...[Attempt connect to non-listening HTTP server via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind703 ../src/curl -q --output log/16/curl703.out --include --trace-ascii log/16/trace703 --trace-time --socks5 127.0.0.1:40109 http://127.0.0.1:47 > log/16/stdout703 2> log/16/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/16/ dir after test 703 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind703 ../src/curl -q --output log/16/curl703.out --include --trace-ascii log/16/trace703 --trace-time --socks5 127.0.0.1:40109 http://127.0.0.1:47 > log/16/stdout703 2> log/16/stderr703 === End of file commands.log === Start of file server.cmd response 1 Testnum 703 === End of file server.cmd === Start of file socks_server.log 14:53:58.441989 Running IPv4 version 14:53:58.442041 Listening on port 40109 14:53:58.442068 Wrote pid 112414 to log/16/server/socks_server.pid 14:53:58.442091 Wrote port 40109 to log/16/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==113278== ==113278== Process terminating with default action of signal 4 (SIGILL) ==113278== Illegal opcode at address 0x4014B6F ==113278== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113278== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113278== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113278== by 0x4004266: main (tool_main.c:199) === End of file valgrind703 setenv HOME = /startdir/src/build-curl/tests test 0726...[IPFS with no gateway URL (no environment or home file either)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind726 ../src/curl -q --output log/11/curl726.out --include --trace-ascii log/11/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout726 2> log/11/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/11/ dir after test 726 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind726 ../src/curl -q --output log/11/curl726.out --include --trace-ascii log/11/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout726 2> log/11/stderr726 === End of file commands.log === Start of file http_server.log 14:53:59.523925 ====> Client connect 14:53:59.523973 accept_connection 3 returned 4 14:53:59.523986 accept_connection 3 returned 0 14:53:59.523997 Read 93 bytes 14:53:59.524005 Process 93 bytes request 14:53:59.524016 Got request: GET /verifiedserver HTTP/1.1 14:53:59.524023 Are-we-friendly question received 14:53:59.524041 Wrote request (93 bytes) input to log/11/server.input 14:53:59.524054 Identifying ourselves as friends 14:53:59.524092 Response sent (56 bytes) and written to log/11/server.response 14:53:59.524100 special request received, no persistency 14:53:59.524107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 726 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind726 ==113348== ==113348== Process terminating with default action of signal 4 (SIGILL) ==113348== Illegal opcode at address 0x4014B6F ==113348== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113348== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113348== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113348== by 0x4004266: main (tool_main.c:199) === End of file valgrind726 test 0727...[IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind727 ../src/curl -q --output log/3/curl727.out --include --trace-ascii log/3/trace727 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout727 2> log/3/stderr727 727: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 727 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind727 ../src/curl -q --output log/3/curl727.out --include --trace-ascii log/3/trace727 --trace-time --ipfs-gateway http://127.0.0.1:46791 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout727 2> log/3/stderr727 === End of file commands.log === Start of file http_server.log 14:53:59.543268 ====> Client connect 14:53:59.543290 accept_connection 3 returned 4 14:53:59.543303 accept_connection 3 returned 0 14:53:59.543314 Read 93 bytes 14:53:59.543322 Process 93 bytes request 14:53:59.543332 Got request: GET /verifiedserver HTTP/1.1 14:53:59.543340 Are-we-friendly question received 14:53:59.543357 Wrote request (93 bytes) input to log/3/server.input 14:53:59.543370 Identifying ourselves as friends 14:53:59.543410 Response sent (56 bytes) and written to log/3/server.response 14:53:59.543418 special request received, no persistency 14:53:59.543426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56808 * using HTTP/1.x > GET /verifiedsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind706 ../src/curl -q --output log/8/curl706.out --include --trace-ascii log/8/trace706 --trace-time --socks4 127.0.0.1:40343 ftp://127.0.0.1:37557/ > log/8/stdout706 2> log/8/stderr706 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind708 ../src/curl -q --output log/20/curl708.out --include --trace-ascii log/20/trace708 --trace-time http://127.0.0.1:39569/708 > log/20/stdout708 2> log/20/stderr708 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind710 ../src/curl -q --output log/9/curl710.out --include --trace-ascii log/9/trace710 --trace-time http://127.0.0.1:34345/710 --proxy socks5://127.0.0.1:39841 > log/9/stdout710 2> log/9/stderr710 erver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 727 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind727 ==113417== ==113417== Process terminating with default action of signal 4 (SIGILL) ==113417== Illegal opcode at address 0x4014B6F ==113417== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113417== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113417== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113417== by 0x4004266: main (tool_main.c:199) === End of file valgrind727 startnew: ./server/servers socksd --port 0 --pidfile log/8/server/socks_server.pid --portfile log/8/server/socks_server.port --reqfile log/8/socksd-request.log --logfile log/8/socks_server.log --backend 127.0.0.1 --config log/8/server.cmd RUN: SOCKS server is now running PID 112566 * pid socks => 112566 112566 test 0706...[FTP dir list PASV via SOCKS4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind706 ../src/curl -q --output log/8/curl706.out --include --trace-ascii log/8/trace706 --trace-time --socks4 127.0.0.1:40343 ftp://127.0.0.1:37557/ > log/8/stdout706 2> log/8/stderr706 706: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 706 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind706 ../src/curl -q --output log/8/curl706.out --include --trace-ascii log/8/trace706 --trace-time --socks4 127.0.0.1:40343 ftp://127.0.0.1:37557/ > log/8/stdout706 2> log/8/stderr706 === End of file commands.log === Start of file ftp_server.log 14:53:58.404738 ====> Client connect 14:53:58.404893 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.405195 < "USER anonymous" 14:53:58.405249 > "331 We are happy you popped in![CR][LF]" 14:53:58.405483 < "PASS ftp@example.com" 14:53:58.405509 > "230 Welcome you silly person[CR][LF]" 14:53:58.405679 < "PWD" 14:53:58.405709 > "257 "/" is current directory[CR][LF]" 14:53:58.405888 < "EPSV" 14:53:58.405912 ====> Passive DATA channel requested by client 14:53:58.405927 DATA sockfilt for passive data channel starting... 14:53:58.407686 DATA sockfilt for passive data channel started (pid 112517) 14:53:58.407822 DATA sockfilt for passive data channel listens on port 46763 14:53:58.407865 > "229 Entering Passive Mode (|||46763|)[LF]" 14:53:58.407884 Client has been notified that DATA conn will be accepted on port 46763 14:53:58.408114 Client connects to port 46763 14:53:58.408142 ====> Client established passive DATA connection on port 46763 14:53:58.408222 < "TYPE I" 14:53:58.408253 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.408401 < "SIZE verifiedserver" 14:53:58.408435 > "213 17[CR][LF]" 14:53:58.409632 < "RETR verifiedserver" 14:53:58.409676 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.409764 =====> Closing passive DATA connection... 14:53:58.409783 Server disconnects passive DATA connection 14:53:58.409942 Server disconnected passive DATA connection 14:53:58.409972 DATA sockfilt for passive data channel quits (pid 112517) 14:53:58.410474 DATA sockfilt for passive data channel quit (pid 112517) 14:53:58.410518 =====> Closed passive DATA connection 14:53:58.410559 > "226 File transfer complete[CR][LF]" 14:53:58.453939 < "QUIT" 14:53:58.454021 > "221 bye bye baby[CR][LF]" 14:53:58.455103 MAIN sockfilt said DISC 14:53:58.455129 ====> Client disconnected 14:53:58.455205 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:58.487433 ====> Client connect 14:53:58.487719 Received DATA (on stdin) 14:53:58.487733 > 160 bytes data, server => client 14:53:58.487745 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:58.487757 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:58.487767 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:58.487834 < 16 bytes data, client => server 14:53:58.487846 'USER anonymous\r\n' 14:53:58.488075 Received DATA (on stdin) 14:53:58.488095 > 33 bytes data, server => client 14:53:58.488108 '331 We are happy you popped in!\r\n' 14:53:58.488199 < 22 bytes data, client => server 14:53:58.488215 'PASS ftp@example.com\r\n' 14:53:58.488325 Received DATA (on stdin) 14:53:58.488339 > 30 bytes data, server => client 14:53:58.488351 '230 Welcome you silly person\r\n' 14:53:58.488402 < 5 bytes data, client => server 14:53:58.488417 'PWD\r\n' 14:53:58.488526 Received DATA (on stdin) 14:53:58.488539 > 30 bytes data, server => client 14:53:58.488551 '257 "/" is current directory\r\n' 14:53:58.488612 < 6 bytes data, client => server 14:53:58.488626 'EPSV\r\n' 14:53:58.490706 Received DATA (on stdin) 14:53:58.490722 > 38 bytes data, server => client 14:53:58.490734 '229 Entering Passive Mode (|||46763|)\n' 14:53:58.490844 < 8 bytes data, client => server 14:53:58.490864 'TYPE I\r\n' 14:53:58.491067 Received DATA (on stdin) 14:53:58.491079 > 33 bytes data, server => client 14:53:58.491090 '200 I modify TYPE as you wanted\r\n' 14:53:58.491137 < 21 bytes data, client => server 14:53:58.491149 'SIZE verifiedserver\r\n' 14:53:58.491248 Received DATA (on stdin) 14:53:58.491260 > 8 bytes data, server => client 14:53:58.491270 '213 17\r\n' 14:53:58.491317 < 21 bytes data, client => server 14:53:58.491341 'RETR verifiedserver\r\n' 14:53:58.492473 Received DATA (on stdin) 14:53:58.492495 > 29 bytes data, server => client 14:53:58.492509 '150 Binary junk (17 bytes).\r\n' 14:53:58.493368 Received DATA (on stdin) 14:53:58.493389 > 28 bytes data, server => client 14:53:58.493402 '226 File transfer complete\r\n' 14:53:58.536509 < 6 bytes data, client => server 14:53:58.536546 'QUIT\r\n' 14:53:58.536844 Received DATA (on stdin) 14:53:58.536858 > 18 bytes data, server => client 14:53:58.536871 '221 bye bye baby\r\n' 14:53:58.537867 ====> Client disconnect 14:53:58.537965 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.490319 Running IPv4 version 14:53:58.490377 Listening on port 46763 14:53:58.490415 Wrote pid 112517 to log/8/server/ftp_sockdata.pid 14:53:58.490435 Received PING (on stdin) 14:53:58.490541 Received PORT (on stdin) 14:53:58.490884 ====> Client connect 14:53:58.492543 Received DATA (on stdin) 14:53:58.492564 > 17 bytes data, server => client 14:53:58.492576 'WE ROOLZ: 80267\r\n' 14:53:58.492614 Received DISC (on stdin) 14:53:58.492629 ====> Client forcibly disconnected 14:53:58.492912 Received QUIT (on stdin) 14:53:58.492946 quits 14:53:58.493104 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 706 === End of file server.cmd === Start of file socks_server.log 14:53:58.542669 Running IPv4 version 14:53:58.542728 Listening on port 40343 14:53:58.542766 Wrote pid 112566 to log/8/server/socks_server.pid 14:53:58.542797 Wrote port 40343 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==113395== ==113395== Process terminating with default action of signal 4 (SIGILL) ==113395== Illegal opcode at address 0x4014B6F ==113395== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113395== by 0x4004266: UnknownInlinedFun (tool_getparamCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind709 ../src/curl -q --output log/21/curl709.out --include --trace-ascii log/21/trace709 --trace-time http://127.0.0.1:34037/709 > log/21/stdout709 2> log/21/stderr709 .c:3017) ==113395== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113395== by 0x4004266: main (tool_main.c:199) === End of file valgrind706 startnew: ./server/servers socksd --port 0 --pidfile log/20/server/socks_server.pid --portfile log/20/server/socks_server.port --reqfile log/20/socksd-request.log --logfile log/20/socks_server.log --backend 127.0.0.1 --config log/20/server.cmd RUN: SOCKS server is now running PID 112631 * pid socks => 112631 112631 setenv all_proxy = socks4://127.0.0.1:41529 test 0708...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind708 ../src/curl -q --output log/20/curl708.out --include --trace-ascii log/20/trace708 --trace-time http://127.0.0.1:39569/708 > log/20/stdout708 2> log/20/stderr708 708: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 708 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind708 ../src/curl -q --output log/20/curl708.out --include --trace-ascii log/20/trace708 --trace-time http://127.0.0.1:39569/708 > log/20/stdout708 2> log/20/stderr708 === End of file commands.log === Start of file http_server.log 14:53:58.563381 ====> Client connect 14:53:58.563411 accept_connection 3 returned 4 14:53:58.563428 accept_connection 3 returned 0 14:53:58.563443 Read 93 bytes 14:53:58.563454 Process 93 bytes request 14:53:58.563468 Got request: GET /verifiedserver HTTP/1.1 14:53:58.563478 Are-we-friendly question received 14:53:58.563510 Wrote request (93 bytes) input to log/20/server.input 14:53:58.563528 Identifying ourselves as friends 14:53:58.563580 Response sent (56 bytes) and written to log/20/server.response 14:53:58.563591 special request received, no persistency 14:53:58.563601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 708 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file socks_server.log 14:53:58.569126 Running IPv4 version 14:53:58.569188 Listening on port 41529 14:53:58.569220 Wrote pid 112631 to log/20/server/socks_server.pid 14:53:58.569243 Wrote port 41529 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==113494== ==113494== Process terminating with default action of signal 4 (SIGILL) ==113494== Illegal opcode at address 0x4014B6F ==113494== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113494== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113494== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113494== by 0x4004266: main (tool_main.c:199) === End of file valgrind708 startnew: ./server/servers socksd --port 0 --pidfile log/9/server/socks_server.pid --portfile log/9/server/socks_server.port --reqfile log/9/socksd-request.log --logfile log/9/socks_server.log --backend 127.0.0.1 --config log/9/server.cmd RUN: SOCKS server is now running PID 112632 * pid socks => 112632 112632 test 0710...[HTTP GET via SOCKS5 set with --proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind710 ../src/curl -q --output log/9/curl710.out --include --trace-ascii log/9/trace710 --trace-time http://127.0.0.1:34345/710 --proxy socks5://127.0.0.1:39841 > log/9/stdout710 2> log/9/stderr710 710: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 710 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind710 ../src/curl -q --output log/9/curl710.out --include --trace-ascii log/9/trace710 --trace-time http://127.0.0.1:34345/710 --proxy socks5://127.0.0.1:39841 > log/9/stdout710 2> log/9/stderr710 === End of file commands.log === Start of file http_server.log 14:53:58.565106 ====> Client connect 14:53:58.565137 accept_connection 3 returned 4 14:53:58.565153 accept_connection 3 returned 0 14:53:58.565167 Read 93 bytes 14:53:58.565178 Process 93 bytes request 14:53:58.565191 Got request: GET /verifiedserver HTTP/1.1 14:53:58.565205 Are-we-friendly question received 14:53:58.565233 Wrote request (93 bytes) input to log/9/server.input 14:53:58.565251 Identifying ourselves as friends 14:53:58.565306 Response sent (56 bytes) and written to log/9/server.response 14:53:58.565317 special request received, no persistency 14:53:58.565329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 710 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file socks_server.log 14:53:58.570291 Running IPv4 version 14:53:58.570353 Listening on port 39841 14:53:58.570386 Wrote pid 112632 to log/9/server/socks_server.pid 14:53:58.570413 Wrote port 39841 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==113488== ==113488== Process terminating with default action of signal 4 (SIGILL) ==113488== Illegal opcode at address 0x4014B6F ==113488== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113488== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113488== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113488== by 0x4004266: main (tool_main.c:199) === End of file valgrind710 startnew: ./server/servers socksd --port 0 --pidfile log/21/server/socks_server.pid --portfile log/21/server/socks_server.port --reqfile log/21/socksd-request.log --logfile log/21/socks_server.log --backend 127.0.0.1 --config log/21/server.cmd RUN: SOCKS server is now running PID 112629 * pid socks => 112629 112629 setenv http_proxy = socks5://127.0.0.1:45405 test 0709...[HTTP GET via SOCKS5 set in http_proxy environment variable] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind709 ../src/curl -q --output log/21/curl709.out --include --trace-ascii log/21/trace709 --trace-time http://127.0.0.1:34037/709 > log/21/stdout709 2> log/21/stderr709 709: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 709 === Start of file commands.log ../libtool --mode=executCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind713 ../src/curl -q --output log/24/curl713.out --include --trace-ascii log/24/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:42919 --proxy socks5://127.0.0.1:36037 > log/24/stdout713 2> log/24/stderr713 e /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind709 ../src/curl -q --output log/21/curl709.out --include --trace-ascii log/21/trace709 --trace-time http://127.0.0.1:34037/709 > log/21/stdout709 2> log/21/stderr709 === End of file commands.log === Start of file http_server.log 14:53:58.562858 ====> Client connect 14:53:58.562887 accept_connection 3 returned 4 14:53:58.562900 accept_connection 3 returned 0 14:53:58.562912 Read 93 bytes 14:53:58.562921 Process 93 bytes request 14:53:58.562933 Got request: GET /verifiedserver HTTP/1.1 14:53:58.562941 Are-we-friendly question received 14:53:58.562961 Wrote request (93 bytes) input to log/21/server.input 14:53:58.562974 Identifying ourselves as friends 14:53:58.563061 Response sent (56 bytes) and written to log/21/server.response 14:53:58.563074 special request received, no persistency 14:53:58.563084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 709 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file socks_server.log 14:53:58.567891 Running IPv4 version 14:53:58.567950 Listening on port 45405 14:53:58.567994 Wrote pid 112629 to log/21/server/socks_server.pid 14:53:58.568028 Wrote port 45405 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==113479== ==113479== Process terminating with default action of signal 4 (SIGILL) ==113479== Illegal opcode at address 0x4014B6F ==113479== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113479== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113479== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113479== by 0x4004266: main (tool_main.c:199) === End of file valgrind709 startnew: ./server/servers socksd --port 0 --pidfile log/24/server/socks_server.pid --portfile log/24/server/socks_server.port --reqfile log/24/socksd-request.log --logfile log/24/socks_server.log --backend 127.0.0.1 --config log/24/server.cmd RUN: SOCKS server is now running PID 112726 * pid socks => 112726 112726 test 0713...[FTP fetch with --proxy set to socks5:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind713 ../src/curl -q --output log/24/curl713.out --include --trace-ascii log/24/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:42919 --proxy socks5://127.0.0.1:36037 > log/24/stdout713 2> log/24/stderr713 713: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind713 ../src/curl -q --output log/24/curl713.out --include --trace-ascii log/24/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:42919 --proxy socks5://127.0.0.1:36037 > log/24/stdout713 2> log/24/stderr713 === End of file commands.log === Start of file ftp_server.log 14:53:58.512924 ====> Client connect 14:53:58.513031 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.513233 < "USER anonymous" 14:53:58.513262 > "331 We are happy you popped in![CR][LF]" 14:53:58.513385 < "PASS ftp@example.com" 14:53:58.513406 > "230 Welcome you silly person[CR][LF]" 14:53:58.513519 < "PWD" 14:53:58.513552 > "257 "/" is current directory[CR][LF]" 14:53:58.513674 < "EPSV" 14:53:58.513692 ====> Passive DATA channel requested by client 14:53:58.513702 DATA sockfilt for passive data channel starting... 14:53:58.514853 DATA sockfilt for passive data channel started (pid 112711) 14:53:58.514937 DATA sockfilt for passive data channel listens on port 42591 14:53:58.514967 > "229 Entering Passive Mode (|||42591|)[LF]" 14:53:58.514983 Client has been notified that DATA conn will be accepted on port 42591 14:53:58.515136 Client connects to port 42591 14:53:58.515169 ====> Client established passive DATA connection on port 42591 14:53:58.515226 < "TYPE I" 14:53:58.515249 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.515371 < "SIZE verifiedserver" 14:53:58.515398 > "213 17[CR][LF]" 14:53:58.515508 < "RETR verifiedserver" 14:53:58.515533 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.515594 =====> Closing passive DATA connection... 14:53:58.515606 Server disconnects passive DATA connection 14:53:58.515784 Server disconnected passive DATA connection 14:53:58.515806 DATA sockfilt for passive data channel quits (pid 112711) 14:53:58.515955 DATA sockfilt for passive data channel quit (pid 112711) 14:53:58.515973 =====> Closed passive DATA connection 14:53:58.515991 > "226 File transfer complete[CR][LF]" 14:53:58.557278 < "QUIT" 14:53:58.557327 > "221 bye bye baby[CR][LF]" 14:53:58.557910 MAIN sockfilt said DISC 14:53:58.557931 ====> Client disconnected 14:53:58.557975 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:58.595650 ====> Client connect 14:53:58.595848 Received DATA (on stdin) 14:53:58.595859 > 160 bytes data, server => client 14:53:58.595869 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:58.595878 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:58.595886 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:58.595936 < 16 bytes data, client => server 14:53:58.595946 'USER anonymous\r\n' 14:53:58.596073 Received DATA (on stdin) 14:53:58.596083 > 33 bytes data, server => client 14:53:58.596092 '331 We are happy you popped in!\r\n' 14:53:58.596130 < 22 bytes data, client => server 14:53:58.596139 'PASS ftp@example.com\r\n' 14:53:58.596215 Received DATA (on stdin) 14:53:58.596224 > 30 bytes data, server => client 14:53:58.596233 '230 Welcome you silly person\r\n' 14:53:58.596268 < 5 bytes data, client => server 14:53:58.596276 'PWD\r\n' 14:53:58.596361 Received DATA (on stdin) 14:53:58.596371 > 30 bytes data, server => client 14:53:58.596379 '257 "/" is current directory\r\n' 14:53:58.596423 < 6 bytes data, client => server 14:53:58.596431 'EPSV\r\n' 14:53:58.597796 Received DATA (on stdin) 14:53:58.597807 > 38 bytes data, server => client 14:53:58.597816 '229 Entering Passive Mode (|||42591|)\n' 14:53:58.597900 < 8 bytes data, client => server 14:53:58.597912 'TYPE I\r\n' 14:53:58.598058 Received DATA (on stdin) 14:53:58.598068 > 33 bytes data, server => client 14:53:58.598077 '200 I modify TYPE as you wanted\r\n' 14:53:58.598118 < 21 bytes data, client => server 14:53:58.598127 'SIZE verifiedserver\r\n' 14:53:58.598206 Received DATA (on stdin) 14:53:58.598216 > 8 bytes data, server => client 14:53:58.598224 '213 17\r\n' 14:53:58.598258 < 21 bytes data, client => server 14:53:58.598267 'RETR verifiedserver\r\n' 14:53:58.598415 Received DATA (on stdin) 14:53:58.598425 > 29 bytes data, server => client 14:53:58.598434 '150 Binary junk (17 bytes).\r\n' 14:53:58.598801 Received DATA (on stdin) 14:53:58.598812 > 28 bytes data, server => client 14:53:58.598821 '226 File transfer complete\rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind714 ../src/curl -q --output log/5/curl714.out --include --trace-ascii log/5/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:32907 --proxytunnel --proxy http://127.0.0.1:44127 > log/5/stdout714 2> log/5/stderr714 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind712 ../src/curl -q --output log/22/curl712.out --include --trace-ascii log/22/trace712 --trace-time ftp://127.0.0.1:45969/712 --proxy socks5://127.0.0.1:33059 > log/22/stdout712 2> log/22/stderr712 \n' 14:53:58.639931 < 6 bytes data, client => server 14:53:58.639958 'QUIT\r\n' 14:53:58.640164 Received DATA (on stdin) 14:53:58.640174 > 18 bytes data, server => client 14:53:58.640182 '221 bye bye baby\r\n' 14:53:58.640678 ====> Client disconnect 14:53:58.640784 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.597532 Running IPv4 version 14:53:58.597573 Listening on port 42591 14:53:58.597600 Wrote pid 112711 to log/24/server/ftp_sockdata.pid 14:53:58.597615 Received PING (on stdin) 14:53:58.597682 Received PORT (on stdin) 14:53:58.597903 ====> Client connect 14:53:58.598453 Received DATA (on stdin) 14:53:58.598464 > 17 bytes data, server => client 14:53:58.598473 'WE ROOLZ: 80263\r\n' 14:53:58.598491 Received DISC (on stdin) 14:53:58.598500 ====> Client forcibly disconnected 14:53:58.598622 Received QUIT (on stdin) 14:53:58.598631 quits 14:53:58.598674 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file socks_server.log 14:53:58.643475 Running IPv4 version 14:53:58.643522 Listening on port 36037 14:53:58.643546 Wrote pid 112726 to log/24/server/socks_server.pid 14:53:58.643566 Wrote port 36037 to log/24/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==113721== ==113721== Process terminating with default action of signal 4 (SIGILL) ==113721== Illegal opcode at address 0x4014B6F ==113721== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113721== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113721== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113721== by 0x4004266: main (tool_main.c:199) === End of file valgrind713 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/5/server/http2_server.pid" --logfile "log/5/http2_server.log" --logdir "log/5" --portfile log/5/server/http2_server.port --config log/5/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 112724 port 44127 * pid http-proxy => 112724 112724 test 0714...[FTP fetch with --proxy set to http:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind714 ../src/curl -q --output log/5/curl714.out --include --trace-ascii log/5/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:32907 --proxytunnel --proxy http://127.0.0.1:44127 > log/5/stdout714 2> log/5/stderr714 714: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 714 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind714 ../src/curl -q --output log/5/curl714.out --include --trace-ascii log/5/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:32907 --proxytunnel --proxy http://127.0.0.1:44127 > log/5/stdout714 2> log/5/stderr714 === End of file commands.log === Start of file ftp_server.log 14:53:58.512926 ====> Client connect 14:53:58.513037 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.513248 < "USER anonymous" 14:53:58.513277 > "331 We are happy you popped in![CR][LF]" 14:53:58.513405 < "PASS ftp@example.com" 14:53:58.513426 > "230 Welcome you silly person[CR][LF]" 14:53:58.513550 < "PWD" 14:53:58.513574 > "257 "/" is current directory[CR][LF]" 14:53:58.513697 < "EPSV" 14:53:58.513714 ====> Passive DATA channel requested by client 14:53:58.513725 DATA sockfilt for passive data channel starting... 14:53:58.514931 DATA sockfilt for passive data channel started (pid 112712) 14:53:58.515022 DATA sockfilt for passive data channel listens on port 39783 14:53:58.515053 > "229 Entering Passive Mode (|||39783|)[LF]" 14:53:58.515067 Client has been notified that DATA conn will be accepted on port 39783 14:53:58.515376 Client connects to port 39783 14:53:58.515430 ====> Client established passive DATA connection on port 39783 14:53:58.515520 < "TYPE I" 14:53:58.515551 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.515673 < "SIZE verifiedserver" 14:53:58.515701 > "213 17[CR][LF]" 14:53:58.515811 < "RETR verifiedserver" 14:53:58.515835 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.515900 =====> Closing passive DATA connection... 14:53:58.515912 Server disconnects passive DATA connection 14:53:58.516080 Server disconnected passive DATA connection 14:53:58.516123 DATA sockfilt for passive data channel quits (pid 112712) 14:53:58.516512 DATA sockfilt for passive data channel quit (pid 112712) 14:53:58.516531 =====> Closed passive DATA connection 14:53:58.516553 > "226 File transfer complete[CR][LF]" 14:53:58.557097 < "QUIT" 14:53:58.557144 > "221 bye bye baby[CR][LF]" 14:53:58.557855 MAIN sockfilt said DISC 14:53:58.557880 ====> Client disconnected 14:53:58.557937 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:58.595653 ====> Client connect 14:53:58.595855 Received DATA (on stdin) 14:53:58.595867 > 160 bytes data, server => client 14:53:58.595877 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:58.595886 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:58.595894 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:58.595948 < 16 bytes data, client => server 14:53:58.595958 'USER anonymous\r\n' 14:53:58.596089 Received DATA (on stdin) 14:53:58.596099 > 33 bytes data, server => client 14:53:58.596108 '331 We are happy you popped in!\r\n' 14:53:58.596146 < 22 bytes data, client => server 14:53:58.596155 'PASS ftp@example.com\r\n' 14:53:58.596235 Received DATA (on stdin) 14:53:58.596245 > 30 bytes data, server => client 14:53:58.596253 '230 Welcome you silly person\r\n' 14:53:58.596287 < 5 bytes data, client => server 14:53:58.596295 'PWD\r\n' 14:53:58.596384 Received DATA (on stdin) 14:53:58.596393 > 30 bytes data, server => client 14:53:58.596402 '257 "/" is current directory\r\n' 14:53:58.596444 < 6 bytes data, client => server 14:53:58.596453 'EPSV\r\n' 14:53:58.597894 Received DATA (on stdin) 14:53:58.597934 > 38 bytes data, server => client 14:53:58.597944 '229 Entering Passive Mode (|||39783|)\n' 14:53:58.598130 < 8 bytes data, client => server 14:53:58.598140 'TYPE I\r\n' 14:53:58.598363 Received DATA (on stdin) 14:53:58.598372 > 33 bytes data, server => client 14:53:58.598381 '200 I modify TYPE as you wanted\r\n' 14:53:58.598420 < 21 bytes data, client => server 14:53:58.598428 'SIZE verifiedserver\r\n' 14:53:58.598510 Received DATA (on stdin) 14:53:58.598519 > 8 bytes data, server => client 14:53:58.598527 '213 17\r\n' 14:53:58.598562 < 21 bytes data, client => server 14:53:58.598570 'RETR verifiedserver\r\n' 14:53:58.598723 Received DATA (on stdin) 14:53:58.598733 > 29 bytes data, server => client 14:53:58.598741 '150 Binary junk (17 bytes).\r\n' 14:53:58.599364 Received DATA (on stdin) 14:53:58.599375 > 28 bytes data, server => client 14:53:58.599383 '226 File transfer complete\r\n' 14:53:58.639768 < 6 bytes data, client => server 14:53:58.639789 'QUIT\r\n' 14:53:58.639959 Received DATA (on stdin) 14:53:58.639971 > 18 bytes data, server => client 14:53:58.639981 '221 bye bye baby\r\n' 14:53:58.640618 ====> Client disconnect 14:53:58.640749 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.597608 Running IPv4 version 14:53:58.597649 Listening on port 39783 14:53:58.597676 Wrote pid 112712 to log/5/server/ftp_sockdata.pid 14:53:58.597692 Received PING (on stdin) 14:53:58.597764 Received PORT (on stdin) 14:53:58.598103 ====> Client connect 14:53:58.598760 Received DATA (on stdin) 14:53:58.598770 > 17 bytes data, server => client 14:53:58.598779 'WE ROOLZ: 80255\r\n' 14:53:58.598797 Received DISC (on stdin) 14:53:58.598806 ====> Client forcibly disconnected 14:53:58.598948 Received QUIT (on stdin) 14:53:58.598958 quits 14:53:58.599016 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 14:53:58.655392 Run as proxy, CONNECT to host 127.0.0.1 14:53:58.655458 Running HTTP IPv4 version on port 44127 14:53:58.655487 Wrote pid 112724 to log/5/server/http2_server.pid 14:53:58.655509 Wrote port 44127 to log/5/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==113718== ==113718== Process terminating with default action of signal 4 (SIGILL) ==113718== Illegal opcode at address 0x4014B6F ==113718== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113718== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113718== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113718== by 0x4004266: main (tool_main.c:199) === End of file valgrind714 startnew: ./server/servers socksd --port 0 --pidfile log/22/server/socks_server.pid --portfile log/22/server/socks_server.port --reqfile log/22/socksd-request.log --logfile log/22/socks_server.log --backend 127.0.0.1 --config log/22/server.cmd RUN: SOCKS server is now running PID 112723 * pid socks => 112723 112723 test 0712...[FTP fetch with --proxy set to socks5://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind712 ../src/curl -q --output log/22/curl712.out --include --trace-ascii log/22/trace712 --trace-time ftp://127.0.0.1:45969/712 --proxy socks5://127.0.0.1:33059 > log/22/stdout712 2> log/22/stderr712 712: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 712 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind712 ../src/curl -q --output log/22/curl712.out --include --trace-ascii log/22/trace712 --trace-time ftp://127.0.0.1:45969/712 --proxy socks5://127.0.0.1:33059 > log/22/stdout712 2> log/22/stderr712 === End of file commands.log === Start of file ftp_server.log 14:53:58.504601 ====> Client connect 14:53:58.504717 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.504923 < "USER anonymous" 14:53:58.504954 > "331 We are happy you popped in![CR][LF]" 14:53:58.505086 < "PASS ftp@example.com" 14:53:58.505105 > "230 Welcome you silly person[CR][LF]" 14:53:58.505218 < "PWD" 14:53:58.505240 > "257 "/" is current directory[CR][LF]" 14:53:58.505359 < "EPSV" 14:53:58.505376 ====> Passive DATA channel requested by client 14:53:58.505387 DATA sockfilt for passive data channel starting... 14:53:58.506673 DATA sockfilt for passive data channel started (pid 112686) 14:53:58.506764 DATA sockfilt for passive data channel listens on port 34269 14:53:58.506794 > "229 Entering Passive Mode (|||34269|)[LF]" 14:53:58.506809 Client has been notified that DATA conn will be accepted on port 34269 14:53:58.507025 Client connects to port 34269 14:53:58.507058 ====> Client established passive DATA connection on port 34269 14:53:58.507184 < "TYPE I" 14:53:58.507214 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.507364 < "SIZE verifiedserver" 14:53:58.507392 > "213 17[CR][LF]" 14:53:58.507508 < "RETR verifiedserver" 14:53:58.507535 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.507600 =====> Closing passive DATA connection... 14:53:58.507611 Server disconnects passive DATA connection 14:53:58.507725 Server disconnected passive DATA connection 14:53:58.507745 DATA sockfilt for passive data channel quits (pid 112686) 14:53:58.507925 DATA sockfilt for passive data channel quit (pid 112686) 14:53:58.507943 =====> Closed passive DATA connection 14:53:58.507963 > "226 File transfer complete[CR][LF]" 14:53:58.553780 < "QUIT" 14:53:58.553826 > "221 bye bye baby[CR][LF]" 14:53:58.554616 MAIN sockfilt said DISC 14:53:58.554641 ====> Client disconnected 14:53:58.554704 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:58.587334 ====> Client connect 14:53:58.587535 Received DATA (on stdin) 14:53:58.587547 > 160 bytes data, server => client 14:53:58.587557 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:58.587565 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:58.587573 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:58.587626 < 16 bytes data, client => server 14:53:58.587637 'USER anonymous\r\n' 14:53:58.587765 Received DATA (on stdin) 14:53:58.587775 > 33 bytes data, server => client 14:53:58.587784 '331 We are happy you popped in!\r\n' 14:53:58.587823 < 22 bytes data, client => server 14:53:58.587832 'PASS ftp@example.com\r\n' 14:53:58.587914 Received DATA (on stdin) 14:53:58.587923 > 30 bytes data, server => client 14:53:58.587932 '230 Welcome you silly person\r\n' 14:53:58.587966 < 5 bytes data, client => server 14:53:58.587975 'PWD\r\n' 14:53:58.588048 Received DATA (on stdin) 14:53:58.588057 > 30 bytes data, server => client 14:53:58.588066 '257 "/" is current directory\r\n' 14:53:58.588108 < 6 bytes data, client => server 14:53:58.588116 'EPSV\r\n' 14:53:58.589623 Received DATA (on stdin) 14:53:58.589634 > 38 bytes data, server => client 14:53:58.589643 '229 Entering Passive Mode (|||34269|)\n' 14:53:58.589899 < 8 bytes data, client => server 14:53:58.589912 'TYPE I\r\n' 14:53:58.590028 Received DATA (on stdin) 14:53:58.590039 > 33 bytes data, server => client 14:53:58.590050 '200 I modify TYPE as you wanted\r\n' 14:53:58.590101 < 21 bytes data, client => server 14:53:58.590112 'SIZE verifiedserver\r\n' 14:53:58.590201 Received DATA (on stdin) 14:53:58.590211 > 8 bytes data, server => client 14:53:58.590219 '213 17\r\n' 14:53:58.590256 < 21 bytes data, client => server 14:53:58.590265 'RETR verifiedserver\r\n' 14:53:58.590422 Received DATA (on stdin) 14:53:58.590431 > 29 bytes data, server => client 14:53:58.590440 '150 Binary junk (17 bytes).\r\n' 14:53:58.590774 Received DATA (on stdin) 14:53:58.590785 > 28 bytes data, server => client 14:53:58.590794 '226 File transfer complete\r\n' 14:53:58.636428 < 6 bytes data, client => server 14:53:58.636451 'QUIT\r\n' 14:53:58.636643 Received DATA (on stdin) 14:53:58.636655 > 18 bytes data, server => client 14:53:58.636666 '221 bye bye baby\r\n' 14:53:58.637382 ====> Client disconnect 14:53:58.637516 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.589348 Running IPv4 version 14:53:58.589389 Listening on port 34269 14:53:58.589418 Wrote pid 112686 to log/22/server/ftp_sockdata.pid 14:53:58.589434 Received PING (on stdin) 14:53:58.589509 Received PORT (on stdin) 14:53:58.589783 ====> Client connect 14:53:58.590357 Received DATA (on stdin) 14:53:58.590371 > 17 bytes data, server => client 14:53:58.590380 'WE ROOLZ: 80268\r\n' 14:53:58.590421 Received DISC (on stdin) 14:53:58.590431 ====> Client forcibly disconnected 14:53:58.590563 Received QUIT (on stdin) 14:53:58.590573 quits 14:53:58.590612 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 712 === End of file server.cmd === Start of file socks_server.log 14:53:58.640307 Running IPv4 version 14:53:58.640357 Listening on port 33059 14:53:58.640384 Wrote pid 112723 to log/22/server/socks_server.pid 14:53:58.640404 WroCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind711 ../src/curl -q --output log/7/curl711.out --include --trace-ascii log/7/trace711 --trace-time ftp://127.0.0.1:37495/711 > log/7/stdout711 2> log/7/stderr711 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind715 ../src/curl -q --output log/18/curl715.out --include --trace-ascii log/18/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41069 --proxytunnel --proxy 127.0.0.1:35323 --preproxy socks5://127.0.0.1:39597 > log/18/stdout715 2> log/18/stderr715 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind707 ../src/curl -q --output log/2/curl707.out --include --trace-ascii log/2/trace707 --trace-time --socks5 127.0.0.1:36585 ftp://127.0.0.1:45597/ > log/2/stdout707 2> log/2/stderr707 te port 33059 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==113696== ==113696== Process terminating with default action of signal 4 (SIGILL) ==113696== Illegal opcode at address 0x4014B6F ==113696== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113696== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113696== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113696== by 0x4004266: main (tool_main.c:199) === End of file valgrind712 startnew: ./server/servers socksd --port 0 --pidfile log/7/server/socks_server.pid --portfile log/7/server/socks_server.port --reqfile log/7/socksd-request.log --logfile log/7/socks_server.log --backend 127.0.0.1 --config log/7/server.cmd RUN: SOCKS server is now running PID 112721 * pid socks => 112721 112721 setenv all_proxy = socks5://127.0.0.1:36411 test 0711...[FTP fetch with all_proxy set to socks5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind711 ../src/curl -q --output log/7/curl711.out --include --trace-ascii log/7/trace711 --trace-time ftp://127.0.0.1:37495/711 > log/7/stdout711 2> log/7/stderr711 711: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind711 ../src/curl -q --output log/7/curl711.out --include --trace-ascii log/7/trace711 --trace-time ftp://127.0.0.1:37495/711 > log/7/stdout711 2> log/7/stderr711 === End of file commands.log === Start of file ftp_server.log 14:53:58.499090 ====> Client connect 14:53:58.499203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.499417 < "USER anonymous" 14:53:58.499446 > "331 We are happy you popped in![CR][LF]" 14:53:58.499569 < "PASS ftp@example.com" 14:53:58.499589 > "230 Welcome you silly person[CR][LF]" 14:53:58.499700 < "PWD" 14:53:58.499722 > "257 "/" is current directory[CR][LF]" 14:53:58.499838 < "EPSV" 14:53:58.499856 ====> Passive DATA channel requested by client 14:53:58.499867 DATA sockfilt for passive data channel starting... 14:53:58.503585 DATA sockfilt for passive data channel started (pid 112665) 14:53:58.503728 DATA sockfilt for passive data channel listens on port 43713 14:53:58.503776 > "229 Entering Passive Mode (|||43713|)[LF]" 14:53:58.503797 Client has been notified that DATA conn will be accepted on port 43713 14:53:58.504035 Client connects to port 43713 14:53:58.504061 ====> Client established passive DATA connection on port 43713 14:53:58.504149 < "TYPE I" 14:53:58.504181 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.505393 < "SIZE verifiedserver" 14:53:58.505432 > "213 17[CR][LF]" 14:53:58.505589 < "RETR verifiedserver" 14:53:58.505620 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.505689 =====> Closing passive DATA connection... 14:53:58.505701 Server disconnects passive DATA connection 14:53:58.505893 Server disconnected passive DATA connection 14:53:58.505916 DATA sockfilt for passive data channel quits (pid 112665) 14:53:58.506097 DATA sockfilt for passive data channel quit (pid 112665) 14:53:58.506116 =====> Closed passive DATA connection 14:53:58.506137 > "226 File transfer complete[CR][LF]" 14:53:58.547215 < "QUIT" 14:53:58.547265 > "221 bye bye baby[CR][LF]" 14:53:58.547952 MAIN sockfilt said DISC 14:53:58.547974 ====> Client disconnected 14:53:58.548037 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:57.581804 ====> Client connect 14:53:57.582022 Received DATA (on stdin) 14:53:57.582034 > 160 bytes data, server => client 14:53:57.582044 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:57.582052 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:57.582060 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:57.582119 < 16 bytes data, client => server 14:53:57.582129 'USER anonymous\r\n' 14:53:57.582256 Received DATA (on stdin) 14:53:57.582266 > 33 bytes data, server => client 14:53:57.582274 '331 We are happy you popped in!\r\n' 14:53:57.582312 < 22 bytes data, client => server 14:53:57.582321 'PASS ftp@example.com\r\n' 14:53:57.582397 Received DATA (on stdin) 14:53:57.582406 > 30 bytes data, server => client 14:53:57.582414 '230 Welcome you silly person\r\n' 14:53:57.582449 < 5 bytes data, client => server 14:53:57.582458 'PWD\r\n' 14:53:57.582530 Received DATA (on stdin) 14:53:57.582539 > 30 bytes data, server => client 14:53:57.582547 '257 "/" is current directory\r\n' 14:53:57.582588 < 6 bytes data, client => server 14:53:57.582597 'EPSV\r\n' 14:53:57.586590 Received DATA (on stdin) 14:53:57.586614 > 38 bytes data, server => client 14:53:57.586627 '229 Entering Passive Mode (|||43713|)\n' 14:53:57.586830 < 8 bytes data, client => server 14:53:57.586846 'TYPE I\r\n' 14:53:57.586997 Received DATA (on stdin) 14:53:57.587011 > 33 bytes data, server => client 14:53:57.587022 '200 I modify TYPE as you wanted\r\n' 14:53:57.588111 < 21 bytes data, client => server 14:53:57.588127 'SIZE verifiedserver\r\n' 14:53:57.588244 Received DATA (on stdin) 14:53:57.588256 > 8 bytes data, server => client 14:53:57.588265 '213 17\r\n' 14:53:57.588327 < 21 bytes data, client => server 14:53:57.588337 'RETR verifiedserver\r\n' 14:53:57.588513 Received DATA (on stdin) 14:53:57.588523 > 29 bytes data, server => client 14:53:57.588532 '150 Binary junk (17 bytes).\r\n' 14:53:57.588949 Received DATA (on stdin) 14:53:57.588961 > 28 bytes data, server => client 14:53:57.588970 '226 File transfer complete\r\n' 14:53:57.629816 < 6 bytes data, client => server 14:53:57.629849 'QUIT\r\n' 14:53:57.630085 Received DATA (on stdin) 14:53:57.630099 > 18 bytes data, server => client 14:53:57.630111 '221 bye bye baby\r\n' 14:53:57.630724 ====> Client disconnect 14:53:57.630845 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.586189 Running IPv4 version 14:53:58.586239 Listening on port 43713 14:53:58.586276 Wrote pid 112665 to log/7/server/ftp_sockdata.pid 14:53:58.586298 Received PING (on stdin) 14:53:58.586445 Received PORT (on stdin) 14:53:58.586797 ====> Client connect 14:53:58.588553 Received DATA (on stdin) 14:53:58.588564 > 17 bytes data, server => client 14:53:58.588573 'WE ROOLZ: 80245\r\n' 14:53:58.588593 Received DISC (on stdin) 14:53:58.588602 ====> Client forcibly disconnected 14:53:58.588733 Received QUIT (on stdin) 14:53:58.588742 quits 14:53:58.588786 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 711 === End of file server.cmd === Start of file socks_server.log 14:53:58.634049 Running IPv4 version 14:53:58.634108 Listening on port 36411 14:53:58.634138 Wrote pid 112721 to log/7/server/socks_server.pid 14:53:58.634160 Wrote port 36411 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==113682== ==113682== Process terminating with default action of signal 4 (SIGILL) ==113682== Illegal opcode at address 0x4014B6F ==113682== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113682== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113682== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113682== by 0x4004266: main (tool_main.c:199) === End of file valgrind711 startnew: ./server/servers socksd --port 0 --pidfile log/2/server/socks_server.pid --portfile log/2/server/socks_server.port --reqfile log/2/socksd-request.log --logfile log/2/socks_server.log --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS server is now running PID 112715 * pidCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind716 ../src/curl -q --output log/19/curl716.out --include --trace-ascii log/19/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:45815 > log/19/stdout716 2> log/19/stderr716 socks => 112715 112715 test 0707...[FTP dir list PASV via SOCKS5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind707 ../src/curl -q --output log/2/curl707.out --include --trace-ascii log/2/trace707 --trace-time --socks5 127.0.0.1:36585 ftp://127.0.0.1:45597/ > log/2/stdout707 2> log/2/stderr707 707: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 707 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind707 ../src/curl -q --output log/2/curl707.out --include --trace-ascii log/2/trace707 --trace-time --socks5 127.0.0.1:36585 ftp://127.0.0.1:45597/ > log/2/stdout707 2> log/2/stderr707 === End of file commands.log === Start of file ftp_server.log 14:53:58.475667 ====> Client connect 14:53:58.475841 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.476147 < "USER anonymous" 14:53:58.476183 > "331 We are happy you popped in![CR][LF]" 14:53:58.476361 < "PASS ftp@example.com" 14:53:58.476388 > "230 Welcome you silly person[CR][LF]" 14:53:58.476544 < "PWD" 14:53:58.476573 > "257 "/" is current directory[CR][LF]" 14:53:58.476731 < "EPSV" 14:53:58.476757 ====> Passive DATA channel requested by client 14:53:58.476772 DATA sockfilt for passive data channel starting... 14:53:58.478870 DATA sockfilt for passive data channel started (pid 112628) 14:53:58.479012 DATA sockfilt for passive data channel listens on port 41101 14:53:58.479058 > "229 Entering Passive Mode (|||41101|)[LF]" 14:53:58.479079 Client has been notified that DATA conn will be accepted on port 41101 14:53:58.479335 Client connects to port 41101 14:53:58.479386 ====> Client established passive DATA connection on port 41101 14:53:58.480100 < "TYPE I" 14:53:58.480139 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.481356 < "SIZE verifiedserver" 14:53:58.481398 > "213 17[CR][LF]" 14:53:58.481556 < "RETR verifiedserver" 14:53:58.481587 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.481689 =====> Closing passive DATA connection... 14:53:58.481707 Server disconnects passive DATA connection 14:53:58.481878 Server disconnected passive DATA connection 14:53:58.481902 DATA sockfilt for passive data channel quits (pid 112628) 14:53:58.482150 DATA sockfilt for passive data channel quit (pid 112628) 14:53:58.482173 =====> Closed passive DATA connection 14:53:58.482198 > "226 File transfer complete[CR][LF]" 14:53:58.523779 < "QUIT" 14:53:58.523829 > "221 bye bye baby[CR][LF]" 14:53:58.524552 MAIN sockfilt said DISC 14:53:58.524574 ====> Client disconnected 14:53:58.524623 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:57.558370 ====> Client connect 14:53:57.558671 Received DATA (on stdin) 14:53:57.558689 > 160 bytes data, server => client 14:53:57.558703 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:57.558715 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:57.558726 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:57.558809 < 16 bytes data, client => server 14:53:57.558826 'USER anonymous\r\n' 14:53:57.559007 Received DATA (on stdin) 14:53:57.559021 > 33 bytes data, server => client 14:53:57.559033 '331 We are happy you popped in!\r\n' 14:53:57.559086 < 22 bytes data, client => server 14:53:57.559098 'PASS ftp@example.com\r\n' 14:53:57.559203 Received DATA (on stdin) 14:53:57.559216 > 30 bytes data, server => client 14:53:57.559227 '230 Welcome you silly person\r\n' 14:53:57.559276 < 5 bytes data, client => server 14:53:57.559288 'PWD\r\n' 14:53:57.559385 Received DATA (on stdin) 14:53:57.559397 > 30 bytes data, server => client 14:53:57.559408 '257 "/" is current directory\r\n' 14:53:57.559461 < 6 bytes data, client => server 14:53:57.559473 'EPSV\r\n' 14:53:57.561901 Received DATA (on stdin) 14:53:57.561916 > 38 bytes data, server => client 14:53:57.561928 '229 Entering Passive Mode (|||41101|)\n' 14:53:57.562713 < 8 bytes data, client => server 14:53:57.562734 'TYPE I\r\n' 14:53:57.562957 Received DATA (on stdin) 14:53:57.562972 > 33 bytes data, server => client 14:53:57.562984 '200 I modify TYPE as you wanted\r\n' 14:53:57.564067 < 21 bytes data, client => server 14:53:57.564085 'SIZE verifiedserver\r\n' 14:53:57.564214 Received DATA (on stdin) 14:53:57.564227 > 8 bytes data, server => client 14:53:57.564240 '213 17\r\n' 14:53:57.564288 < 21 bytes data, client => server 14:53:57.564299 'RETR verifiedserver\r\n' 14:53:57.564523 Received DATA (on stdin) 14:53:57.564535 > 29 bytes data, server => client 14:53:57.564547 '150 Binary junk (17 bytes).\r\n' 14:53:57.565013 Received DATA (on stdin) 14:53:57.565032 > 28 bytes data, server => client 14:53:57.565044 '226 File transfer complete\r\n' 14:53:57.606437 < 6 bytes data, client => server 14:53:57.606459 'QUIT\r\n' 14:53:57.606648 Received DATA (on stdin) 14:53:57.606662 > 18 bytes data, server => client 14:53:57.606674 '221 bye bye baby\r\n' 14:53:57.607324 ====> Client disconnect 14:53:57.607432 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.561493 Running IPv4 version 14:53:58.561561 Listening on port 41101 14:53:58.561603 Wrote pid 112628 to log/2/server/ftp_sockdata.pid 14:53:58.561625 Received PING (on stdin) 14:53:58.561731 Received PORT (on stdin) 14:53:58.562084 ====> Client connect 14:53:58.564573 Received DATA (on stdin) 14:53:58.564587 > 17 bytes data, server => client 14:53:58.564599 'WE ROOLZ: 80219\r\n' 14:53:58.564628 Received DISC (on stdin) 14:53:58.564639 ====> Client forcibly disconnected 14:53:58.564726 Received QUIT (on stdin) 14:53:58.564737 quits 14:53:58.564790 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 707 === End of file server.cmd === Start of file socks_server.log 14:53:58.610530 Running IPv4 version 14:53:58.610578 Listening on port 36585 14:53:58.610605 Wrote pid 112715 to log/2/server/socks_server.pid 14:53:58.610626 Wrote port 36585 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==113653== ==113653== Process terminating with default action of signal 4 (SIGILL) ==113653== Illegal opcode at address 0x4014B6F ==113653== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113653== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113653== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113653== by 0x4004266: main (tool_main.c:199) === End of file valgrind707 startnew: ./server/servers socksd --port 0 --pidfile log/18/server/socks_server.pid --portfile log/18/server/socks_server.port --reqfile log/18/socksd-request.log --logfile log/18/socks_server.log --backend 127.0.0.1 --config log/18/server.cmd RUN: SOCKS server is now running PID 112741 * pid socks => 112741 112741 test 0715...[FTP fetch with --preproxy, --proxy and --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind715 ../src/curl -q --output log/18/curl715.out --include --trace-ascii log/18/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41069 --proxytunnel --proxy 127.0.0.1:35323 --preproxy socks5://127.0.0.1:39597 > log/18/stdout715 2> log/18/stderr715 715: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 715 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind715 ../src/curl -q --output log/18/curl715.out --include --trace-ascii log/18/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41069 --proxytunnel --proxy 127.0.0.1:35323 --preproxy socks5://127.0.0.1:39597 > log/18/stdout715 2> log/18/stderr715 === End of file commands.log === Start of file ftp_server.log 14:53:58.513589 ====> Client connect 14:53:58.513699 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:53:58.513910 < "USER anonymous" 14:53:58.513939 > "331 We are happy you popped in![CR][LF]" 14:53:58.514071 < "PASS ftp@example.com" 14:53:58.514092 > "230 Welcome you silly person[CR][LF]" 14:53:58.514206 < "PWD" 14:53:58.514230 > "257 "/" is current directory[CR][LF]" 14:53:58.514347 < "EPSV" 14:53:58.514367 ====> Passive DATA channel requested by client 14:53:58.514377 DATA sockfilt for passive data channel starting... 14:53:58.515564 DATA sockfilt for passive data channel started (pid 112713) 14:53:58.515654 DATA sockfilt for passive data channel listens on port 43175 14:53:58.515683 > "229 Entering Passive Mode (|||43175|)[LF]" 14:53:58.515698 Client has been notified that DATA conn will be accepted on port 43175 14:53:58.515867 Client connects to port 43175 14:53:58.515890 ====> Client established passive DATA connection on port 43175 14:53:58.515948 < "TYPE I" 14:53:58.515970 > "200 I modify TYPE as you wanted[CR][LF]" 14:53:58.516083 < "SIZE verifiedserver" 14:53:58.516114 > "213 17[CR][LF]" 14:53:58.516240 < "RETR verifiedserver" 14:53:58.516265 > "150 Binary junk (17 bytes).[CR][LF]" 14:53:58.516326 =====> Closing passive DATA connection... 14:53:58.516338 Server disconnects passive DATA connection 14:53:58.516448 Server disconnected passive DATA connection 14:53:58.516468 DATA sockfilt for passive data channel quits (pid 112713) 14:53:58.516669 DATA sockfilt for passive data channel quit (pid 112713) 14:53:58.516700 =====> Closed passive DATA connection 14:53:58.516729 > "226 File transfer complete[CR][LF]" 14:53:58.557117 < "QUIT" 14:53:58.557164 > "221 bye bye baby[CR][LF]" 14:53:58.557690 MAIN sockfilt said DISC 14:53:58.557732 ====> Client disconnected 14:53:58.557778 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:53:58.596314 ====> Client connect 14:53:58.596518 Received DATA (on stdin) 14:53:58.596530 > 160 bytes data, server => client 14:53:58.596540 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:53:58.596549 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:53:58.596557 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:53:58.596609 < 16 bytes data, client => server 14:53:58.596618 'USER anonymous\r\n' 14:53:58.596752 Received DATA (on stdin) 14:53:58.596762 > 33 bytes data, server => client 14:53:58.596771 '331 We are happy you popped in!\r\n' 14:53:58.596810 < 22 bytes data, client => server 14:53:58.596818 'PASS ftp@example.com\r\n' 14:53:58.596901 Received DATA (on stdin) 14:53:58.596911 > 30 bytes data, server => client 14:53:58.596919 '230 Welcome you silly person\r\n' 14:53:58.596954 < 5 bytes data, client => server 14:53:58.596963 'PWD\r\n' 14:53:58.597038 Received DATA (on stdin) 14:53:58.597047 > 30 bytes data, server => client 14:53:58.597056 '257 "/" is current directory\r\n' 14:53:58.597096 < 6 bytes data, client => server 14:53:58.597105 'EPSV\r\n' 14:53:58.598511 Received DATA (on stdin) 14:53:58.598523 > 38 bytes data, server => client 14:53:58.598532 '229 Entering Passive Mode (|||43175|)\n' 14:53:58.598635 < 8 bytes data, client => server 14:53:58.598645 'TYPE I\r\n' 14:53:58.598781 Received DATA (on stdin) 14:53:58.598790 > 33 bytes data, server => client 14:53:58.598799 '200 I modify TYPE as you wanted\r\n' 14:53:58.598835 < 21 bytes data, client => server 14:53:58.598844 'SIZE verifiedserver\r\n' 14:53:58.598924 Received DATA (on stdin) 14:53:58.598935 > 8 bytes data, server => client 14:53:58.598944 '213 17\r\n' 14:53:58.598986 < 21 bytes data, client => server 14:53:58.598995 'RETR verifiedserver\r\n' 14:53:58.599149 Received DATA (on stdin) 14:53:58.599159 > 29 bytes data, server => client 14:53:58.599167 '150 Binary junk (17 bytes).\r\n' 14:53:58.599547 Received DATA (on stdin) 14:53:58.599562 > 28 bytes data, server => client 14:53:58.599570 '226 File transfer complete\r\n' 14:53:58.639772 < 6 bytes data, client => server 14:53:58.639797 'QUIT\r\n' 14:53:58.639982 Received DATA (on stdin) 14:53:58.639996 > 18 bytes data, server => client 14:53:58.640009 '221 bye bye baby\r\n' 14:53:58.640450 ====> Client disconnect 14:53:58.640589 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:53:58.598240 Running IPv4 version 14:53:58.598280 Listening on port 43175 14:53:58.598312 Wrote pid 112713 to log/18/server/ftp_sockdata.pid 14:53:58.598328 Received PING (on stdin) 14:53:58.598397 Received PORT (on stdin) 14:53:58.598613 ====> Client connect 14:53:58.599083 Received DATA (on stdin) 14:53:58.599094 > 17 bytes data, server => client 14:53:58.599103 'WE ROOLZ: 80342\r\n' 14:53:58.599148 Received DISC (on stdin) 14:53:58.599158 ====> Client forcibly disconnected 14:53:58.599287 Received QUIT (on stdin) 14:53:58.599298 quits 14:53:58.599335 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 14:53:58.653038 ====> Client connect 14:53:58.653096 accept_connection 3 returned 4 14:53:58.653124 accept_connection 3 returned 0 14:53:58.653139 Read 93 bytes 14:53:58.653153 Process 93 bytes request 14:53:58.653163 Got request: GET /verifiedserver HTTP/1.1 14:53:58.653171 Are-we-friendly question received 14:53:58.653203 Wrote request (93 bytes) input to log/18/proxy.input 14:53:58.653219 Identifying ourselves as friends 14:53:58.653288 Response sent (56 bytes) and written to log/18/proxy.response 14:53:58.653299 special request received, no persistency 14:53:58.653307 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35323... * Established connection to 127.0.0.1 (127.0.0.1 port 35323) from 127.0.0.1 port 40658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35323 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35323 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79088 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79088 === End of file proxy.response === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 14:53:58.656643 Running IPv4 version 14:53:58.656688 Listening on port 39597 14:53:58.656714 Wrote pid 112741 to log/18/server/socks_server.pid 14:53:58.656736 Wrote port 39597 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==113813== ==113813== Process terminating with default action of signal 4 (SIGILL) ==113813== Illegal opcode at address 0x4014B6F ==113813== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113813== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113813== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113813== by 0x4004266: main (tool_main.c:199) === End of file valgrind715 startnew: ./server/servers socksd --port 0 --pidfile log/19/server/socks_server.pid --portfile log/19/server/socks_server.port --reqfile log/19/socksd-request.log --logfile log/19/socks_server.log --backend 127.0.0.1 --config log/19/server.cmd RUN: SOCKS server is now running PID 112742 * pid socks => 112742 112742 test 0716...[SOCKS5 proxy with too longCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/5/stdout745 2> log/5/stderr745 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind717 ../src/curl -q --output log/12/curl717.out --include --trace-ascii log/12/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:42285 > log/12/stdout717 2> log/12/stderr717 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind720 ../src/curl -q --output log/13/curl720.out --include --trace-ascii log/13/trace720 --trace-time http://12.34.56.78:41533/720 --proxy socks5h://127.0.0.1:46037 > log/13/stdout720 2> log/13/stderr720 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind730 ../src/curl -q --output log/17/curl730.out --include --trace-ascii log/17/trace730 --trace-time --ipfs-gateway http://127.0.0.1:45171/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout730 2> log/17/stderr730 user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind716 ../src/curl -q --output log/19/curl716.out --include --trace-ascii log/19/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:45815 > log/19/stdout716 2> log/19/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/19/ dir after test 716 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind716 ../src/curl -q --output log/19/curl716.out --include --trace-ascii log/19/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:45815 > log/19/stdout716 2> log/19/stderr716 === End of file commands.log === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file socks_server.log 14:53:58.687575 Running IPv4 version 14:53:58.687617 Listening on port 45815 14:53:58.687645 Wrote pid 112742 to log/19/server/socks_server.pid 14:53:58.687667 Wrote port 45815 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==113930== ==113930== Process terminating with default action of signal 4 (SIGILL) ==113930== Illegal opcode at address 0x4014B6F ==113930== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==113930== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==113930== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==113930== by 0x4004266: main (tool_main.c:199) === End of file valgrind716 test 0745...[Verify that typecheck-gcc and curl.h are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/5/stdout745 2> log/5/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1725, remaining: 01:37, took 0.014s, duration: 01:09) startnew: ./server/servers socksd --port 0 --pidfile log/12/server/socks_server.pid --portfile log/12/server/socks_server.port --reqfile log/12/socksd-request.log --logfile log/12/socks_server.log --backend 127.0.0.1 --config log/12/server.cmd RUN: SOCKS server is now running PID 112745 * pid socks => 112745 112745 test 0717...[SOCKS5 proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind717 ../src/curl -q --output log/12/curl717.out --include --trace-ascii log/12/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:42285 > log/12/stdout717 2> log/12/stderr717 717: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 717 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind717 ../src/curl -q --output log/12/curl717.out --include --trace-ascii log/12/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:42285 > log/12/stdout717 2> log/12/stderr717 === End of file commands.log === Start of file http_server.log 14:53:59.809713 ====> Client connect 14:53:59.809745 accept_connection 3 returned 4 14:53:59.809762 accept_connection 3 returned 0 14:53:59.809777 Read 93 bytes 14:53:59.809788 Process 93 bytes request 14:53:59.809801 Got request: GET /verifiedserver HTTP/1.1 14:53:59.809811 Are-we-friendly question received 14:53:59.809837 Wrote request (93 bytes) input to log/12/server.input 14:53:59.809855 Identifying ourselves as friends 14:53:59.809912 Response sent (56 bytes) and written to log/12/server.response 14:53:59.809923 special request received, no persistency 14:53:59.809932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 43359 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file socks_server.log 14:53:58.788930 Running IPv4 version 14:53:58.788974 Listening on port 42285 14:53:58.788999 Wrote pid 112745 to log/12/server/socks_server.pid 14:53:58.789020 Wrote port 42285 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==114037== ==114037== Process terminating with default action of signal 4 (SIGILL) ==114037== Illegal opcode at address 0x4014B6F ==114037== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114037== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114037== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114037== by 0x4004266: main (tool_main.c:199) === End of file valgrind717 startnew: ./server/servers socksd --port 0 --pidfile log/13/server/socks_server.pid --portfile log/13/server/socks_server.port --reqfile log/13/socksd-request.log --logfile log/13/socks_server.log --backend 127.0.0.1 --config log/13/server.cmd RUN: SOCKS server is now running PID 112799 * pid socks => 112799 112799 test 0720...[HTTP GET with IPv4 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind720 ../src/curl -q --output log/13/curl720.out --include --trace-ascii log/13/trace720 --trace-time http://12.34.56.78:41533/720 --proxy socks5h://127.0.0.1:46037 > log/13/stdout720 2> log/13/stderr720 720: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 720 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind720 ../src/curl -q --output log/13/curl720.out --include --trace-ascii log/13/trace720 --trace-time http://12.34.56.78:41533/720 --proxy socks5h://127.0.0.1:46037 > log/13/stdout720 2> log/13/stderr720 === End of file commands.log === Start of file http_server.log 14:53:58.855912 ====> Client connect 14:53:58.855941 accept_connection 3 returned 4 14:53:58.855953 accept_connection 3 returned 0 14:53:58.855963 Read 93 bytes 14:53:58.855970 Process 93 bytes request 14:53:58.855978 Got request: GET /verifiedserver HTTP/1.1 14:53:58.855985 Are-we-friendly question received 14:53:58.856016 Wrote request (93 bytes) input to log/13/server.input 14:53:58.856028 Identifying ourselves as friends 14:53:58.856066 Response sent (56 bytes) and written to log/13/server.response 14:53:58.856073 special request received, no persistency 14:53:58.856080 ====CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind719 ../src/curl -q --output log/14/curl719.out --include --trace-ascii log/14/trace719 --trace-time http://[2200::33]:46043/719 --proxy socks5h://127.0.0.1:40275 > log/14/stdout719 2> log/14/stderr719 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind721 ../src/curl -q --output log/4/curl721.out --include --trace-ascii log/4/trace721 --trace-time http://this.is.a.host.name:39793/721 --proxy socks5h://127.0.0.1:46515 > log/4/stdout721 2> log/4/stderr721 > Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 44406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 720 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file socks_server.log 14:53:58.859062 Running IPv4 version 14:53:58.859104 Listening on port 46037 14:53:58.859129 Wrote pid 112799 to log/13/server/socks_server.pid 14:53:58.859149 Wrote port 46037 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==114089== ==114089== Process terminating with default action of signal 4 (SIGILL) ==114089== Illegal opcode at address 0x4014B6F ==114089== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114089== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114089== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114089== by 0x4004266: main (tool_main.c:199) === End of file valgrind720 test 0730...[IPFS arg gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind730 ../src/curl -q --output log/17/curl730.out --include --trace-ascii log/17/trace730 --trace-time --ipfs-gateway http://127.0.0.1:45171/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout730 2> log/17/stderr730 730: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 730 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind730 ../src/curl -q --output log/17/curl730.out --include --trace-ascii log/17/trace730 --trace-time --ipfs-gateway http://127.0.0.1:45171/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout730 2> log/17/stderr730 === End of file commands.log === Start of file http_server.log 14:53:59.903041 ====> Client connect 14:53:59.903075 accept_connection 3 returned 4 14:53:59.903092 accept_connection 3 returned 0 14:53:59.903106 Read 93 bytes 14:53:59.903117 Process 93 bytes request 14:53:59.903131 Got request: GET /verifiedserver HTTP/1.1 14:53:59.903141 Are-we-friendly question received 14:53:59.903165 Wrote request (93 bytes) input to log/17/server.input 14:53:59.903183 Identifying ourselves as friends 14:53:59.903234 Response sent (56 bytes) and written to log/17/server.response 14:53:59.903245 special request received, no persistency 14:53:59.903254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 57226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 730 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind730 ==114246== ==114246== Process terminating with default action of signal 4 (SIGILL) ==114246== Illegal opcode at address 0x4014B6F ==114246== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114246== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114246== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114246== by 0x4004266: main (tool_main.c:199) === End of file valgrind730 startnew: ./server/servers socksd --port 0 --pidfile log/14/server/socks_server.pid --portfile log/14/server/socks_server.port --reqfile log/14/socksd-request.log --logfile log/14/socks_server.log --backend 127.0.0.1 --config log/14/server.cmd RUN: SOCKS server is now running PID 112798 * pid socks => 112798 112798 test 0719...[HTTP GET with IPv6 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind719 ../src/curl -q --output log/14/curl719.out --include --trace-ascii log/14/trace719 --trace-time http://[2200::33]:46043/719 --proxy socks5h://127.0.0.1:40275 > log/14/stdout719 2> log/14/stderr719 719: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 719 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind719 ../src/curl -q --output log/14/curl719.out --include --trace-ascii log/14/trace719 --trace-time http://[2200::33]:46043/719 --proxy socks5h://127.0.0.1:40275 > log/14/stdout719 2> log/14/stderr719 === End of file commands.log === Start of file http_server.log 14:53:58.855448 ====> Client connect 14:53:58.855471 accept_connection 3 returned 4 14:53:58.855483 accept_connection 3 returned 0 14:53:58.855494 Read 93 bytes 14:53:58.855502 Process 93 bytes request 14:53:58.855512 Got request: GET /verifiedserver HTTP/1.1 14:53:58.855519 Are-we-friendly question received 14:53:58.855537 Wrote request (93 bytes) input to log/14/server.input 14:53:58.855549 Identifying ourselves as friends 14:53:58.855586 Response sent (56 bytes) and written to log/14/server.response 14:53:58.855593 special request received, no persistency 14:53:58.855600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 60172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 719 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file socks_server.log 14:53:58.858827 Running IPv4 version 14:53:58.858870 Listening on port 40275 14:53:58.858895 Wrote pid 112798 to log/14/server/socks_server.pid 14:53:58.858915 Wrote port 40275 to log/14/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==114090== ==114090== Process terminating with default action of signal 4 (SIGILL) ==114090== Illegal opcode at address 0x4014B6F ==114090== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114090== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114090== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114090== by 0x4004266: main (tool_main.c:199) === End of file valgrind719 startnew: ./server/servers socksd --port 0 --pidfile log/4/server/socks_server.pid --portfile log/4/server/socks_servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind729 ../src/curl -q --output log/6/curl729.out --include --trace-ascii log/6/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36745 > log/6/stdout729 2> log/6/stderr729 er.port --reqfile log/4/socksd-request.log --logfile log/4/socks_server.log --backend 127.0.0.1 --config log/4/server.cmd RUN: SOCKS server is now running PID 112838 * pid socks => 112838 112838 test 0721...[HTTP GET with host name using SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind721 ../src/curl -q --output log/4/curl721.out --include --trace-ascii log/4/trace721 --trace-time http://this.is.a.host.name:39793/721 --proxy socks5h://127.0.0.1:46515 > log/4/stdout721 2> log/4/stderr721 721: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind721 ../src/curl -q --output log/4/curl721.out --include --trace-ascii log/4/trace721 --trace-time http://this.is.a.host.name:39793/721 --proxy socks5h://127.0.0.1:46515 > log/4/stdout721 2> log/4/stderr721 === End of file commands.log === Start of file http_server.log 14:53:58.870962 ====> Client connect 14:53:58.871002 accept_connection 3 returned 4 14:53:58.871020 accept_connection 3 returned 0 14:53:58.871035 Read 93 bytes 14:53:58.871045 Process 93 bytes request 14:53:58.871060 Got request: GET /verifiedserver HTTP/1.1 14:53:58.871069 Are-we-friendly question received 14:53:58.871089 Wrote request (93 bytes) input to log/4/server.input 14:53:58.871105 Identifying ourselves as friends 14:53:58.871158 Response sent (56 bytes) and written to log/4/server.response 14:53:58.871167 special request received, no persistency 14:53:58.871174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 56484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 721 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file socks_server.log 14:53:58.875466 Running IPv4 version 14:53:58.875509 Listening on port 46515 14:53:58.875533 Wrote pid 112838 to log/4/server/socks_server.pid 14:53:58.875553 Wrote port 46515 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==114131== ==114131== Process terminating with default action of signal 4 (SIGILL) ==114131== Illegal opcode at address 0x4014B6F ==114131== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114131== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114131== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114131== by 0x4004266: main (tool_main.c:199) === End of file valgrind721 test 0729...[SOCKS4 with very long proxy user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind729 ../src/curl -q --output log/6/curl729.out --include --trace-ascii log/6/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36745 > log/6/stdout729 2> log/6/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/6/ dir after test 729 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind729 ../src/curl -q --output log/6/curl729.out --include --trace-ascii log/6/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36745 > log/6/stdout729 2> log/6/stderr729 === End of file commands.log === Start of file http_server.log 14:53:59.897774 ====> Client connect 14:53:59.897807 accept_connection 3 returned 4 14:53:59.897825 accept_connection 3 returned 0 14:53:59.897841 Read 93 bytes 14:53:59.897853 Process 93 bytes request 14:53:59.897867 Got request: GET /verifiedserver HTTP/1.1 14:53:59.897878 Are-we-friendly question received 14:53:59.897905 Wrote request (93 bytes) input to log/6/server.input 14:53:59.897927 Identifying ourselves as friends 14:53:59.897987 Response sent (56 bytes) and written to log/6/server.response 14:53:59.897999 special request received, no persistency 14:53:59.898010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 729 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind729 ==114219== ==114219== Process terminating with default action of signal 4 (SIGILL) ==114219== Illegal opcode at address 0x4014B6F ==114219== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114219== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114219== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:34475 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/stderr732 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33503 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind734 ../src/curl -q --output log/3/curl734.out --include --trace-ascii log/3/trace734 --trace-time --ipfs-gateway http://127.0.0.1:46791/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/3/stdout734 2> log/3/stderr734 ) ==114219== by 0x4004266: main (tool_main.c:199) === End of file valgrind729 test 0732...[IPFS with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:34475 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/stderr732 732: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:34475 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/stderr732 === End of file commands.log === Start of file http_server.log 14:54:00.338685 ====> Client connect 14:54:00.338722 accept_connection 3 returned 4 14:54:00.338741 accept_connection 3 returned 0 14:54:00.338756 Read 93 bytes 14:54:00.338767 Process 93 bytes request 14:54:00.338781 Got request: GET /verifiedserver HTTP/1.1 14:54:00.338792 Are-we-friendly question received 14:54:00.338820 Wrote request (93 bytes) input to log/16/server.input 14:54:00.338839 Identifying ourselves as friends 14:54:00.338898 Response sent (56 bytes) and written to log/16/server.response 14:54:00.338910 special request received, no persistency 14:54:00.338921 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 58792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 732 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind732 ==114494== ==114494== Process terminating with default action of signal 4 (SIGILL) ==114494== Illegal opcode at address 0x4014B6F ==114494== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114494== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114494== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114494== by 0x4004266: main (tool_main.c:199) === End of file valgrind732 test 0733...[IPFS with path and query args] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33503 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 733: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 733 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33503 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 === End of file commands.log === Start of file http_server.log 14:54:00.360581 ====> Client connect 14:54:00.360616 accept_connection 3 returned 4 14:54:00.360635 accept_connection 3 returned 0 14:54:00.360651 Read 93 bytes 14:54:00.360663 Process 93 bytes request 14:54:00.360677 Got request: GET /verifiedserver HTTP/1.1 14:54:00.360689 Are-we-friendly question received 14:54:00.360715 Wrote request (93 bytes) input to log/11/server.input 14:54:00.360733 Identifying ourselves as friends 14:54:00.360789 Response sent (56 bytes) and written to log/11/server.response 14:54:00.360800 special request received, no persistency 14:54:00.360811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 733 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind733 ==114531== ==114531== Process terminating with default action of signal 4 (SIGILL) ==114531== Illegal opcode at address 0x4014B6F ==114531== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114531== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114531== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114531== by 0x4004266: main (tool_main.c:199) === End of file valgrind733 test 0734...[IPFS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind734 ../src/curl -q --output log/3/curl734.out --include --trace-ascii log/3/trace734 --trace-time --ipfs-gateway http://127.0.0.1:46791/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/3/stdout734 2> log/3/stderr734 734: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 734 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind734 ../src/curl -q --output log/3/curl734.out --include --trace-ascii log/3/trace734 --trace-time --ipfs-gateway http://127.0.0.1:46791/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/3/stdout734 2> log/3/stderr734 === End of file commands.log === Start of file http_server.log 14:54:00.503370 ====> Client connect 14:54:00.503404 accept_connection 3 returned 4 14:54:00.503421 accept_connection 3 returned 0 14:54:00.503437 Read 93 bytes 14:54:00.503448 Process 93 bytes request 14:54:00.503463 Got request: GET /verifiedserver HTTP/1.1 14:54:00.503473 Are-we-friendly question received 14:54:00.503497 Wrote request (93 bytes) input to log/3/server.input 14:54:00.503513 Identifying ourselves as friends 14:54:00.503575 Response sent (56 bytes) and written to log/3/server.response 14:54:00.503586 special request received, no persistency 14:54:00.503596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind736 ../src/curl -q --output log/9/curl736.out --include --trace-ascii log/9/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout736 2> log/9/stderr736 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind737 ../src/curl -q --output log/21/curl737.out --include --trace-ascii log/21/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout737 2> log/21/stderr737 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind735 ../src/curl -q --output log/20/curl735.out --include --trace-ascii log/20/trace735 --trace-time --ipfs-gateway http://127.0.0.1:39569/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/20/stdout735 2> log/20/stderr735 ort 56820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 734 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind734 ==114673== ==114673== Process terminating with default action of signal 4 (SIGILL) ==114673== Illegal opcode at address 0x4014B6F ==114673== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114673== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114673== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114673== by 0x4004266: main (tool_main.c:199) === End of file valgrind734 setenv IPFS_PATH = log/9/.ipfs test 0736...[IPFS with IPFS_PATH set, no trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind736 ../src/curl -q --output log/9/curl736.out --include --trace-ascii log/9/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout736 2> log/9/stderr736 736: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 736 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind736 ../src/curl -q --output log/9/curl736.out --include --trace-ascii log/9/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout736 2> log/9/stderr736 === End of file commands.log === Start of file http_server.log 14:54:00.506993 ====> Client connect 14:54:00.507019 accept_connection 3 returned 4 14:54:00.507033 accept_connection 3 returned 0 14:54:00.507045 Read 93 bytes 14:54:00.507054 Process 93 bytes request 14:54:00.507063 Got request: GET /verifiedserver HTTP/1.1 14:54:00.507072 Are-we-friendly question received 14:54:00.507092 Wrote request (93 bytes) input to log/9/server.input 14:54:00.507106 Identifying ourselves as friends 14:54:00.507150 Response sent (56 bytes) and written to log/9/server.response 14:54:00.507159 special request received, no persistency 14:54:00.507167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 736 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind736 ==114677== ==114677== Process terminating with default action of signal 4 (SIGILL) ==114677== Illegal opcode at address 0x4014B6F ==114677== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114677== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114677== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114677== by 0x4004266: main (tool_main.c:199) === End of file valgrind736 setenv IPFS_PATH = log/21/.ipfs/ test 0737...[IPFS with IPFS_PATH set, with trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind737 ../src/curl -q --output log/21/curl737.out --include --trace-ascii log/21/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout737 2> log/21/stderr737 737: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 737 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind737 ../src/curl -q --output log/21/curl737.out --include --trace-ascii log/21/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout737 2> log/21/stderr737 === End of file commands.log === Start of file http_server.log 14:54:00.507146 ====> Client connect 14:54:00.507178 accept_connection 3 returned 4 14:54:00.507195 accept_connection 3 returned 0 14:54:00.507209 Read 93 bytes 14:54:00.507220 Process 93 bytes request 14:54:00.507232 Got request: GET /verifiedserver HTTP/1.1 14:54:00.507242 Are-we-friendly question received 14:54:00.507267 Wrote request (93 bytes) input to log/21/server.input 14:54:00.507284 Identifying ourselves as friends 14:54:00.507337 Response sent (56 bytes) and written to log/21/server.response 14:54:00.507348 special request received, no persistency 14:54:00.507358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 737 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind737 ==114690== ==114690== Process terminating with default action of signal 4 (SIGILL) ==114690== Illegal opcode at address 0x4014B6F ==114690== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114690== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114690== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114690== by 0x4004266: main (tool_main.c:199) === End of file valgrind737 test 0735...[IPNS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind735 ../src/curl -q --output log/20/curl735.out --include --trace-ascii log/20/trace735 --trace-time --ipfs-gateway http://127.0.0.1:39569/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/20/stdout735 2> log/20/stderr735 735: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 735 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind735 ../src/curl -q --output log/20/curl735.out --include --trace-ascii log/20/trace735 --trace-time --ipfs-gateway http://127.0.0.1:39569/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/20/stdout735 2> log/20/stderr735 === End of file commands.log === Start of file http_server.log 14:54:00.506910 ====> Client connect 14:54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind738 ../src/curl -q --output log/8/curl738.out --include --trace-ascii log/8/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout738 2> log/8/stderr738 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:43297 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:39597 > log/18/stdout742 2> log/18/stderr742 :00.506940 accept_connection 3 returned 4 14:54:00.506954 accept_connection 3 returned 0 14:54:00.506966 Read 93 bytes 14:54:00.506975 Process 93 bytes request 14:54:00.506986 Got request: GET /verifiedserver HTTP/1.1 14:54:00.506994 Are-we-friendly question received 14:54:00.507015 Wrote request (93 bytes) input to log/20/server.input 14:54:00.507028 Identifying ourselves as friends 14:54:00.507072 Response sent (56 bytes) and written to log/20/server.response 14:54:00.507081 special request received, no persistency 14:54:00.507088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58894 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 735 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind735 ==114676== ==114676== Process terminating with default action of signal 4 (SIGILL) ==114676== Illegal opcode at address 0x4014B6F ==114676== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114676== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114676== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114676== by 0x4004266: main (tool_main.c:199) === End of file valgrind735 setenv IPFS_PATH = log/8/.ipfs/ test 0738...[IPFS with IPFS_PATH, no gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind738 ../src/curl -q --output log/8/curl738.out --include --trace-ascii log/8/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout738 2> log/8/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/8/ dir after test 738 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind738 ../src/curl -q --output log/8/curl738.out --include --trace-ascii log/8/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout738 2> log/8/stderr738 === End of file commands.log === Start of file http_server.log 14:53:59.527145 ====> Client connect 14:53:59.527178 accept_connection 3 returned 4 14:53:59.527195 accept_connection 3 returned 0 14:53:59.527207 Read 93 bytes 14:53:59.527217 Process 93 bytes request 14:53:59.527229 Got request: GET /verifiedserver HTTP/1.1 14:53:59.527237 Are-we-friendly question received 14:53:59.527260 Wrote request (93 bytes) input to log/8/server.input 14:53:59.527275 Identifying ourselves as friends 14:53:59.527323 Response sent (56 bytes) and written to log/8/server.response 14:53:59.527331 special request received, no persistency 14:53:59.527339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 55966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 738 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind738 ==114783== ==114783== Process terminating with default action of signal 4 (SIGILL) ==114783== Illegal opcode at address 0x4014B6F ==114783== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114783== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114783== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114783== by 0x4004266: main (tool_main.c:199) === End of file valgrind738 test 0742...[SOCKS5-hostname with max length credentials and max host name length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:43297 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:39597 > log/18/stdout742 2> log/18/stderr742 742: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:43297 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:39597 > log/18/stdout742 2> log/18/stderr742 === End of file commands.log === Start of file http_server.log 14:54:00.628239 ====> Client connect 14:54:00.628271 accept_connection 3 returned 4 14:54:00.628289 accept_connection 3 returned 0 14:54:00.628304 Read 93 bytes 14:54:00.628315 Process 93 bytes request 14:54:00.628327 Got request: GET /verifiedserver HTTP/1.1 14:54:00.628338 Are-we-friendly question received 14:54:00.628364 Wrote request (93 bytes) input to log/18/server.input 14:54:00.628382 Identifying ourselves as friends 14:54:00.628437 Response sent (56 bytes) and written to log/18/server.response 14:54:00.628449 special request received, no persistency 14:54:00.628460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 39838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 rl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 43297 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind742 ==115033== ==115033== Process terminating with default action of signal 4 (SIGILL) ==115033== Illegal opcode at address 0x4014B6F ==115033== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115033== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115033== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115033== by 0x4004266: main (tool_main.c:199) === End of file valgrind742 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:34449/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind743 ../src/curl -q --output log/19/curl743.out --include --trace-ascii log/19/trace743 --trace-time http://127.0.0.1:33805/743 -K log/19/config > log/19/stdout743 2> log/19/stderr743 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind748 ../src/curl -q --output log/13/curl748.out --include --trace-ascii log/13/trace748 --trace-time -K log/13/cmd > log/13/stdout748 2> log/13/stderr748 test 0746...[too large numerical value passed to -m] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 746: stderr FAILED: --- log/5/check-expected 2025-09-11 14:54:01.418864429 +0000 +++ log/5/check-generated 2025-09-11 14:54:01.418864429 +0000 @@ -1,2 +0,0 @@ -curl: option -m: expected a proper numerical parameter[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/5/ dir after test 746 === Start of file check-expected curl: option -m: expected a proper numerical parameter[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==115107== ==115107== Process terminating with default action of signal 4 (SIGILL) ==115107== Illegal opcode at address 0x4014B6F ==115107== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115107== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115107== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115107== by 0x4004266: main (tool_main.c:199) === End of file valgrind746 test 0739...[IPNS path and query args for gateway and IPFS url (malformed gateway url)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:34449/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/24/ dir after test 739 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:34449/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 === End of file commands.log === Start of file http_server.log 14:54:00.624716 ====> Client connect 14:54:00.624748 accept_connection 3 returned 4 14:54:00.624765 accept_connection 3 returned 0 14:54:00.624781 Read 93 bytes 14:54:00.624793 Process 93 bytes request 14:54:00.624806 Got request: GET /verifiedserver HTTP/1.1 14:54:00.624816 Are-we-friendly question received 14:54:00.624839 Wrote request (93 bytes) input to log/24/server.input 14:54:00.624856 Identifying ourselves as friends 14:54:00.624906 Response sent (56 bytes) and written to log/24/server.response 14:54:00.624916 special request received, no persistency 14:54:00.624925 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 60822 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 739 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind739 ==115005== ==115005== Process terminating with default action of signal 4 (SIGILL) ==115005== Illegal opcode at address 0x4014B6F ==115005== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115005== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115005== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115005== by 0x4004266: main (tool_main.c:199) === End of file valgrind739 test 0743...[--config with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind743 ../src/curl -q --output log/19/curl743.out --include --trace-ascii log/19/trace743 --trace-time http://127.0.0.1:33805/743 -K log/19/config > log/19/stdout743 2> log/19/stderr743 743: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind743 ../src/curl -q --output log/19/curl743.out --include --trace-ascii log/19/trace743 --trace-time http://127.0.0.1:33805/743 -K log/19/config > log/19/stdout743 2> log/19/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 14:53:59.628811 ====> Client connect 14:53:59.628840 accept_connection 3 returned 4 14:53:59.628858 accept_connection 3 returned 0 14:53:59.628979 Read 93 bytes 14:53:59.628995 Process 93 bytes request 14:53:59.629008 Got request: GET /verifiedserver HTTP/1.1 14:53:59.629019 Are-we-friendly question received 14:53:59.629046 Wrote request (93 bytes) input to log/19/server.input 14:53:59.629064 Identifying ourselves as friends 14:53:59.629117 Response sent (56 bytes) and written to log/19/server.response 14:53:59.629129 special request received, no persistency 14:53:59.629139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 36494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 743 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind743 ==115034== ==115034== Process terminating with default action of signal 4 (SIGILL) ==115034== Illegal opcode at address 0x4014B6F ==115034== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115034== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115034== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115034== by 0x4004266: main (tool_main.c:199) === End of file valgrind743 test 0748...[A --config file that uses -h and no URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind748 ../src/curl -q --output log/13/curl748.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind752 ../src/curl -q --output log/6/curl752.out --include --trace-ascii log/6/trace752 --trace-time http://127.0.0.1:38791/752 -f --retry 1 > log/6/stdout752 2> log/6/stderr752 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34563 http://127.0.0.1:35893/728 > log/10/stdout728 2> log/10/stderr728 out --include --trace-ascii log/13/trace748 --trace-time -K log/13/cmd > log/13/stdout748 2> log/13/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/13/ dir after test 748 === Start of file cmd -h all === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind748 ../src/curl -q --output log/13/curl748.out --include --trace-ascii log/13/trace748 --trace-time -K log/13/cmd > log/13/stdout748 2> log/13/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==115351== ==115351== Process terminating with default action of signal 4 (SIGILL) ==115351== Illegal opcode at address 0x4014B6F ==115351== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115351== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115351== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115351== by 0x4004266: main (tool_main.c:199) === End of file valgrind748 test 0752...[--retry and -f on a HTTP 404 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind752 ../src/curl -q --output log/6/curl752.out --include --trace-ascii log/6/trace752 --trace-time http://127.0.0.1:38791/752 -f --retry 1 > log/6/stdout752 2> log/6/stderr752 752: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 752 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind752 ../src/curl -q --output log/6/curl752.out --include --trace-ascii log/6/trace752 --trace-time http://127.0.0.1:38791/752 -f --retry 1 > log/6/stdout752 2> log/6/stderr752 === End of file commands.log === Start of file http_server.log 14:54:00.870210 ====> Client connect 14:54:00.870240 accept_connection 3 returned 4 14:54:00.870256 accept_connection 3 returned 0 14:54:00.870270 Read 93 bytes 14:54:00.870280 Process 93 bytes request 14:54:00.870294 Got request: GET /verifiedserver HTTP/1.1 14:54:00.870304 Are-we-friendly question received 14:54:00.870328 Wrote request (93 bytes) input to log/6/server.input 14:54:00.870344 Identifying ourselves as friends 14:54:00.870395 Response sent (56 bytes) and written to log/6/server.response 14:54:00.870405 special request received, no persistency 14:54:00.870414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 752 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind752 ==115611== ==115611== Process terminating with default action of signal 4 (SIGILL) ==115611== Illegal opcode at address 0x4014B6F ==115611== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115611== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115611== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115611== by 0x4004266: main (tool_main.c:199) === End of file valgrind752 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind751 ./libtest/libtests lib751 - > log/4/stdout751 2> log/4/stderr751 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind750 ../src/curl -q --output log/14/curl750.out --include --trace-ascii log/14/trace750 --trace-time http://test.example --proxy http://127.0.0.1:46043 --proxytunnel -sS > log/14/stdout750 2> log/14/stderr750 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:43359/747 > log/12/stdout747 2> log/12/stderr747 startnew: ./server/servers socksd --port 0 --pidfile log/10/server/socks_server.pid --portfile log/10/server/socks_server.port --reqfile log/10/socksd-request.log --logfile log/10/socks_server.log --backend 127.0.0.1 --config log/10/server.cmd RUN: SOCKS server is now running PID 114035 * pid socks => 114035 114035 test 0728...[SOCKS5h with HTTP redirect to hostname too long] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34563 http://127.0.0.1:35893/728 > log/10/stdout728 2> log/10/stderr728 728: stderr FAILED: --- log/10/check-expected 2025-09-11 14:54:01.678864433 +0000 +++ log/10/check-generated 2025-09-11 14:54:01.678864433 +0000 @@ -1 +0,0 @@ -curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] == Contents of files in the log/10/ dir after test 728 === Start of file check-expected curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34563 http://127.0.0.1:35893/728 > log/10/stdout728 2> log/10/stderr728 === End of file commands.log === Start of file http_server.log 14:53:59.806760 ====> Client connect 14:53:59.806788 accept_connection 3 returned 4 14:53:59.806801 accept_connection 3 returned 0 14:53:59.806813 Read 93 bytes 14:53:59.806822 Process 93 bytes request 14:53:59.806833 Got request: GET /verifiedserver HTTP/1.1 14:53:59.806841 Are-we-friendly question received 14:53:59.806860 Wrote request (93 bytes) input to log/10/server.input 14:53:59.806873 Identifying ourselves as friends 14:53:59.806913 Response sent (56 bytes) and written to log/10/server.response 14:53:59.806921 special request received, no persistency 14:53:59.806929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 59980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 728 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file socks_server.log 14:53:59.811627 Running IPv4 version 14:53:59.811687 Listening on port 34563 14:53:59.811719 Wrote pid 114035 to log/10/server/socks_server.pid 14:53:59.811747 Wrote port 34563 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 ==115330== ==115330== Process terminating with default action of signal 4 (SIGILL) ==115330== Illegal opcode at address 0x4014B6F ==115330== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115330== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115330== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115330== by 0x4004266: main (tool_main.c:199) === End of file valgrind728 test 0751...[multi - add many easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind751 ./libtest/libtests lib751 - > log/4/stdout751 2> log/4/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/4/ dir after test 751 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind751 ./libtest/libtests lib751 - > log/4/stdout751 2> log/4/stderr751 === End of file commands.log === Start of file server.cmd Testnum 751 === End of file server.cmd === Start of file stderr751 URL: - === End of file stderr751 === Start of file valgrind751 ==115383== ==115383== Process terminating with default action of signal 4 (SIGILL) ==115383== Illegal opcode at address 0x519C257 ==115383== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==115383== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==115383== by 0x519C257: Curl_multi_handle (multi.c:236) ==115383== by 0x4028B5D: test_lib751.lto_priv.0 (lib751.c:44) ==115383== by 0x400347F: main (first.c:281) ==115383== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==115383== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==115383== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==115383== by 0x4028B5D: test_lib751.lto_priv.0 (lib751.c:44) ==115383== by 0x400347F: main (first.c:281) ==115383== === End of file valgrind751 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind749 ../src/curl -q --output log/17/curl749.out --include --trace-ascii log/17/trace749 --trace-time http://test.example --proxy http://127.0.0.1:45171 --proxytunnel -sS > log/17/stdout749 2> log/17/stderr749 test 0750...[HTTP CONNECT with proxy returning just HTML and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind750 ../src/curl -q --output log/14/curl750.out --include --trace-ascii log/14/trace750 --trace-time http://test.example --proxy http://127.0.0.1:46043 --proxytunnel -sS > log/14/stdout750 2> log/14/stderr750 750: stderr FAILED: --- log/14/check-expected 2025-09-11 14:54:01.685531098 +0000 +++ log/14/check-generated 2025-09-11 14:54:01.685531098 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/14/ dir after test 750 === Start of file check-expected curl: (43) Invalid response header[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind750 ../src/curl -q --output log/14/curl750.out --include --trace-ascii log/14/trace750 --trace-time http://test.example --proxy http://127.0.0.1:46043 --proxytunnel -sS > log/14/stdout750 2> log/14/stderr750 === End of file commands.log === Start of file http_server.log 14:54:00.841352 ====> Client connect 14:54:00.841389 accept_connection 3 returned 4 14:54:00.841407 accept_connection 3 returned 0 14:54:00.841422 Read 93 bytes 14:54:00.841433 Process 93 bytes request 14:54:00.841445 Got request: GET /verifiedserver HTTP/1.1 14:54:00.841455 Are-we-friendly question received 14:54:00.841481 Wrote request (93 bytes) input to log/14/server.input 14:54:00.841497 Identifying ourselves as friends 14:54:00.841557 Response sent (56 bytes) and written to log/14/server.response 14:54:00.841568 special request received, no persistency 14:54:00.841578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 60186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 750 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind750 ==115476== ==115476== Process terminating with default action of signal 4 (SIGILL) ==115476== Illegal opcode at address 0x4014B6F ==115476== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115476== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115476== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115476== by 0x4004266: main (tool_main.c:199) === End of file valgrind750 test 0747...[Reject too many HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:43359/747 > log/12/stdout747 2> log/12/stderr747 747: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 747 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:43359/747 > log/12/stdout747 2> log/12/stderr747 === End of file commands.log === Start of file http_server.log 14:54:00.835751 ====> Client connect 14:54:00.835786 accept_connection 3 returned 4 14:54:00.835802 accept_connection 3 returned 0 14:54:00.835817 Read 93 bytes 14:54:00.835827 Process 93 bytes request 14:54:00.835842 Got request: GET /verifiedserver HTTP/1.1 14:54:00.835852 Are-we-friendly question received 14:54:00.835878 Wrote request (93 bytes) input to log/12/server.input 14:54:00.835895 Identifying ourselves as friends 14:54:00.835944 Response sent (56 bytes) and written to log/12/server.response 14:54:00.835954 special request received, no persistency 14:54:00.835962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 747 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind747 ==115595== ==115595== Process terminating with default action of signal 4 (SIGILL) ==115595== Illegal opcode at address 0x4014B6F ==115595== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115595== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115595== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115595== by 0x4004266: main (tool_main.c:199) === End of file valgrind747 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33503 -A "" --netrc > log/11/stdout755 2> log/11/stderr755 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:32915/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 test 0749...[HTTP CONNECT with proxy returning 400 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind749 ../src/curl -q --output log/17/curl749.out --include --trace-ascii log/17/trace749 --trace-time http://test.example --proxy http://127.0.0.1:45171 --proxytunnel -sS > log/17/stdout749 2> log/17/stderr749 749: stderr FAILED: --- log/17/check-expected 2025-09-11 14:54:01.705531098 +0000 +++ log/17/check-generated 2025-09-11 14:54:01.705531098 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/17/ dir after test 749 === Start of file check-expected curl: (56) CONNECT tunnel failed, response 400[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind749 ../src/curl -q --output log/17/curl749.out --include --trace-ascii log/17/trace749 --trace-time http://test.example --proxy http://127.0.0.1:45171 --proxytunnel -sS > log/17/stdout749 2> log/17/stderr749 === End of file commands.log === Start of file http_server.log 14:54:00.837513 ====> Client connect 14:54:00.837540 accept_connection 3 returned 4 14:54:00.837553 accept_connection 3 returned 0 14:54:00.837565 Read 93 bytes 14:54:00.837573 Process 93 bytes request 14:54:00.837584 Got request: GET /verifiedserver HTTP/1.1 14:54:00.837595 Are-we-friendly question received 14:54:00.837618 Wrote request (93 bytes) input to log/17/server.input 14:54:00.837634 Identifying ourselves as friends 14:54:00.837684 Response sent (56 bytes) and written to log/17/server.response 14:54:00.837694 special request received, no persistency 14:54:00.837703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 57240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 749 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind749 ==115456== ==115456== Process terminating with default action of signal 4 (SIGILL) ==115456== Illegal opcode at address 0x4014B6F ==115456== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115456== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115456== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115456== by 0x4004266: main (tool_main.c:199) === End of file valgrind749 setenv NETRC = log/11/netrc755 test 0755...[netrc with NETRC pointing out the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33503 -A "" --netrc > log/11/stdout755 2> log/11/stderr755 755: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 755 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33503 -A "" --netrc > log/11/stdout755 2> log/11/stderr755 === End of file commands.log === Start of file http_server.log 14:54:01.279951 ====> Client connect 14:54:01.279986 accept_connection 3 returned 4 14:54:01.280004 accept_connection 3 returned 0 14:54:01.280019 Read 93 bytes 14:54:01.280031 Process 93 bytes request 14:54:01.280045 Got request: GET /verifiedserver HTTP/1.1 14:54:01.280056 Are-we-friendly question received 14:54:01.280083 Wrote request (93 bytes) input to log/11/server.input 14:54:01.280103 Identifying ourselves as friends 14:54:01.280165 Response sent (56 bytes) and written to log/11/server.response 14:54:01.280179 special request received, no persistency 14:54:01.280189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 51388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file netrc755 machine foo.host login foo password alone-in-the-dark === End of file netrc755 === Start of file server.cmd Testnum 755 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind755 ==115803== ==115803== Process terminating with default action of signal 4 (SIGILL) ==115803== Illegal opcode at address 0x4014B6F ==115803== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115803== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115803== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115803== by 0x4004266: main (tool_main.c:199) === End of file valgrind755 test 0754...[FTP list with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:32915/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 754: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 754 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:32915/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 === End of file commands.log === Start of file ftp_server.log 14:54:01.189686 ====> Client connect 14:54:01.189844 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:01.190142 < "USER anonymous" 14:54:01.190179 > "331 We are happy you popped in![CR][LF]" 14:54:01.190379 < "PASS ftp@example.com" 14:54:01.190407 > "230 Welcome you silly person[CR][LF]" 14:54:01.190577 < "PWD" 14:54:01.190611 > "257 "/" is current directory[CR][LF]" 14:54:01.190790 < "EPSV" 14:54:01.190815 ====> Passive DATA channel requested by client 14:54:01.190829 DATA sockfilt for passive data channel starting... 14:54:01.192359 DATA sockfilt for passive data channel started (pid 115793) 14:54:01.192473 DATA sockfilt for passive data CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind756 ../src/curl -q --include --trace-ascii log/3/trace756 --trace-time http://127.0.0.1:46791/want/756 http://127.0.0.1:46791/want/7560002 --out-null -o - > log/3/stdout756 2> log/3/stderr756 channel listens on port 37877 14:54:01.192515 > "229 Entering Passive Mode (|||37877|)[LF]" 14:54:01.192536 Client has been notified that DATA conn will be accepted on port 37877 14:54:01.192767 Client connects to port 37877 14:54:01.192797 ====> Client established passive DATA connection on port 37877 14:54:01.192879 < "TYPE I" 14:54:01.192911 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:01.193088 < "SIZE verifiedserver" 14:54:01.193125 > "213 17[CR][LF]" 14:54:01.193296 < "RETR verifiedserver" 14:54:01.193331 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:01.193414 =====> Closing passive DATA connection... 14:54:01.193435 Server disconnects passive DATA connection 14:54:01.196972 Server disconnected passive DATA connection 14:54:01.197011 DATA sockfilt for passive data channel quits (pid 115793) 14:54:01.197272 DATA sockfilt for passive data channel quit (pid 115793) 14:54:01.197295 =====> Closed passive DATA connection 14:54:01.197323 > "226 File transfer complete[CR][LF]" 14:54:01.234049 < "QUIT" 14:54:01.234100 > "221 bye bye baby[CR][LF]" 14:54:01.234224 MAIN sockfilt said DISC 14:54:01.234246 ====> Client disconnected 14:54:01.234332 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:01.272394 ====> Client connect 14:54:01.272673 Received DATA (on stdin) 14:54:01.272690 > 160 bytes data, server => client 14:54:01.272704 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:01.272717 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:01.272728 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:01.272802 < 16 bytes data, client => server 14:54:01.272818 'USER anonymous\r\n' 14:54:01.273011 Received DATA (on stdin) 14:54:01.273026 > 33 bytes data, server => client 14:54:01.273038 '331 We are happy you popped in!\r\n' 14:54:01.273096 < 22 bytes data, client => server 14:54:01.273111 'PASS ftp@example.com\r\n' 14:54:01.273223 Received DATA (on stdin) 14:54:01.273236 > 30 bytes data, server => client 14:54:01.273249 '230 Welcome you silly person\r\n' 14:54:01.273299 < 5 bytes data, client => server 14:54:01.273313 'PWD\r\n' 14:54:01.273428 Received DATA (on stdin) 14:54:01.273441 > 30 bytes data, server => client 14:54:01.273453 '257 "/" is current directory\r\n' 14:54:01.273513 < 6 bytes data, client => server 14:54:01.273527 'EPSV\r\n' 14:54:01.275357 Received DATA (on stdin) 14:54:01.275371 > 38 bytes data, server => client 14:54:01.275384 '229 Entering Passive Mode (|||37877|)\n' 14:54:01.275494 < 8 bytes data, client => server 14:54:01.275512 'TYPE I\r\n' 14:54:01.275729 Received DATA (on stdin) 14:54:01.275744 > 33 bytes data, server => client 14:54:01.275756 '200 I modify TYPE as you wanted\r\n' 14:54:01.275809 < 21 bytes data, client => server 14:54:01.275823 'SIZE verifiedserver\r\n' 14:54:01.275940 Received DATA (on stdin) 14:54:01.275954 > 8 bytes data, server => client 14:54:01.275965 '213 17\r\n' 14:54:01.276019 < 21 bytes data, client => server 14:54:01.276033 'RETR verifiedserver\r\n' 14:54:01.276252 Received DATA (on stdin) 14:54:01.276266 > 29 bytes data, server => client 14:54:01.276279 '150 Binary junk (17 bytes).\r\n' 14:54:01.280147 Received DATA (on stdin) 14:54:01.280175 > 28 bytes data, server => client 14:54:01.280187 '226 File transfer complete\r\n' 14:54:01.316654 < 6 bytes data, client => server 14:54:01.316682 'QUIT\r\n' 14:54:01.316920 Received DATA (on stdin) 14:54:01.316932 > 18 bytes data, server => client 14:54:01.316943 '221 bye bye baby\r\n' 14:54:01.316993 ====> Client disconnect 14:54:01.317155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:01.274999 Running IPv4 version 14:54:01.275054 Listening on port 37877 14:54:01.275093 Wrote pid 115793 to log/16/server/ftp_sockdata.pid 14:54:01.275114 Received PING (on stdin) 14:54:01.275202 Received PORT (on stdin) 14:54:01.275534 ====> Client connect 14:54:01.276306 Received DATA (on stdin) 14:54:01.276322 > 17 bytes data, server => client 14:54:01.276394 'WE ROOLZ: 80177\r\n' 14:54:01.276422 Received DISC (on stdin) 14:54:01.276435 ====> Client forcibly disconnected 14:54:01.279840 Received QUIT (on stdin) 14:54:01.279853 quits 14:54:01.279940 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY FAIL 500 this might not be a failure Testnum 754 === End of file server.cmd === Start of file valgrind754 ==115857== ==115857== Process terminating with default action of signal 4 (SIGILL) ==115857== Illegal opcode at address 0x4014B6F ==115857== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115857== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115857== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115857== by 0x4004266: main (tool_main.c:199) === End of file valgrind754 test 0759...[glob '{,'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/21/ dir after test 759 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==115939== ==115939== Process terminating with default action of signal 4 (SIGILL) ==115939== Illegal opcode at address 0x4014B6F ==115939== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115939== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115939== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115939== by 0x4004266: main (tool_main.c:199) === End of file valgrind759 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind760 ../src/curl -q --output log/20/curl760.out --include --trace-ascii log/20/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/20/stdout760 2> log/20/stderr760 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:34345/we/want/757 > log/9/stdout757 2> log/9/stderr757 test 0756...[mix --output and --out-null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind756 ../src/curl -q --include --trace-ascii log/3/trace756 --trace-time http://127.0.0.1:46791/want/756 http://127.0.0.1:46791/want/7560002 --out-null -o - > log/3/stdout756 2> log/3/stderr756 756: stdout FAILED: --- log/3/check-expected 2025-09-11 14:54:02.222197773 +0000 +++ log/3/check-generated 2025-09-11 14:54:02.222197773 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 1[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 2[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -Hello2![LF] == Contents of files in the log/3/ dir after test 756 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Response: 1[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] HTTP/1.1 200 OK[LF] Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Response: 2[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] Hello2![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind756 ../src/curl -q --include --trace-ascii log/3/trace756 --trace-time http://127.0.0.1:46791/want/756 http://127.0.0.1:46791/want/7560002 --out-null -o - > log/3/stdout756 2> log/3/stderr756 === End of file commands.log === Start of file http_server.log 14:54:01.396940 ====> Client connect 14:54:01.396975 accept_connection 3 returned 4 14:54:01.396993 accept_connection 3 returned 0 14:54:01.397008 Read 93 bytes 14:54:01.397020 Process 93 bytes request 14:54:01.397034 Got request: GET /verifiedserver HTTP/1.1 14:54:01.397045 Are-we-friendly question received 14:54:01.397070 Wrote request (93 bytes) input to log/3/server.input 14:54:01.397088 Identifying ourselves as friends 14:54:01.397147 Response sent (56 bytes) and written to log/3/server.response 14:54:01.397159 special request received, no persistency 14:54:01.397169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 756 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind756 ==115953== ==115953== Process terminating with default action of signal 4 (SIGILL) ==115953== Illegal opcode at address 0x4014B6F ==115953== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115953== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115953== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115953== by 0x4004266: main (tool_main.c:199) === End of file valgrind756 test 0760...[more cmdline options than URLs and --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind760 ../src/curl -q --output log/20/curl760.out --include --trace-ascii log/20/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/20/stdout760 2> log/20/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/20/ dir after test 760 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind760 ../src/curl -q --output log/20/curl760.out --include --trace-ascii log/20/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/20/stdout760 2> log/20/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==116025== ==116025== Process terminating with default action of signal 4 (SIGILL) ==116025== Illegal opcode at address 0x4014B6F ==116025== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116025== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116025== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116025== by 0x4004266: main (tool_main.c:199) === End of file valgrind760 test 0757...[MIME parts reused as a child part, using data_cb] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:34345/we/want/757 > log/9/stdout757 2> log/9/stderr757 757: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 757 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:34345/we/want/757 > log/9/stdout757 2> log/9/stderr757 === End of file commands.log === Start of file http_server.log 14:54:01.415129 ====> Client connect 14:54:01.415167 accept_connection 3 returned 4 14:54:01.415185 accept_connection 3 returned 0 14:54:01.415201 Read 93 bytes 14:54:01.415212 Process 93 bytes request 14:54:01.415226 Got request: GET /verifiedserver HTTP/1.1 14:54:01.415236 Are-we-friendly question received 14:54:01.415264 Wrote request (93 bytes) input to log/9/server.input 14:54:01.415282 Identifying ourselves as friends 14:54:01.415349 Response sent (56 bytes) and written to log/9/server.response 14:54:01.415361 special request received, no persistency 14:54:01.415372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 757 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr757 URL: http://127.0.0.1:34345/we/want/757 === End of file stderr757 === Start of file valgrind757 ==115991== ==115991== Process terminating with default action of signal 4 (SIGILL) ==115991== Illegal opcode at address 0x51D42F3 ==115991== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==115991== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==115991== by 0x51D42F3: Curl_open (url.c:551) ==115991== by 0x514CA2F: curl_easy_init (easy.c:372) ==115991== by 0x402514A: test_lib757.lto_priv.0 (lib757.c:74) ==115991== by 0x400347F: main (first.c:281) ==115991== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 6CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 39 ==115991== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==115991== by 0x51D4243: Curl_open (url.c:530) ==115991== by 0x514CA2F: curl_easy_init (easy.c:372) ==115991== by 0x402514A: test_lib757.lto_priv.0 (lib757.c:74) ==115991== by 0x400347F: main (first.c:281) ==115991== === End of file valgrind757 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind784 ../src/curl -q --output log/24/curl784.out --include --trace-ascii log/24/trace784 --trace-time http://127.0.0.1:34449/784 --variable "name[5-15]@log/24/in784" --expand-data '{{name}}' > log/24/stdout784 2> log/24/stderr784 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:43297/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind763 ../src/curl -q --output log/5/curl763.out --include --trace-ascii log/5/trace763 --trace-time '​‌' > log/5/stdout763 2> log/5/stderr763 CMD (256): /usr/bin/perl -e 'exit((stat("log/18/762"))[9] != -922349651)' test 0761...[too many {} globs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 761: stderr FAILED: --- log/8/check-expected 2025-09-11 14:54:02.265531106 +0000 +++ log/8/check-generated 2025-09-11 14:54:02.265531106 +0000 @@ -1,2 +0,0 @@ -curl: (3) too many {} sets in URL position 403:[CR][LF] -http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] == Contents of files in the log/8/ dir after test 761 === Start of file check-expected curl: (3) too many {} sets in URL position 403:[CR][LF] http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==116117== ==116117== Process terminating with default action of signal 4 (SIGILL) ==116117== Illegal opcode at address 0x4014B6F ==116117== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116117== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116117== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116117== by 0x4004266: main (tool_main.c:199) === End of file valgrind761 test 0784...[--variable with a file byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind784 ../src/curl -q --output log/24/curl784.out --include --trace-ascii log/24/trace784 --trace-time http://127.0.0.1:34449/784 --variable "name[5-15]@log/24/in784" --expand-data '{{name}}' > log/24/stdout784 2> log/24/stderr784 784: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 784 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind784 ../src/curl -q --output log/24/curl784.out --include --trace-ascii log/24/trace784 --trace-time http://127.0.0.1:34449/784 --variable "name[5-15]@log/24/in784" --expand-data '{{name}}' > log/24/stdout784 2> log/24/stderr784 === End of file commands.log === Start of file http_server.log 14:54:01.542355 ====> Client connect 14:54:01.542393 accept_connection 3 returned 4 14:54:01.542412 accept_connection 3 returned 0 14:54:01.542427 Read 93 bytes 14:54:01.542439 Process 93 bytes request 14:54:01.542453 Got request: GET /verifiedserver HTTP/1.1 14:54:01.542464 Are-we-friendly question received 14:54:01.542491 Wrote request (93 bytes) input to log/24/server.input 14:54:01.542510 Identifying ourselves as friends 14:54:01.542567 Response sent (56 bytes) and written to log/24/server.response 14:54:01.542579 special request received, no persistency 14:54:01.542589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 60832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file in784 On the first Monday of the month of April, 1625, the market town of Meung === End of file in784 === Start of file server.cmd Testnum 784 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind784 ==116311== ==116311== Process terminating with default action of signal 4 (SIGILL) ==116311== Illegal opcode at address 0x4014B6F ==116311== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116311== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116311== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116311== by 0x4004266: main (tool_main.c:199) === End of file valgrind784 test 0763...[Unicode hostname ending up in a blank name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind763 ../src/curl -q --output log/5/curl763.out --include --trace-ascii log/5/trace763 --trace-time '​‌' > log/5/stdout763 2> log/5/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/5/ dir after test 763 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind763 ../src/curl -q --output log/5/curl763.out --include --trace-ascii log/5/trace763 --trace-time '​‌' > log/5/stdout763 2> loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind744 ../src/curl -q --output log/2/curl744.out --include --trace-ascii log/2/trace744 --trace-time http://foo.host:37587/744 -p --proxy1.0 127.0.0.1:36829 -A "" --netrc-file log/2/netrc744 > log/2/stdout744 2> log/2/stderr744 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind785 ../src/curl -q --output log/19/curl785.out --include --trace-ascii log/19/trace785 --trace-time http://127.0.0.1:33805/785 --variable "name[5-]@log/19/in785" --expand-data '{{name}}' > log/19/stdout785 2> log/19/stderr785 g/5/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==116205== ==116205== Process terminating with default action of signal 4 (SIGILL) ==116205== Illegal opcode at address 0x4014B6F ==116205== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116205== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116205== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116205== by 0x4004266: main (tool_main.c:199) === End of file valgrind763 test 0762...[HTTP GET with --remote-time with file date from 1940] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:43297/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/18/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/18/ dir after test 762 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:43297/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 === End of file commands.log === Start of file http_server.log 14:54:01.511151 ====> Client connect 14:54:01.511185 accept_connection 3 returned 4 14:54:01.511203 accept_connection 3 returned 0 14:54:01.511219 Read 93 bytes 14:54:01.511230 Process 93 bytes request 14:54:01.511245 Got request: GET /verifiedserver HTTP/1.1 14:54:01.511255 Are-we-friendly question received 14:54:01.511280 Wrote request (93 bytes) input to log/18/server.input 14:54:01.511297 Identifying ourselves as friends 14:54:01.511361 Response sent (56 bytes) and written to log/18/server.response 14:54:01.511373 special request received, no persistency 14:54:01.511383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 39842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 762 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind762 ==116214== ==116214== Process terminating with default action of signal 4 (SIGILL) ==116214== Illegal opcode at address 0x4014B6F ==116214== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116214== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116214== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116214== by 0x4004266: main (tool_main.c:199) === End of file valgrind762 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/2/server/http2_server.pid" --logfile "log/2/http2_server.log" --logdir "log/2" --portfile log/2/server/http2_server.port --config log/2/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 115099 port 36829 * pid http-proxy => 115099 115099 test 0744...[--netrc-file with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind744 ../src/curl -q --output log/2/curl744.out --include --trace-ascii log/2/trace744 --trace-time http://foo.host:37587/744 -p --proxy1.0 127.0.0.1:36829 -A "" --netrc-file log/2/netrc744 > log/2/stdout744 2> log/2/stderr744 744: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 744 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind744 ../src/curl -q --output log/2/curl744.out --include --trace-ascii log/2/trace744 --trace-time http://foo.host:37587/744 -p --proxy1.0 127.0.0.1:36829 -A "" --netrc-file log/2/netrc744 > log/2/stdout744 2> log/2/stderr744 === End of file commands.log === Start of file http2_server.log 14:54:00.670171 Run as proxy, CONNECT to host 127.0.0.1 14:54:00.670293 Running HTTP IPv4 version on port 36829 14:54:00.670333 Wrote pid 115099 to log/2/server/http2_server.pid 14:54:00.670362 Wrote port 36829 to log/2/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:00.648765 ====> Client connect 14:54:00.648796 accept_connection 3 returned 4 14:54:00.648814 accept_connection 3 returned 0 14:54:00.648830 Read 93 bytes 14:54:00.648842 Process 93 bytes request 14:54:00.648857 Got request: GET /verifiedserver HTTP/1.1 14:54:00.648867 Are-we-friendly question received 14:54:00.648892 Wrote request (93 bytes) input to log/2/server.input 14:54:00.648912 Identifying ourselves as friends 14:54:00.648969 Response sent (56 bytes) and written to log/2/server.response 14:54:00.648981 special request received, no persistency 14:54:00.648992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 47346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file netrc744 machine foo.host login foo password baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar === End of file netrc744 === Start of file server.cmd Testnum 744 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind744 ==116412== ==116412== Process terminating with default action of signal 4 (SIGILL) ==116412== Illegal opcode at address 0x4014B6F ==116412== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116412== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116412== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116412== by 0x4004266: main (tool_main.c:199) === End of file valgrind744 test 0785...[--variable with a file byte range without end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind785 ../src/curl -q --output log/19/curl785.out --include --trace-ascii log/19/trace785 --trace-time http://127.0.0.1:33805/785 --variable "name[5-]@log/19/in785" --expand-data '{{name}}' > log/19/stdout785 2> log/19/stderr785 785: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 785 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind785 ../src/curl -q --ouCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind788 ../src/curl -q --output log/10/curl788.out --include --trace-ascii log/10/trace788 --trace-time http://127.0.0.1:35893/788 --variable "name[15-15]@log/10/in788" --expand-data '{{name}}' > log/10/stdout788 2> log/10/stderr788 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind786 ../src/curl -q --output log/13/curl786.out --include --trace-ascii log/13/trace786 --trace-time http://127.0.0.1:41533/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/13/stdout786 2> log/13/stderr786 tput log/19/curl785.out --include --trace-ascii log/19/trace785 --trace-time http://127.0.0.1:33805/785 --variable "name[5-]@log/19/in785" --expand-data '{{name}}' > log/19/stdout785 2> log/19/stderr785 === End of file commands.log === Start of file http_server.log 14:54:00.627373 ====> Client connect 14:54:00.627408 accept_connection 3 returned 4 14:54:00.627427 accept_connection 3 returned 0 14:54:00.627443 Read 93 bytes 14:54:00.627455 Process 93 bytes request 14:54:00.627469 Got request: GET /verifiedserver HTTP/1.1 14:54:00.627480 Are-we-friendly question received 14:54:00.627531 Wrote request (93 bytes) input to log/19/server.input 14:54:00.627552 Identifying ourselves as friends 14:54:00.627609 Response sent (56 bytes) and written to log/19/server.response 14:54:00.627622 special request received, no persistency 14:54:00.627632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 36496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file in785 On the first Monday of the month of April, 1625, the market town of Meung === End of file in785 === Start of file server.cmd Testnum 785 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind785 ==116384== ==116384== Process terminating with default action of signal 4 (SIGILL) ==116384== Illegal opcode at address 0x4014B6F ==116384== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116384== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116384== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116384== by 0x4004266: main (tool_main.c:199) === End of file valgrind785 test 0788...[--variable with a file and single-byte byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind788 ../src/curl -q --output log/10/curl788.out --include --trace-ascii log/10/trace788 --trace-time http://127.0.0.1:35893/788 --variable "name[15-15]@log/10/in788" --expand-data '{{name}}' > log/10/stdout788 2> log/10/stderr788 788: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 788 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind788 ../src/curl -q --output log/10/curl788.out --include --trace-ascii log/10/trace788 --trace-time http://127.0.0.1:35893/788 --variable "name[15-15]@log/10/in788" --expand-data '{{name}}' > log/10/stdout788 2> log/10/stderr788 === End of file commands.log === Start of file http_server.log 14:54:01.788043 ====> Client connect 14:54:01.788075 accept_connection 3 returned 4 14:54:01.788093 accept_connection 3 returned 0 14:54:01.788108 Read 93 bytes 14:54:01.788119 Process 93 bytes request 14:54:01.788132 Got request: GET /verifiedserver HTTP/1.1 14:54:01.788142 Are-we-friendly question received 14:54:01.788168 Wrote request (93 bytes) input to log/10/server.input 14:54:01.788189 Identifying ourselves as friends 14:54:01.788244 Response sent (56 bytes) and written to log/10/server.response 14:54:01.788255 special request received, no persistency 14:54:01.788266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 59994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file in788 On the first Monday of the month of April, 1625, the market town of Meung === End of file in788 === Start of file server.cmd Testnum 788 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind788 ==116573== ==116573== Process terminating with default action of signal 4 (SIGILL) ==116573== Illegal opcode at address 0x4014B6F ==116573== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116573== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116573== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116573== by 0x4004266: main (tool_main.c:199) === End of file valgrind788 test 0786...[--variable with a file byte range, reading from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind786 ../src/curl -q --output log/13/curl786.out --include --trace-ascii log/13/trace786 --trace-time http://127.0.0.1:41533/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/13/stdout786 2> log/13/stderr786 786: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 786 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind786 ../src/curl -q --output log/13/curl786.out --include --trace-ascii log/13/trace786 --trace-time http://127.0.0.1:41533/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/13/stdout786 2> log/13/stderr786 === End of file commands.log === Start of file http_server.log 14:54:01.784096 ====> Client connect 14:54:01.784131 accept_connection 3 returned 4 14:54:01.784149 accept_connection 3 returned 0 14:54:01.784164 Read 93 bytes 14:54:01.784175 Process 93 bytes request 14:54:01.784187 Got request: GET /verifiedserver HTTP/1.1 14:54:01.784198 Are-we-friendly question received 14:54:01.784224 Wrote request (93 bytes) input to log/13/server.input 14:54:01.784242 Identifying ourselves as friends 14:54:01.784438 Response sent (56 bytes) and written to log/13/server.response 14:54:01.784451 special request received, no persistency 14:54:01.784462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 44422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 786 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stdin-for-786 On the first Monday of the month of April, 1625, the market town of Meung === End of file stdin-for-786 === Start of file valgrind786 ==116568== ==116568== Process terminating with default action of signal 4 (SIGILL) ==116568== Illegal opcodeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-time http://127.0.0.1:38791/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind791 ../src/curl -q --output log/12/curl791.out --include --trace-ascii log/12/trace791 --trace-time http://127.0.0.1:43359/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/12/stdout791 2> log/12/stderr791 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind790 ../src/curl -q --output log/17/curl790.out --include --trace-ascii log/17/trace790 --trace-time http://127.0.0.1:45171/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/17/stdout790 2> log/17/stderr790 at address 0x4014B6F ==116568== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116568== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116568== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116568== by 0x4004266: main (tool_main.c:199) === End of file valgrind786 test 0787...[--variable with a file byte range, bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-time http://127.0.0.1:38791/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/6/ dir after test 787 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-time http://127.0.0.1:38791/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 === End of file commands.log === Start of file http_server.log 14:54:01.780044 ====> Client connect 14:54:01.780079 accept_connection 3 returned 4 14:54:01.780097 accept_connection 3 returned 0 14:54:01.780113 Read 93 bytes 14:54:01.780125 Process 93 bytes request 14:54:01.780139 Got request: GET /verifiedserver HTTP/1.1 14:54:01.780150 Are-we-friendly question received 14:54:01.780178 Wrote request (93 bytes) input to log/6/server.input 14:54:01.780197 Identifying ourselves as friends 14:54:01.780253 Response sent (56 bytes) and written to log/6/server.response 14:54:01.780265 special request received, no persistency 14:54:01.780275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 36614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 787 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind787 ==116565== ==116565== Process terminating with default action of signal 4 (SIGILL) ==116565== Illegal opcode at address 0x4014B6F ==116565== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116565== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116565== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116565== by 0x4004266: main (tool_main.c:199) === End of file valgrind787 test 0791...[--variable with a byte range using plain assign, out of range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind791 ../src/curl -q --output log/12/curl791.out --include --trace-ascii log/12/trace791 --trace-time http://127.0.0.1:43359/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/12/stdout791 2> log/12/stderr791 791: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 791 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind791 ../src/curl -q --output log/12/curl791.out --include --trace-ascii log/12/trace791 --trace-time http://127.0.0.1:43359/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/12/stdout791 2> log/12/stderr791 === End of file commands.log === Start of file http_server.log 14:54:01.815912 ====> Client connect 14:54:01.815951 accept_connection 3 returned 4 14:54:01.815970 accept_connection 3 returned 0 14:54:01.815987 Read 93 bytes 14:54:01.815999 Process 93 bytes request 14:54:01.816015 Got request: GET /verifiedserver HTTP/1.1 14:54:01.816026 Are-we-friendly question received 14:54:01.816057 Wrote request (93 bytes) input to log/12/server.input 14:54:01.816075 Identifying ourselves as friends 14:54:01.816168 Response sent (56 bytes) and written to log/12/server.response 14:54:01.816181 special request received, no persistency 14:54:01.816192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 60168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 791 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind791 ==116720== ==116720== Process terminating with default action of signal 4 (SIGILL) ==116720== Illegal opcode at address 0x4014B6F ==116720== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116720== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116720== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116720== by 0x4004266: main (tool_main.c:199) === End of file valgrind791 test 0790...[--variable with a byte range using plain assign] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind790 ../src/curl -q --output log/17/curl790.out --include --trace-ascii log/17/trace790 --trace-time http://127.0.0.1:45171/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/17/stdout790 2> log/17/stderr790 790: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 790 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind790 ../src/curl -q --output log/17/curl790.out --include --trace-ascii log/17/trace790 --trace-time http://127.0.0.1:45171/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/17/stdout790 2> log/17/stderr790 === End of file commands.log === Start of file http_server.log 14:54:01.815947 ====> Client connect 14:54:01.815979 accept_connection 3 returned 4 14:54:01.815996 accept_connection 3 returned 0 14:54:01.816011 Read 93 bytes 14:54:01.816022 Process 93 bytes request 14:54:01.816036 Got request: GET /verifiedserver HTTP/1.1 14:54:01.816046 Are-we-friendly question received 14:54:01.816072 Wrote request (93 bytes) input to log/17/server.input 14:54:01.816090 Identifying ourselves as friends 14:54:01.816162 Response sent (56 bytes) and written to log/17/server.response 14:54:01.816173 special request received, no persistency 14:54:01.816183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind789 ../src/curl -q --output log/14/curl789.out --include --trace-ascii log/14/trace789 --trace-time http://127.0.0.1:46043/789 --variable "name[75-85]@log/14/in789" --expand-data '{{name}}' > log/14/stdout789 2> log/14/stderr789 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind792 ../src/curl -q --output log/4/curl792.out --include --trace-ascii log/4/trace792 --trace-time --netrc --netrc-file log/4/netrc792 ftp://127.0.0.1:44299/792 > log/4/stdout792 2> log/4/stderr792 0.0.1 port 57250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 790 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind790 ==116708== ==116708== Process terminating with default action of signal 4 (SIGILL) ==116708== Illegal opcode at address 0x4014B6F ==116708== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116708== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116708== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116708== by 0x4004266: main (tool_main.c:199) === End of file valgrind790 test 0789...[--variable with a file and byte range out of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind789 ../src/curl -q --output log/14/curl789.out --include --trace-ascii log/14/trace789 --trace-time http://127.0.0.1:46043/789 --variable "name[75-85]@log/14/in789" --expand-data '{{name}}' > log/14/stdout789 2> log/14/stderr789 789: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 789 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind789 ../src/curl -q --output log/14/curl789.out --include --trace-ascii log/14/trace789 --trace-time http://127.0.0.1:46043/789 --variable "name[75-85]@log/14/in789" --expand-data '{{name}}' > log/14/stdout789 2> log/14/stderr789 === End of file commands.log === Start of file http_server.log 14:54:01.796147 ====> Client connect 14:54:01.796187 accept_connection 3 returned 4 14:54:01.796206 accept_connection 3 returned 0 14:54:01.796225 Read 93 bytes 14:54:01.796236 Process 93 bytes request 14:54:01.796249 Got request: GET /verifiedserver HTTP/1.1 14:54:01.796259 Are-we-friendly question received 14:54:01.796284 Wrote request (93 bytes) input to log/14/server.input 14:54:01.796301 Identifying ourselves as friends 14:54:01.796462 Response sent (56 bytes) and written to log/14/server.response 14:54:01.796474 special request received, no persistency 14:54:01.796485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 60190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file in789 On the first Monday of the month of April, 1625, the market town of Meung === End of file in789 === Start of file server.cmd Testnum 789 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind789 ==116606== ==116606== Process terminating with default action of signal 4 (SIGILL) ==116606== Illegal opcode at address 0x4014B6F ==116606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116606== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116606== by 0x4004266: main (tool_main.c:199) === End of file valgrind789 test 0792...[.netrc with embedded NULL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind792 ../src/curl -q --output log/4/curl792.out --include --trace-ascii log/4/trace792 --trace-time --netrc --netrc-file log/4/netrc792 ftp://127.0.0.1:44299/792 > log/4/stdout792 2> log/4/stderr792 792: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 792 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind792 ../src/curl -q --output log/4/curl792.out --include --trace-ascii log/4/trace792 --trace-time --netrc --netrc-file log/4/netrc792 ftp://127.0.0.1:44299/792 > log/4/stdout792 2> log/4/stderr792 === End of file commands.log === Start of file ftp_server.log 14:54:01.740313 ====> Client connect 14:54:01.740472 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:01.740806 < "USER anonymous" 14:54:01.740837 > "331 We are happy you popped in![CR][LF]" 14:54:01.740978 < "PASS ftp@example.com" 14:54:01.741003 > "230 Welcome you silly person[CR][LF]" 14:54:01.741132 < "PWD" 14:54:01.741159 > "257 "/" is current directory[CR][LF]" 14:54:01.741638 < "EPSV" 14:54:01.741663 ====> Passive DATA channel requested by client 14:54:01.741678 DATA sockfilt for passive data channel starting... 14:54:01.743354 DATA sockfilt for passive data channel started (pid 116698) 14:54:01.743452 DATA sockfilt for passive data channel listens on port 40583 14:54:01.743493 > "229 Entering Passive Mode (|||40583|)[LF]" 14:54:01.743509 Client has been notified that DATA conn will be accepted on port 40583 14:54:01.743709 Client connects to port 40583 14:54:01.743736 ====> Client established passive DATA connection on port 40583 14:54:01.743850 < "TYPE I" 14:54:01.743880 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:01.744034 < "SIZE verifiedserver" 14:54:01.744072 > "213 17[CR][LF]" 14:54:01.744212 < "RETR verifiedserver" 14:54:01.744242 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:01.744325 =====> Closing passive DATA connection... 14:54:01.744341 Server disconnects passive DATA connection 14:54:01.744582 Server disconnected passive DATA connection 14:54:01.744611 DATA sockfilt for passive data channel quits (pid 116698) 14:54:01.744850 DATA sockfilt for passive data channel quit (pid 116698) 14:54:01.744873 =====> Closed passive DATA connection 14:54:01.744899 > "226 File transfer complete[CR][LF]" 14:54:01.791035 < "QUIT" 14:54:01.791091 > "221 bye bye baby[CR][LF]" 14:54:01.791499 MAIN sockfilt said DISC 14:54:01.791527 ====> Client disconnected 14:54:01.791603 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:01.823008 ====> Client connect 14:54:01.823326 Received DATA (on stdin) 14:54:01.823345 > 160 bytes data, server => client 14:54:01.823358 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:01.823383 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:01.823394 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:01.823488 < 16 bytes data, client => server 14:54:01.823504 'USER anonymous\r\n' 14:54:01.823655 Received DATA (on stdin) 14:54:01.823667 > 33 bytes data, server => client 14:54:01.823676 '331 We are happy you popped in!\r\n' 14:54:01.823716 < 22 bytes data, client => server 14:54:01.823726 'PASS ftp@example.com\r\n' 14:54:01.823813 Received DATA (on stdin) 14:54:01.823823 > 30 bytes data, server => client 14:54:01.823832 '230 Welcome you silly person\r\n' 14:54:01.823868 < 5 bytesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:34475/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 data, client => server 14:54:01.823880 'PWD\r\n' 14:54:01.823973 Received DATA (on stdin) 14:54:01.823985 > 30 bytes data, server => client 14:54:01.823996 '257 "/" is current directory\r\n' 14:54:01.824357 < 6 bytes data, client => server 14:54:01.824375 'EPSV\r\n' 14:54:01.826336 Received DATA (on stdin) 14:54:01.826349 > 38 bytes data, server => client 14:54:01.826360 '229 Entering Passive Mode (|||40583|)\n' 14:54:01.826564 < 8 bytes data, client => server 14:54:01.826577 'TYPE I\r\n' 14:54:01.826694 Received DATA (on stdin) 14:54:01.826706 > 33 bytes data, server => client 14:54:01.826718 '200 I modify TYPE as you wanted\r\n' 14:54:01.826765 < 21 bytes data, client => server 14:54:01.826778 'SIZE verifiedserver\r\n' 14:54:01.826885 Received DATA (on stdin) 14:54:01.826897 > 8 bytes data, server => client 14:54:01.826908 '213 17\r\n' 14:54:01.826951 < 21 bytes data, client => server 14:54:01.826961 'RETR verifiedserver\r\n' 14:54:01.827155 Received DATA (on stdin) 14:54:01.827168 > 29 bytes data, server => client 14:54:01.827178 '150 Binary junk (17 bytes).\r\n' 14:54:01.827713 Received DATA (on stdin) 14:54:01.827727 > 28 bytes data, server => client 14:54:01.827738 '226 File transfer complete\r\n' 14:54:01.873656 < 6 bytes data, client => server 14:54:01.873681 'QUIT\r\n' 14:54:01.873914 Received DATA (on stdin) 14:54:01.873928 > 18 bytes data, server => client 14:54:01.873940 '221 bye bye baby\r\n' 14:54:01.874265 ====> Client disconnect 14:54:01.874415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:01.825933 Running IPv4 version 14:54:01.825987 Listening on port 40583 14:54:01.826022 Wrote pid 116698 to log/4/server/ftp_sockdata.pid 14:54:01.826108 Received PING (on stdin) 14:54:01.826189 Received PORT (on stdin) 14:54:01.826473 ====> Client connect 14:54:01.827228 Received DATA (on stdin) 14:54:01.827244 > 17 bytes data, server => client 14:54:01.827255 'WE ROOLZ: 80848\r\n' 14:54:01.827280 Received DISC (on stdin) 14:54:01.827292 ====> Client forcibly disconnected 14:54:01.827435 Received QUIT (on stdin) 14:54:01.827447 quits 14:54:01.827509 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc792 machine 127.0.0.1 login username password hello === End of file netrc792 === Start of file server.cmd Testnum 792 === End of file server.cmd === Start of file valgrind792 ==116904== ==116904== Process terminating with default action of signal 4 (SIGILL) ==116904== Illegal opcode at address 0x4014B6F ==116904== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==116904== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==116904== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==116904== by 0x4004266: main (tool_main.c:199) === End of file valgrind792 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind793 ../src/curl -q --output log/11/curl793.out --include --trace-ascii log/11/trace793 --trace-time --netrc --netrc-file log/11/netrc793 ftp://127.0.0.1:34519/793 > log/11/stdout793 2> log/11/stderr793 test 0794...[--follow + --location with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:34475/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 794: stderr FAILED: --- log/16/check-expected 2025-09-11 14:54:02.875531116 +0000 +++ log/16/check-generated 2025-09-11 14:54:02.875531116 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/16/ dir after test 794 === Start of file check-expected Warning: --follow overrides --location[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:34475/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 === End of file commands.log === Start of file http_server.log 14:54:02.209705 ====> Client connect 14:54:02.209741 accept_connection 3 returned 4 14:54:02.209759 accept_connection 3 returned 0 14:54:02.209775 Read 93 bytes 14:54:02.209787 Process 93 bytes request 14:54:02.209803 Got request: GET /verifiedserver HTTP/1.1 14:54:02.209814 Are-we-friendly question received 14:54:02.209842 Wrote request (93 bytes) input to log/16/server.input 14:54:02.209861 Identifying ourselves as friends 14:54:02.209924 Response sent (56 bytes) and written to log/16/server.response 14:54:02.209938 special request received, no persistency 14:54:02.209949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 58798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 794 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind794 ==117022== ==117022== Process terminating with default action of signal 4 (SIGILL) ==117022== Illegal opcode at address 0x4014B6F ==117022== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117022== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117022== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117022== by 0x4004266: main (tool_main.c:199) === End of file valgrind794 test 0793...[.netrc with embedded NULL byte, with quoted token] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind793 ../src/curl -q --output log/11/curl793.out --include --trace-ascii log/11/trace793 --trace-time --netrc --netrc-file log/11/netrc793 ftp://127.0.0.1:34519/793 > log/11/stdout793 2> log/11/stderr793 793: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 793 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind793 ../src/curl -q --output log/11/curl793.out --include --trace-ascii log/11/trace793 --trace-time --netrc --netrc-file log/11/netrc793 ftp://127.0.0.1:34519/793 > log/11/stdout793 2> log/11/stderr793 === End of file commands.log === Start of file ftp_server.log 14:54:02.120685 ====> Client connect 14:54:02.120823 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:02.121055 < "USER anonymous" 14:54:02.121081 > "331 We are happy you popped in![CR][LF]" 14:54:02.121211 < "PASS ftp@example.com" 14:54:02.121233 > "230 Welcome you silly person[CR][LF]" 14:54:02.121353 < "PWD" 14:54:02.121378 > "257 "/" is current directory[CR][LF]" 14:54:02.121502 < "EPSV" 14:54:02.121521 ====> Passive DATA channel requested by client 14:54:02.121531 DATA sockfilt for passive data channel starting... 14:54:02.122775 DATA sockfilt for passive data channel started (pid 117020) 14:54:02.122864 DATA sockfilt for passive data channel listens on port 35341 14:54:02.122899 > "229 Entering Passive Mode (|||35341|)[LF]" 14:54:02.122918 Client has been notified that DATA conn will be accepted on port 35341 14:54:02.123050 Client connects to port 35341 14:54:02.123078 ====> Client established passive DATA connection on port 35341 14:54:02.123137 < "TYPE I" 14:54:02.123158 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:02.123287 < "SIZE verifiedserver" 14:54:02.123312 > "213 17[CR][LF]" 14:54:02.123429 < "RETR verifiedserver" 14:54:02.123451 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:02.123523 =====> Closing passive DATA connection... 14:54:02.123549 Server disconnects passive DATA connection 14:54:02.123620 Server disconnected passive DATA connection 14:54:02.123644 DATA sockfilt for passive data channel quits (pid 117020) 14:54:02.123816 DATA sockfilt for passive data channel quit (pid 117020) 14:54:02.123836 =====> Closed passive DATA connection 14:54:02.123855 > "226 File transfer complete[CR][LF]" 14:54:02.170538 < "QUIT" 14:54:02.170603 > "221 bye bye baby[CR][LF]" 14:54:02.170878 MAIN sockfilt said DISC 14:54:02.170904 ====> Client disconnected 14:54:02.170966 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:02.203388 ====> Client connect 14:54:02.203642 Received DATA (on stdin) 14:54:02.203655 > 160 bytes data, server => client 14:54:02.203665 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:02.203675 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:02.203683 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:02.203748 < 16 bytes data, client => server 14:54:02.203759 'USER anonymous\r\n' 14:54:02.203892 Received DATA (on stdin) 14:54:02.203903 > 33 bytes data, server => client 14:54:02.203912 '331 We are happy you popped in!\r\n' 14:54:02.203952 < 22 bytes data, client => server 14:54:02.203962 'PASS ftp@example.com\r\n' 14:54:02.204042 Received DATA (on stdin) 14:54:02.204052 > 30 bytes data, server => client 14:54:02.204061 '230 Welcome you silly person\r\n' 14:54:02.204099 < 5 bytes data, client => server 14:54:02.204108 'PWD\r\n' 14:54:02.204187 Received DATA (on stdin) 14:54:02.204196 > 30 bytes data, server => client 14:54:02.204205 '257 "/" is current directory\r\n' 14:54:02.204249 < 6 bytes data, client => server 14:54:02.204258 'EPSV\r\n' 14:54:02.205691 Received DATA (on stdin) 14:54:02.205707 > 38 bytes data, server => client 14:54:02.205720 '229 Entering Passive Mode (|||35341|)\n' 14:54:02.205841 < 8 bytes data, client => server 14:54:02.205855 'TYPE I\r\n' 14:54:02.205968 Received DATA (on stdin) 14:54:02.205978 > 33 bytes data, server => client 14:54:02.205987 '200 I modify TYPE as you wanted\r\n' 14:54:02.206030 < 21 bytes data, client => server 14:54:02.206040 'SIZE verifiedserver\r\n' 14:54:02.206121 Received DATA (on stdin) 14:54:02.206130 > 8 bytes data, server => client 14:54:02.206139 '213 17\r\n' 14:54:02.206176 < 21 bytes data, client => server 14:54:02.206185 'RETR verifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind796 ../src/curl -q --output log/21/curl796.out --include --trace-ascii log/21/trace796 --trace-time http://127.0.0.1:34037/796 -X IGLOO -d moo --follow > log/21/stdout796 2> log/21/stderr796 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind797 ../src/curl -q --output log/3/curl797.out --include --trace-ascii log/3/trace797 --trace-time http://127.0.0.1:46791/797 -X IGLOO -d moo --follow > log/3/stdout797 2> log/3/stderr797 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind806 ../src/curl -q --output log/19/curl806.out --include --trace-ascii log/19/trace806 --trace-time imap://127.0.0.1:37633/806 -u user:secret > log/19/stdout806 2> log/19/stderr806 iedserver\r\n' 14:54:02.206364 Received DATA (on stdin) 14:54:02.206377 > 29 bytes data, server => client 14:54:02.206387 '150 Binary junk (17 bytes).\r\n' 14:54:02.206666 Received DATA (on stdin) 14:54:02.206677 > 28 bytes data, server => client 14:54:02.206687 '226 File transfer complete\r\n' 14:54:02.253154 < 6 bytes data, client => server 14:54:02.253183 'QUIT\r\n' 14:54:02.253433 Received DATA (on stdin) 14:54:02.253453 > 18 bytes data, server => client 14:54:02.253466 '221 bye bye baby\r\n' 14:54:02.253643 ====> Client disconnect 14:54:02.253776 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:02.205448 Running IPv4 version 14:54:02.205493 Listening on port 35341 14:54:02.205522 Wrote pid 117020 to log/11/server/ftp_sockdata.pid 14:54:02.205538 Received PING (on stdin) 14:54:02.205608 Received PORT (on stdin) 14:54:02.205816 ====> Client connect 14:54:02.206269 Received DATA (on stdin) 14:54:02.206283 > 17 bytes data, server => client 14:54:02.206295 'WE ROOLZ: 80346\r\n' 14:54:02.206361 Received DISC (on stdin) 14:54:02.206375 ====> Client forcibly disconnected 14:54:02.206465 Received QUIT (on stdin) 14:54:02.206479 quits 14:54:02.206526 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc793 machine 127.0.0.1 login username "password" hello === End of file netrc793 === Start of file server.cmd Testnum 793 === End of file server.cmd === Start of file valgrind793 ==117070== ==117070== Process terminating with default action of signal 4 (SIGILL) ==117070== Illegal opcode at address 0x4014B6F ==117070== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117070== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117070== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117070== by 0x4004266: main (tool_main.c:199) === End of file valgrind793 test 0796...[--follow with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind796 ../src/curl -q --output log/21/curl796.out --include --trace-ascii log/21/trace796 --trace-time http://127.0.0.1:34037/796 -X IGLOO -d moo --follow > log/21/stdout796 2> log/21/stderr796 796: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 796 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind796 ../src/curl -q --output log/21/curl796.out --include --trace-ascii log/21/trace796 --trace-time http://127.0.0.1:34037/796 -X IGLOO -d moo --follow > log/21/stdout796 2> log/21/stderr796 === End of file commands.log === Start of file http_server.log 14:54:02.308107 ====> Client connect 14:54:02.308134 accept_connection 3 returned 4 14:54:02.308148 accept_connection 3 returned 0 14:54:02.308159 Read 93 bytes 14:54:02.308168 Process 93 bytes request 14:54:02.308179 Got request: GET /verifiedserver HTTP/1.1 14:54:02.308187 Are-we-friendly question received 14:54:02.308210 Wrote request (93 bytes) input to log/21/server.input 14:54:02.308224 Identifying ourselves as friends 14:54:02.308265 Response sent (56 bytes) and written to log/21/server.response 14:54:02.308274 special request received, no persistency 14:54:02.308281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 50814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 796 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind796 ==117157== ==117157== Process terminating with default action of signal 4 (SIGILL) ==117157== Illegal opcode at address 0x4014B6F ==117157== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117157== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117157== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117157== by 0x4004266: main (tool_main.c:199) === End of file valgrind796 test 0797...[--follow with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind797 ../src/curl -q --output log/3/curl797.out --include --trace-ascii log/3/trace797 --trace-time http://127.0.0.1:46791/797 -X IGLOO -d moo --follow > log/3/stdout797 2> log/3/stderr797 797: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 797 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind797 ../src/curl -q --output log/3/curl797.out --include --trace-ascii log/3/trace797 --trace-time http://127.0.0.1:46791/797 -X IGLOO -d moo --follow > log/3/stdout797 2> log/3/stderr797 === End of file commands.log === Start of file http_server.log 14:54:02.336726 ====> Client connect 14:54:02.336758 accept_connection 3 returned 4 14:54:02.336775 accept_connection 3 returned 0 14:54:02.336791 Read 93 bytes 14:54:02.336802 Process 93 bytes request 14:54:02.336817 Got request: GET /verifiedserver HTTP/1.1 14:54:02.336827 Are-we-friendly question received 14:54:02.336852 Wrote request (93 bytes) input to log/3/server.input 14:54:02.336868 Identifying ourselves as friends 14:54:02.336923 Response sent (56 bytes) and written to log/3/server.response 14:54:02.336934 special request received, no persistency 14:54:02.336944 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 56830 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 797 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind797 ==117207== ==117207== Process terminating with default action of signal 4 (SIGILL) ==117207== Illegal opcode at address 0x4014B6F ==117207== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117207== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117207== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117207== by 0x4004266: main (tool_main.c:199) === End of file valgrind797 test 0806...[IMAP LIST mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind806 ../src/curl -q --output log/19/curl806.out --include --trace-ascii log/19/trace806 --trace-time imap://127.0.0.1:37633/806 -u user:secret > log/19/stdout806 2> log/19/stderr806 806: protocol FAILED! There was no contCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind807 ../src/curl -q --output log/10/curl807.out --include --trace-ascii log/10/trace807 --trace-time imap://127.0.0.1:40503 -u user:secret -X 'LSUB "807" *' > log/10/stdout807 2> log/10/stderr807 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind812 ../src/curl -q --output log/14/curl812.out --include --trace-ascii log/14/trace812 --trace-time imap://127.0.0.1:43479 -u user:secret -X 'DELETE 812' > log/14/stdout812 2> log/14/stderr812 ent at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 806 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind806 ../src/curl -q --output log/19/curl806.out --include --trace-ascii log/19/trace806 --trace-time imap://127.0.0.1:37633/806 -u user:secret > log/19/stdout806 2> log/19/stderr806 === End of file commands.log === Start of file imap_server.log 14:54:02.492921 ====> Client connect 14:54:02.493072 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:02.493382 < "A001 CAPABILITY" 14:54:02.493421 > "A001 BAD Command[CR][LF]" 14:54:02.493603 < "A002 LIST "verifiedserver" *" 14:54:02.493635 LIST_imap got "verifiedserver" * 14:54:02.493662 > "* LIST () "/" "WE ROOLZ: 109672"[CR][LF]" 14:54:02.493681 > "A002 OK LIST Completed[CR][LF]" 14:54:02.493695 return proof we are we 14:54:02.540876 < "A003 LOGOUT" 14:54:02.540927 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:02.540944 > "A003 OK LOGOUT completed[CR][LF]" 14:54:02.541853 MAIN sockfilt said DISC 14:54:02.541879 ====> Client disconnected 14:54:02.541940 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.575629 ====> Client connect 14:54:02.575898 Received DATA (on stdin) 14:54:02.575915 > 178 bytes data, server => client 14:54:02.575929 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:02.575941 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:02.575952 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:02.575962 'rve\r\n' 14:54:02.576038 < 17 bytes data, client => server 14:54:02.576056 'A001 CAPABILITY\r\n' 14:54:02.576239 Received DATA (on stdin) 14:54:02.576253 > 18 bytes data, server => client 14:54:02.576265 'A001 BAD Command\r\n' 14:54:02.576328 < 30 bytes data, client => server 14:54:02.576343 'A002 LIST "verifiedserver" *\r\n' 14:54:02.576510 Received DATA (on stdin) 14:54:02.576524 > 34 bytes data, server => client 14:54:02.576536 '* LIST () "/" "WE ROOLZ: 109672"\r\n' 14:54:02.576561 Received DATA (on stdin) 14:54:02.576573 > 24 bytes data, server => client 14:54:02.576584 'A002 OK LIST Completed\r\n' 14:54:02.623397 < 13 bytes data, client => server 14:54:02.623421 'A003 LOGOUT\r\n' 14:54:02.623762 Received DATA (on stdin) 14:54:02.623782 > 36 bytes data, server => client 14:54:02.623792 '* BYE curl IMAP server signing off\r\n' 14:54:02.623823 Received DATA (on stdin) 14:54:02.623832 > 26 bytes data, server => client 14:54:02.623841 'A003 OK LOGOUT completed\r\n' 14:54:02.624614 ====> Client disconnect 14:54:02.624749 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==117317== ==117317== Process terminating with default action of signal 4 (SIGILL) ==117317== Illegal opcode at address 0x4014B6F ==117317== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117317== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117317== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117317== by 0x4004266: main (tool_main.c:199) === End of file valgrind806 test 0807...[IMAP LSUB mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind807 ../src/curl -q --output log/10/curl807.out --include --trace-ascii log/10/trace807 --trace-time imap://127.0.0.1:40503 -u user:secret -X 'LSUB "807" *' > log/10/stdout807 2> log/10/stderr807 807: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 807 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind807 ../src/curl -q --output log/10/curl807.out --include --trace-ascii log/10/trace807 --trace-time imap://127.0.0.1:40503 -u user:secret -X 'LSUB "807" *' > log/10/stdout807 2> log/10/stderr807 === End of file commands.log === Start of file imap_server.log 14:54:02.562878 ====> Client connect 14:54:02.563071 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:02.563400 < "A001 CAPABILITY" 14:54:02.563442 > "A001 BAD Command[CR][LF]" 14:54:02.563866 < "A002 LIST "verifiedserver" *" 14:54:02.563909 LIST_imap got "verifiedserver" * 14:54:02.563940 > "* LIST () "/" "WE ROOLZ: 111033"[CR][LF]" 14:54:02.563960 > "A002 OK LIST Completed[CR][LF]" 14:54:02.563974 return proof we are we 14:54:02.607117 < "A003 LOGOUT" 14:54:02.607170 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:02.607191 > "A003 OK LOGOUT completed[CR][LF]" 14:54:02.607698 MAIN sockfilt said DISC 14:54:02.607742 ====> Client disconnected 14:54:02.607813 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.645582 ====> Client connect 14:54:02.645906 Received DATA (on stdin) 14:54:02.645924 > 178 bytes data, server => client 14:54:02.645937 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:02.645948 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:02.645959 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:02.645969 'rve\r\n' 14:54:02.646058 < 17 bytes data, client => server 14:54:02.646072 'A001 CAPABILITY\r\n' 14:54:02.646258 Received DATA (on stdin) 14:54:02.646273 > 18 bytes data, server => client 14:54:02.646284 'A001 BAD Command\r\n' 14:54:02.646517 < 30 bytes data, client => server 14:54:02.646540 'A002 LIST "verifiedserver" *\r\n' 14:54:02.646788 Received DATA (on stdin) 14:54:02.646802 > 34 bytes data, server => client 14:54:02.646813 '* LIST () "/" "WE ROOLZ: 111033"\r\n' 14:54:02.646838 Received DATA (on stdin) 14:54:02.646849 > 24 bytes data, server => client 14:54:02.646860 'A002 OK LIST Completed\r\n' 14:54:02.689773 < 13 bytes data, client => server 14:54:02.689798 'A003 LOGOUT\r\n' 14:54:02.690029 Received DATA (on stdin) 14:54:02.690044 > 36 bytes data, server => client 14:54:02.690056 '* BYE curl IMAP server signing off\r\n' 14:54:02.690080 Received DATA (on stdin) 14:54:02.690091 > 26 bytes data, server => client 14:54:02.690101 'A003 OK LOGOUT completed\r\n' 14:54:02.690449 ====> Client disconnect 14:54:02.690643 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==117401== ==117401== Process terminating with default action of signal 4 (SIGILL) ==117401== Illegal opcode at address 0x4014B6F ==117401== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117401== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117401== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117401== by 0x4004266: main (tool_main.c:199) === End of file valgrind807 test 0812...[IMAP DELETE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind812 ../src/curl -q --output log/14/curl812.out --include --trace-ascii log/14/trace812 --trace-time imap://127.0.0.1:43479 -u user:secret -X 'DELETE 812' > log/14/stdout812 2> log/14/stderr812 812: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 13CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind818 ../src/curl -q --output log/19/curl818.out --include --trace-ascii log/19/trace818 --trace-time imap://127.0.0.1:37633 -X NOOP -u user:secret > log/19/stdout818 2> log/19/stderr818 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind800 ../src/curl -q --output log/9/curl800.out --include --trace-ascii log/9/trace800 --trace-time 'imap://127.0.0.1:40785/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/9/stdout800 2> log/9/stderr800 2 == Contents of files in the log/14/ dir after test 812 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind812 ../src/curl -q --output log/14/curl812.out --include --trace-ascii log/14/trace812 --trace-time imap://127.0.0.1:43479 -u user:secret -X 'DELETE 812' > log/14/stdout812 2> log/14/stderr812 === End of file commands.log === Start of file imap_server.log 14:54:02.604987 ====> Client connect 14:54:02.605122 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:02.605351 < "A001 CAPABILITY" 14:54:02.605381 > "A001 BAD Command[CR][LF]" 14:54:02.605509 < "A002 LIST "verifiedserver" *" 14:54:02.605531 LIST_imap got "verifiedserver" * 14:54:02.605549 > "* LIST () "/" "WE ROOLZ: 109363"[CR][LF]" 14:54:02.605563 > "A002 OK LIST Completed[CR][LF]" 14:54:02.605574 return proof we are we 14:54:02.647132 < "A003 LOGOUT" 14:54:02.647184 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:02.647200 > "A003 OK LOGOUT completed[CR][LF]" 14:54:02.647272 MAIN sockfilt said DISC 14:54:02.647294 ====> Client disconnected 14:54:02.647351 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:01.687713 ====> Client connect 14:54:01.687942 Received DATA (on stdin) 14:54:01.687954 > 178 bytes data, server => client 14:54:01.687963 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:01.687972 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:01.687980 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:01.687987 'rve\r\n' 14:54:01.688043 < 17 bytes data, client => server 14:54:01.688053 'A001 CAPABILITY\r\n' 14:54:01.688192 Received DATA (on stdin) 14:54:01.688202 > 18 bytes data, server => client 14:54:01.688210 'A001 BAD Command\r\n' 14:54:01.688251 < 30 bytes data, client => server 14:54:01.688261 'A002 LIST "verifiedserver" *\r\n' 14:54:01.688381 Received DATA (on stdin) 14:54:01.688391 > 34 bytes data, server => client 14:54:01.688399 '* LIST () "/" "WE ROOLZ: 109363"\r\n' 14:54:01.688414 Received DATA (on stdin) 14:54:01.688422 > 24 bytes data, server => client 14:54:01.688430 'A002 OK LIST Completed\r\n' 14:54:01.729811 < 13 bytes data, client => server 14:54:01.729838 'A003 LOGOUT\r\n' 14:54:01.729977 Received DATA (on stdin) 14:54:01.729986 > 36 bytes data, server => client 14:54:01.729995 '* BYE curl IMAP server signing off\r\n' 14:54:01.730010 Received DATA (on stdin) 14:54:01.730019 > 26 bytes data, server => client 14:54:01.730027 'A003 OK LOGOUT completed\r\n' 14:54:01.730044 ====> Client disconnect 14:54:01.730161 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==117459== ==117459== Process terminating with default action of signal 4 (SIGILL) ==117459== Illegal opcode at address 0x4014B6F ==117459== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117459== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117459== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117459== by 0x4004266: main (tool_main.c:199) === End of file valgrind812 test 0818...[IMAP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind818 ../src/curl -q --output log/19/curl818.out --include --trace-ascii log/19/trace818 --trace-time imap://127.0.0.1:37633 -X NOOP -u user:secret > log/19/stdout818 2> log/19/stderr818 818: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 818 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind818 ../src/curl -q --output log/19/curl818.out --include --trace-ascii log/19/trace818 --trace-time imap://127.0.0.1:37633 -X NOOP -u user:secret > log/19/stdout818 2> log/19/stderr818 === End of file commands.log === Start of file imap_server.log 14:54:03.206971 ====> Client connect 14:54:03.207081 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:03.207300 < "A001 CAPABILITY" 14:54:03.207325 > "A001 BAD Command[CR][LF]" 14:54:03.207442 < "A002 LIST "verifiedserver" *" 14:54:03.207460 LIST_imap got "verifiedserver" * 14:54:03.207476 > "* LIST () "/" "WE ROOLZ: 109672"[CR][LF]" 14:54:03.207488 > "A002 OK LIST Completed[CR][LF]" 14:54:03.207498 return proof we are we 14:54:03.253762 < "A003 LOGOUT" 14:54:03.253799 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:03.253813 > "A003 OK LOGOUT completed[CR][LF]" 14:54:03.254144 MAIN sockfilt said DISC 14:54:03.254177 ====> Client disconnected 14:54:03.254221 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:03.289696 ====> Client connect 14:54:03.289897 Received DATA (on stdin) 14:54:03.289908 > 178 bytes data, server => client 14:54:03.289916 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:03.289925 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:03.289932 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:03.289939 'rve\r\n' 14:54:03.289991 < 17 bytes data, client => server 14:54:03.290000 'A001 CAPABILITY\r\n' 14:54:03.290133 Received DATA (on stdin) 14:54:03.290143 > 18 bytes data, server => client 14:54:03.290150 'A001 BAD Command\r\n' 14:54:03.290190 < 30 bytes data, client => server 14:54:03.290198 'A002 LIST "verifiedserver" *\r\n' 14:54:03.290304 Received DATA (on stdin) 14:54:03.290312 > 34 bytes data, server => client 14:54:03.290320 '* LIST () "/" "WE ROOLZ: 109672"\r\n' 14:54:03.290334 Received DATA (on stdin) 14:54:03.290341 > 24 bytes data, server => client 14:54:03.290349 'A002 OK LIST Completed\r\n' 14:54:03.336441 < 13 bytes data, client => server 14:54:03.336460 'A003 LOGOUT\r\n' 14:54:03.336608 Received DATA (on stdin) 14:54:03.336627 > 36 bytes data, server => client 14:54:03.336653 '* BYE curl IMAP server signing off\r\n' 14:54:03.336690 Received DATA (on stdin) 14:54:03.336704 > 26 bytes data, server => client 14:54:03.336716 'A003 OK LOGOUT completed\r\n' 14:54:03.336902 ====> Client disconnect 14:54:03.337030 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==117606== ==117606== Process terminating with default action of signal 4 (SIGILL) ==117606== Illegal opcode at address 0x4014B6F ==117606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117606== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117606== by 0x4004266: main (tool_main.c:199) === End of file valgrind818 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/imap_server.pid" --logfile "log/9/imap_server.log" --logdir "log/9" --portfile "log/9/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40785 (log/9/server/imap_server.port) RUN: IMAP server is PID 117181 port 40785 * pid imap => 117181 117181 test 0800...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:40503/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind799 ../src/curl -q --output log/20/curl799.out --include --trace-ascii log/20/trace799 --trace-time 'imap://127.0.0.1:45915/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/20/stdout799 2> log/20/stderr799 rind800 ../src/curl -q --output log/9/curl800.out --include --trace-ascii log/9/trace800 --trace-time 'imap://127.0.0.1:40785/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/9/stdout800 2> log/9/stderr800 800: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind800 ../src/curl -q --output log/9/curl800.out --include --trace-ascii log/9/trace800 --trace-time 'imap://127.0.0.1:40785/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/9/stdout800 2> log/9/stderr800 === End of file commands.log === Start of file imap_server.log 14:54:02.282290 IMAP server listens on port IPv4/40785 14:54:02.282370 logged pid 117181 in log/9/server/imap_server.pid 14:54:02.282399 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.364852 Running IPv4 version 14:54:02.364927 Listening on port 40785 14:54:02.364966 Wrote pid 117240 to log/9/server/imap_sockfilt.pid 14:54:02.364997 Wrote port 40785 to log/9/server/imap_server.port 14:54:02.365016 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==117577== ==117577== Process terminating with default action of signal 4 (SIGILL) ==117577== Illegal opcode at address 0x4014B6F ==117577== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117577== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117577== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117577== by 0x4004266: main (tool_main.c:199) === End of file valgrind800 test 0819...[IMAP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:40503/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 819: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 819 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:40503/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 === End of file commands.log === Start of file imap_server.log 14:54:03.222589 ====> Client connect 14:54:03.222720 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:03.223057 < "A001 CAPABILITY" 14:54:03.223095 > "A001 BAD Command[CR][LF]" 14:54:03.223323 < "A002 LIST "verifiedserver" *" 14:54:03.223361 LIST_imap got "verifiedserver" * 14:54:03.223389 > "* LIST () "/" "WE ROOLZ: 111033"[CR][LF]" 14:54:03.223406 > "A002 OK LIST Completed[CR][LF]" 14:54:03.223418 return proof we are we 14:54:03.267121 < "A003 LOGOUT" 14:54:03.267148 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:03.267162 > "A003 OK LOGOUT completed[CR][LF]" 14:54:03.267543 MAIN sockfilt said DISC 14:54:03.267582 ====> Client disconnected 14:54:03.267635 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:03.305301 ====> Client connect 14:54:03.305551 Received DATA (on stdin) 14:54:03.305577 > 178 bytes data, server => client 14:54:03.305591 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:03.305603 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:03.305614 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:03.305624 'rve\r\n' 14:54:03.305719 < 17 bytes data, client => server 14:54:03.305732 'A001 CAPABILITY\r\n' 14:54:03.305901 Received DATA (on stdin) 14:54:03.305922 > 18 bytes data, server => client 14:54:03.305931 'A001 BAD Command\r\n' 14:54:03.305989 < 30 bytes data, client => server 14:54:03.306003 'A002 LIST "verifiedserver" *\r\n' 14:54:03.306230 Received DATA (on stdin) 14:54:03.306242 > 34 bytes data, server => client 14:54:03.306253 '* LIST () "/" "WE ROOLZ: 111033"\r\n' 14:54:03.306273 Received DATA (on stdin) 14:54:03.306283 > 24 bytes data, server => client 14:54:03.306293 'A002 OK LIST Completed\r\n' 14:54:03.349832 < 13 bytes data, client => server 14:54:03.349848 'A003 LOGOUT\r\n' 14:54:03.349970 Received DATA (on stdin) 14:54:03.349979 > 36 bytes data, server => client 14:54:03.349987 '* BYE curl IMAP server signing off\r\n' 14:54:03.350003 Received DATA (on stdin) 14:54:03.350011 > 26 bytes data, server => client 14:54:03.350018 'A003 OK LOGOUT completed\r\n' 14:54:03.350296 ====> Client disconnect 14:54:03.350444 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY AHVzZXIAc2VjcmV0 A002 OK AUTHENTICATE completed Testnum 819 === End of file server.cmd === Start of file valgrind819 ==117678== ==117678== Process terminating with default action of signal 4 (SIGILL) ==117678== Illegal opcode at address 0x4014B6F ==117678== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117678== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117678== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117678== by 0x4004266: main (tool_main.c:199) === End of file valgrind819 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/imap_server.pid" --logfile "log/20/imap_server.log" --logdir "log/20" --portfile "log/20/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45915 (log/20/server/imap_server.port) RUN: IMAP server is PID 117171 port 45915 * pid imap => 117171 117171 test 0799...[IMAP with --login-options 'AUTH=+LOGIN'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind799 ../src/curl -q --output log/20/curl799.out --include --trace-ascii log/20/trace799 --trace-time 'imap://127.0.0.1:45915/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/20/stdout799 2> log/20/stderr799 799: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 799 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind799 ../src/curl -q --output log/20/curl799.out --include --trace-ascii log/20/trace799 --trace-time 'imap://127.0.0.1:45915/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/20/stdout799 2> log/20/stderr799 === End of file commands.log === Start of file imap_server.log 14:54:02.283321 IMAP server listens on port IPv4/45915 14:54:02.283403 logged pid 117171 in log/20/server/imap_server.pid 14:54:02.283430 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.365860 Running IPv4 version 14:54:02.365941 Listening on port 45915 14:54:02.365979 Wrote pid 117242 to log/20/server/imap_sockfilt.pid 14:54:02.366020 Wrote port 45915 to log/20/server/imap_server.port 14:54:02.366042 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd ACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind801 ../src/curl -q --output log/8/curl801.out --include --trace-ascii log/8/trace801 --trace-time 'imap://127.0.0.1:42141/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/8/stdout801 2> log/8/stderr801 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind820 ../src/curl -q --output log/14/curl820.out --include --trace-ascii log/14/trace820 --trace-time 'imap://127.0.0.1:43479/820/;MAILINDEX=1' -u user:secret > log/14/stdout820 2> log/14/stderr820 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind804 ../src/curl -q --output log/18/curl804.out --include --trace-ascii log/18/trace804 --trace-time 'imap://127.0.0.1:36775/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:36775/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/18/stdout804 2> log/18/stderr804 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind802 ../src/curl -q --output log/24/curl802.out --include --trace-ascii log/24/trace802 --trace-time 'imap://127.0.0.1:37197/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/24/stdout802 2> log/24/stderr802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind803 ../src/curl -q --output log/5/curl803.out --include --trace-ascii log/5/trace803 --trace-time 'imap://127.0.0.1:45443/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/5/stdout803 2> log/5/stderr803 UTH PLAIN REPLY LOGIN A002 OK LOGIN completed Testnum 799 === End of file server.cmd === Start of file valgrind799 ==117566== ==117566== Process terminating with default action of signal 4 (SIGILL) ==117566== Illegal opcode at address 0x4014B6F ==117566== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117566== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117566== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117566== by 0x4004266: main (tool_main.c:199) === End of file valgrind799 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/imap_server.pid" --logfile "log/8/imap_server.log" --logdir "log/8" --portfile "log/8/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42141 (log/8/server/imap_server.port) RUN: IMAP server is PID 117227 port 42141 * pid imap => 117227 117227 test 0801...[IMAP FETCH message by MAILINDEX and SECTION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind801 ../src/curl -q --output log/8/curl801.out --include --trace-ascii log/8/trace801 --trace-time 'imap://127.0.0.1:42141/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/8/stdout801 2> log/8/stderr801 801: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 801 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind801 ../src/curl -q --output log/8/curl801.out --include --trace-ascii log/8/trace801 --trace-time 'imap://127.0.0.1:42141/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/8/stdout801 2> log/8/stderr801 === End of file commands.log === Start of file imap_server.log 14:54:02.306922 IMAP server listens on port IPv4/42141 14:54:02.306988 logged pid 117227 in log/8/server/imap_server.pid 14:54:02.307011 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.389496 Running IPv4 version 14:54:02.389570 Listening on port 42141 14:54:02.389603 Wrote pid 117274 to log/8/server/imap_sockfilt.pid 14:54:02.389627 Wrote port 42141 to log/8/server/imap_server.port 14:54:02.389645 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==117725== ==117725== Process terminating with default action of signal 4 (SIGILL) ==117725== Illegal opcode at address 0x4014B6F ==117725== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117725== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117725== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117725== by 0x4004266: main (tool_main.c:199) === End of file valgrind801 test 0820...[IMAP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind820 ../src/curl -q --output log/14/curl820.out --include --trace-ascii log/14/trace820 --trace-time 'imap://127.0.0.1:43479/820/;MAILINDEX=1' -u user:secret > log/14/stdout820 2> log/14/stderr820 820: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 820 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind820 ../src/curl -q --output log/14/curl820.out --include --trace-ascii log/14/trace820 --trace-time 'imap://127.0.0.1:43479/820/;MAILINDEX=1' -u user:secret > log/14/stdout820 2> log/14/stderr820 === End of file commands.log === Start of file imap_server.log 14:54:03.260727 ====> Client connect 14:54:03.260829 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:03.261028 < "A001 CAPABILITY" 14:54:03.261052 > "A001 BAD Command[CR][LF]" 14:54:03.261197 < "A002 LIST "verifiedserver" *" 14:54:03.261220 LIST_imap got "verifiedserver" * 14:54:03.261239 > "* LIST () "/" "WE ROOLZ: 109363"[CR][LF]" 14:54:03.261251 > "A002 OK LIST Completed[CR][LF]" 14:54:03.261260 return proof we are we 14:54:03.304501 < "A003 LOGOUT" 14:54:03.304545 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:03.304559 > "A003 OK LOGOUT completed[CR][LF]" 14:54:03.305136 MAIN sockfilt said DISC 14:54:03.305163 ====> Client disconnected 14:54:03.305217 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.343462 ====> Client connect 14:54:02.343645 Received DATA (on stdin) 14:54:02.343656 > 178 bytes data, server => client 14:54:02.343665 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:02.343673 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:02.343680 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:02.343687 'rve\r\n' 14:54:02.343737 < 17 bytes data, client => server 14:54:02.343746 'A001 CAPABILITY\r\n' 14:54:02.343861 Received DATA (on stdin) 14:54:02.343870 > 18 bytes data, server => client 14:54:02.343878 'A001 BAD Command\r\n' 14:54:02.343918 < 30 bytes data, client => server 14:54:02.343927 'A002 LIST "verifiedserver" *\r\n' 14:54:02.344068 Received DATA (on stdin) 14:54:02.344077 > 34 bytes data, server => client 14:54:02.344085 '* LIST () "/" "WE ROOLZ: 109363"\r\n' 14:54:02.344100 Received DATA (on stdin) 14:54:02.344107 > 24 bytes data, server => client 14:54:02.344115 'A002 OK LIST Completed\r\n' 14:54:02.387130 < 13 bytes data, client => server 14:54:02.387157 'A003 LOGOUT\r\n' 14:54:02.387371 Received DATA (on stdin) 14:54:02.387381 > 36 bytes data, server => client 14:54:02.387389 '* BYE curl IMAP server signing off\r\n' 14:54:02.387410 Received DATA (on stdin) 14:54:02.387418 > 26 bytes data, server => client 14:54:02.387426 'A003 OK LOGOUT completed\r\n' 14:54:02.387850 ====> Client disconnect 14:54:02.388026 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTHENTICATE + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 820 === End of file server.cmd === Start of file valgrind820 ==117819== ==117819== Process terminating with default action of signal 4 (SIGILL) ==117819== Illegal opcode at address 0x4014B6F ==117819== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117819== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117819== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117819== by 0x4004266: main (tool_main.c:199) === End of file valgrind820 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/imap_server.pid" --logfile "log/18/imap_server.log" --logdir "log/18" --portfile "log/18/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36775 (log/18/server/imap_server.port) RUN: IMAP server is PID 117284 port 36775 * pid imap => 117284 117284 test 0804...[IMAP doesn't perform SELECT if reusing the same mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind804 ../src/curl -q --output log/18/curl804.out --include --trace-ascii log/18/trace804 --trace-time 'imap://127.0.0.1:36775/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:36775/804/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind805 ../src/curl -q --output log/2/curl805.out --include --trace-ascii log/2/trace805 --trace-time imap://127.0.0.1:36469/805 -T log/2/upload805 -u user:secret > log/2/stdout805 2> log/2/stderr805 ;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/18/stdout804 2> log/18/stderr804 804: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 804 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind804 ../src/curl -q --output log/18/curl804.out --include --trace-ascii log/18/trace804 --trace-time 'imap://127.0.0.1:36775/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:36775/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/18/stdout804 2> log/18/stderr804 === End of file commands.log === Start of file imap_server.log 14:54:02.388821 IMAP server listens on port IPv4/36775 14:54:02.388890 logged pid 117284 in log/18/server/imap_server.pid 14:54:02.388912 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.471430 Running IPv4 version 14:54:02.471486 Listening on port 36775 14:54:02.471517 Wrote pid 117290 to log/18/server/imap_sockfilt.pid 14:54:02.471541 Wrote port 36775 to log/18/server/imap_server.port 14:54:02.471557 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==117888== ==117888== Process terminating with default action of signal 4 (SIGILL) ==117888== Illegal opcode at address 0x4014B6F ==117888== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117888== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117888== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117888== by 0x4004266: main (tool_main.c:199) === End of file valgrind804 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/imap_server.pid" --logfile "log/5/imap_server.log" --logdir "log/5" --portfile "log/5/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45443 (log/5/server/imap_server.port) RUN: IMAP server is PID 117283 port 45443 * pid imap => 117283 117283 test 0803...[IMAP SELECT UIDVALIDITY Failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind803 ../src/curl -q --output log/5/curl803.out --include --trace-ascii log/5/trace803 --trace-time 'imap://127.0.0.1:45443/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/5/stdout803 2> log/5/stderr803 803: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 803 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind803 ../src/curl -q --output log/5/curl803.out --include --trace-ascii log/5/trace803 --trace-time 'imap://127.0.0.1:45443/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/5/stdout803 2> log/5/stderr803 === End of file commands.log === Start of file imap_server.log 14:54:02.378505 IMAP server listens on port IPv4/45443 14:54:02.378585 logged pid 117283 in log/5/server/imap_server.pid 14:54:02.378611 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.461025 Running IPv4 version 14:54:02.461125 Listening on port 45443 14:54:02.461168 Wrote pid 117286 to log/5/server/imap_sockfilt.pid 14:54:02.461201 Wrote port 45443 to log/5/server/imap_server.port 14:54:02.461227 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 ==117887== ==117887== Process terminating with default action of signal 4 (SIGILL) ==117887== Illegal opcode at address 0x4014B6F ==117887== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117887== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117887== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117887== by 0x4004266: main (tool_main.c:199) === End of file valgrind803 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/imap_server.pid" --logfile "log/24/imap_server.log" --logdir "log/24" --portfile "log/24/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37197 (log/24/server/imap_server.port) RUN: IMAP server is PID 117279 port 37197 * pid imap => 117279 117279 test 0802...[IMAP SELECT UIDVALIDITY Success] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind802 ../src/curl -q --output log/24/curl802.out --include --trace-ascii log/24/trace802 --trace-time 'imap://127.0.0.1:37197/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/24/stdout802 2> log/24/stderr802 802: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind802 ../src/curl -q --output log/24/curl802.out --include --trace-ascii log/24/trace802 --trace-time 'imap://127.0.0.1:37197/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/24/stdout802 2> log/24/stderr802 === End of file commands.log === Start of file imap_server.log 14:54:02.387069 IMAP server listens on port IPv4/37197 14:54:02.387154 logged pid 117279 in log/24/server/imap_server.pid 14:54:02.387175 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.466778 Running IPv4 version 14:54:02.466858 Listening on port 37197 14:54:02.466895 Wrote pid 117287 to log/24/server/imap_sockfilt.pid 14:54:02.466924 Wrote port 37197 to log/24/server/imap_server.port 14:54:02.469784 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==117869== ==117869== Process terminating with default action of signal 4 (SIGILL) ==117869== Illegal opcode at address 0x4014B6F ==117869== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==117869== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==117869== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==117869== by 0x4004266: main (tool_main.c:199) === End of file valgrind802 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/imap_server.pid" --logfile "log/2/imap_server.log" --logdir "log/2" --portfile "log/2/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36469 (log/2/server/imap_server.port) RUN: IMAP server is PID 117293 port 36469 * pid imap => 117293 117293 test 0805...[IMAP APPEND message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind805 ../src/curl -q --output log/2/curl805.out --include --trace-ascii log/2/trace805 --trace-time imap://127.0.0.1:36469/805 -T log/2/upload805 -u user:secret > log/2/stdout805 2> log/2/stderr805 805: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 805 === Start of file commands.log ../libtool --mode=executeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind808 ../src/curl -q --output log/13/curl808.out --include --trace-ascii log/13/trace808 --trace-time imap://127.0.0.1:36847 -u user:secret -X 'EXAMINE 808' > log/13/stdout808 2> log/13/stderr808 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind811 ../src/curl -q --output log/17/curl811.out --include --trace-ascii log/17/trace811 --trace-time imap://127.0.0.1:35715 -u user:secret -X 'CREATE 811' > log/17/stdout811 2> log/17/stderr811 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:42599 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind805 ../src/curl -q --output log/2/curl805.out --include --trace-ascii log/2/trace805 --trace-time imap://127.0.0.1:36469/805 -T log/2/upload805 -u user:secret > log/2/stdout805 2> log/2/stderr805 === End of file commands.log === Start of file imap_server.log 14:54:02.499093 IMAP server listens on port IPv4/36469 14:54:02.499148 logged pid 117293 in log/2/server/imap_server.pid 14:54:02.499168 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.581720 Running IPv4 version 14:54:02.581766 Listening on port 36469 14:54:02.581796 Wrote pid 117309 to log/2/server/imap_sockfilt.pid 14:54:02.581818 Wrote port 36469 to log/2/server/imap_server.port 14:54:02.581834 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 805 === End of file server.cmd === Start of file upload805 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload805 === Start of file valgrind805 ==118023== ==118023== Process terminating with default action of signal 4 (SIGILL) ==118023== Illegal opcode at address 0x4014B6F ==118023== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118023== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118023== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118023== by 0x4004266: main (tool_main.c:199) === End of file valgrind805 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/imap_server.pid" --logfile "log/13/imap_server.log" --logdir "log/13" --portfile "log/13/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36847 (log/13/server/imap_server.port) RUN: IMAP server is PID 117314 port 36847 * pid imap => 117314 117314 test 0808...[IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind808 ../src/curl -q --output log/13/curl808.out --include --trace-ascii log/13/trace808 --trace-time imap://127.0.0.1:36847 -u user:secret -X 'EXAMINE 808' > log/13/stdout808 2> log/13/stderr808 808: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 808 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind808 ../src/curl -q --output log/13/curl808.out --include --trace-ascii log/13/trace808 --trace-time imap://127.0.0.1:36847 -u user:secret -X 'EXAMINE 808' > log/13/stdout808 2> log/13/stderr808 === End of file commands.log === Start of file imap_server.log 14:54:02.576808 IMAP server listens on port IPv4/36847 14:54:02.576903 logged pid 117314 in log/13/server/imap_server.pid 14:54:02.576930 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.658942 Running IPv4 version 14:54:02.659001 Listening on port 36847 14:54:02.659029 Wrote pid 117357 to log/13/server/imap_sockfilt.pid 14:54:02.659050 Wrote port 36847 to log/13/server/imap_server.port 14:54:02.659527 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==118078== ==118078== Process terminating with default action of signal 4 (SIGILL) ==118078== Illegal opcode at address 0x4014B6F ==118078== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118078== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118078== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118078== by 0x4004266: main (tool_main.c:199) === End of file valgrind808 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/imap_server.pid" --logfile "log/17/imap_server.log" --logdir "log/17" --portfile "log/17/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35715 (log/17/server/imap_server.port) RUN: IMAP server is PID 117378 port 35715 * pid imap => 117378 117378 test 0811...[IMAP CREATE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind811 ../src/curl -q --output log/17/curl811.out --include --trace-ascii log/17/trace811 --trace-time imap://127.0.0.1:35715 -u user:secret -X 'CREATE 811' > log/17/stdout811 2> log/17/stderr811 811: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 811 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind811 ../src/curl -q --output log/17/curl811.out --include --trace-ascii log/17/trace811 --trace-time imap://127.0.0.1:35715 -u user:secret -X 'CREATE 811' > log/17/stdout811 2> log/17/stderr811 === End of file commands.log === Start of file imap_server.log 14:54:02.610288 IMAP server listens on port IPv4/35715 14:54:02.610339 logged pid 117378 in log/17/server/imap_server.pid 14:54:02.610358 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.692914 Running IPv4 version 14:54:02.692960 Listening on port 35715 14:54:02.692994 Wrote pid 117399 to log/17/server/imap_sockfilt.pid 14:54:02.693016 Wrote port 35715 to log/17/server/imap_server.port 14:54:02.693032 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 811 === End of file server.cmd === Start of file valgrind811 ==118173== ==118173== Process terminating with default action of signal 4 (SIGILL) ==118173== Illegal opcode at address 0x4014B6F ==118173== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118173== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118173== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118173== by 0x4004266: main (tool_main.c:199) === End of file valgrind811 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/imap_server.pid" --logfile "log/6/imap_server.log" --logdir "log/6" --portfile "log/6/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42599 (log/6/server/imap_server.port) RUN: IMAP server is PID 117319 port 42599 * pid imap => 117319 117319 test 0809...[IMAP mailbox STATUS (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:42599 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 809: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 809 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:40003/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind813 ../src/curl -q --output log/4/curl813.out --include --trace-ascii log/4/trace813 --trace-time imap://127.0.0.1:34035 -u user:secret -X 'RENAME 666 813' > log/4/stdout813 2> log/4/stderr813 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind725 ../src/curl -q --output log/23/curl725.out --include --trace-ascii log/23/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout725 2> log/23/stderr725 6 --log-file=log/6/valgrind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:42599 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 === End of file commands.log === Start of file imap_server.log 14:54:02.576582 IMAP server listens on port IPv4/42599 14:54:02.576641 logged pid 117319 in log/6/server/imap_server.pid 14:54:02.576659 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.659175 Running IPv4 version 14:54:02.659252 Listening on port 42599 14:54:02.659280 Wrote pid 117359 to log/6/server/imap_sockfilt.pid 14:54:02.659302 Wrote port 42599 to log/6/server/imap_server.port 14:54:02.659317 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 809 === End of file server.cmd === Start of file valgrind809 ==118079== ==118079== Process terminating with default action of signal 4 (SIGILL) ==118079== Illegal opcode at address 0x4014B6F ==118079== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118079== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118079== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118079== by 0x4004266: main (tool_main.c:199) === End of file valgrind809 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/imap_server.pid" --logfile "log/12/imap_server.log" --logdir "log/12" --portfile "log/12/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40003 (log/12/server/imap_server.port) RUN: IMAP server is PID 117371 port 40003 * pid imap => 117371 117371 test 0810...[IMAP SEARCH for NEW messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:40003/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 810: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 810 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:40003/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 === End of file commands.log === Start of file imap_server.log 14:54:02.609036 IMAP server listens on port IPv4/40003 14:54:02.609104 logged pid 117371 in log/12/server/imap_server.pid 14:54:02.609126 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.691552 Running IPv4 version 14:54:02.691600 Listening on port 40003 14:54:02.691628 Wrote pid 117398 to log/12/server/imap_sockfilt.pid 14:54:02.691651 Wrote port 40003 to log/12/server/imap_server.port 14:54:02.691776 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 810 === End of file server.cmd === Start of file valgrind810 ==118167== ==118167== Process terminating with default action of signal 4 (SIGILL) ==118167== Illegal opcode at address 0x4014B6F ==118167== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118167== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118167== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118167== by 0x4004266: main (tool_main.c:199) === End of file valgrind810 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/imap_server.pid" --logfile "log/4/imap_server.log" --logdir "log/4" --portfile "log/4/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34035 (log/4/server/imap_server.port) RUN: IMAP server is PID 117423 port 34035 * pid imap => 117423 117423 test 0813...[IMAP RENAME mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind813 ../src/curl -q --output log/4/curl813.out --include --trace-ascii log/4/trace813 --trace-time imap://127.0.0.1:34035 -u user:secret -X 'RENAME 666 813' > log/4/stdout813 2> log/4/stderr813 813: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 813 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind813 ../src/curl -q --output log/4/curl813.out --include --trace-ascii log/4/trace813 --trace-time imap://127.0.0.1:34035 -u user:secret -X 'RENAME 666 813' > log/4/stdout813 2> log/4/stderr813 === End of file commands.log === Start of file imap_server.log 14:54:02.653656 IMAP server listens on port IPv4/34035 14:54:02.653712 logged pid 117423 in log/4/server/imap_server.pid 14:54:02.653730 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.736276 Running IPv4 version 14:54:02.736332 Listening on port 34035 14:54:02.736362 Wrote pid 117456 to log/4/server/imap_sockfilt.pid 14:54:02.736384 Wrote port 34035 to log/4/server/imap_server.port 14:54:02.736401 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==118281== ==118281== Process terminating with default action of signal 4 (SIGILL) ==118281== Illegal opcode at address 0x4014B6F ==118281== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118281== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118281== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118281== by 0x4004266: main (tool_main.c:199) === End of file valgrind813 setenv HOME = /startdir/src/build-curl/tests/log/23 test 0725...[IPFS with malformed gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind725 ../src/curl -q --output log/23/curl725.out --include --trace-ascii log/23/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout725 2> log/23/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/23/ dir after test 725 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind725 ../src/curl -q --output log/23/curl725.out --include --trace-ascii log/23/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout725 2> log/23/stderr725 === End of file commands.log === Start of file http_server.log 14:53:59.114426 ====> Client connect 14:53:59.114445 accept_connection 3 returned 4 14:53:59.114457 accept_connection 3 returned 0 14:53:59.114467 Read 93 bytes 14:53:59.114475 Process 93 bytes request 14:53:59.114483 Got request: GET /verifiedserver HTTP/1.1 14:53:59.114491 Are-we-friendly question received 14:53:59.114506 Wrote request (93 bytes) input to log/23/server.input 14:53:59.114518 Identifying ourselves as friends 14:53:59.114554 Response sent (56 bytes) and written to log/23/server.response 14:53:59.114561 special request received, no persistency 14:53:59.114568 ====> Client disconnect 0 === End of file http_server.log === StartCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind814 ../src/curl -q --output log/16/curl814.out --include --trace-ascii log/16/trace814 --trace-time imap://127.0.0.1:46049/814 -u user:secret -X 'CHECK' > log/16/stdout814 2> log/16/stderr814 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind815 ../src/curl -q --output log/11/curl815.out --include --trace-ascii log/11/trace815 --trace-time imap://127.0.0.1:44253/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:44253/815 -X CLOSE -u user:secret > log/11/stdout815 2> log/11/stderr815 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind816 ../src/curl -q --output log/21/curl816.out --include --trace-ascii log/21/trace816 --trace-time imap://127.0.0.1:38699/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38699/816 -X EXPUNGE -u user:secret > log/21/stdout816 2> log/21/stderr816 of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 725 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind725 ==112986== ==112986== Process terminating with default action of signal 4 (SIGILL) ==112986== Illegal opcode at address 0x4014B6F ==112986== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112986== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112986== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112986== by 0x4004266: main (tool_main.c:199) === End of file valgrind725 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/imap_server.pid" --logfile "log/16/imap_server.log" --logdir "log/16" --portfile "log/16/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46049 (log/16/server/imap_server.port) RUN: IMAP server is PID 117519 port 46049 * pid imap => 117519 117519 test 0814...[IMAP CHECK mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind814 ../src/curl -q --output log/16/curl814.out --include --trace-ascii log/16/trace814 --trace-time imap://127.0.0.1:46049/814 -u user:secret -X 'CHECK' > log/16/stdout814 2> log/16/stderr814 814: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 814 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind814 ../src/curl -q --output log/16/curl814.out --include --trace-ascii log/16/trace814 --trace-time imap://127.0.0.1:46049/814 -u user:secret -X 'CHECK' > log/16/stdout814 2> log/16/stderr814 === End of file commands.log === Start of file imap_server.log 14:54:02.911499 IMAP server listens on port IPv4/46049 14:54:02.911554 logged pid 117519 in log/16/server/imap_server.pid 14:54:02.911572 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.994140 Running IPv4 version 14:54:02.994181 Listening on port 46049 14:54:02.994206 Wrote pid 117521 to log/16/server/imap_sockfilt.pid 14:54:02.994228 Wrote port 46049 to log/16/server/imap_server.port 14:54:02.994242 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 814 === End of file server.cmd === Start of file valgrind814 ==118360== ==118360== Process terminating with default action of signal 4 (SIGILL) ==118360== Illegal opcode at address 0x4014B6F ==118360== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118360== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118360== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118360== by 0x4004266: main (tool_main.c:199) === End of file valgrind814 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/imap_server.pid" --logfile "log/11/imap_server.log" --logdir "log/11" --portfile "log/11/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44253 (log/11/server/imap_server.port) RUN: IMAP server is PID 117518 port 44253 * pid imap => 117518 117518 test 0815...[IMAP STORE - delete message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind815 ../src/curl -q --output log/11/curl815.out --include --trace-ascii log/11/trace815 --trace-time imap://127.0.0.1:44253/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:44253/815 -X CLOSE -u user:secret > log/11/stdout815 2> log/11/stderr815 815: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 815 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind815 ../src/curl -q --output log/11/curl815.out --include --trace-ascii log/11/trace815 --trace-time imap://127.0.0.1:44253/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:44253/815 -X CLOSE -u user:secret > log/11/stdout815 2> log/11/stderr815 === End of file commands.log === Start of file imap_server.log 14:54:02.910855 IMAP server listens on port IPv4/44253 14:54:02.910915 logged pid 117518 in log/11/server/imap_server.pid 14:54:02.910936 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.993449 Running IPv4 version 14:54:02.993517 Listening on port 44253 14:54:02.993546 Wrote pid 117520 to log/11/server/imap_sockfilt.pid 14:54:02.993569 Wrote port 44253 to log/11/server/imap_server.port 14:54:02.993584 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==118361== ==118361== Process terminating with default action of signal 4 (SIGILL) ==118361== Illegal opcode at address 0x4014B6F ==118361== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118361== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118361== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118361== by 0x4004266: main (tool_main.c:199) === End of file valgrind815 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/imap_server.pid" --logfile "log/21/imap_server.log" --logdir "log/21" --portfile "log/21/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38699 (log/21/server/imap_server.port) RUN: IMAP server is PID 117522 port 38699 * pid imap => 117522 117522 test 0816...[IMAP STORE - delete message with confirmation (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind816 ../src/curl -q --output log/21/curl816.out --include --trace-ascii log/21/trace816 --trace-time imap://127.0.0.1:38699/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38699/816 -X EXPUNGE -u user:secret > log/21/stdout816 2> log/21/stderr816 816: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 816 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind816 ../src/curl -q --output log/21/curl816.out --include --trace-ascii log/21/trace816 --trace-time imap://127.0.0.1:38699/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38699/816 -X EXPUNGE -u user:secret > log/21/stdout816 2> log/21/stderr816 === End of file commands.log === Start of file imap_server.log 14:54:02.952998 IMAP serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind817 ../src/curl -q --output log/3/curl817.out --include --trace-ascii log/3/trace817 --trace-time imap://127.0.0.1:37717 -u user:secret -X 'COPY 123 817' > log/3/stdout817 2> log/3/stderr817 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind822 ../src/curl -q --output log/9/curl822.out --include --trace-ascii log/9/trace822 --trace-time 'imap://127.0.0.1:40785/822/;MAILINDEX=1' -u testuser:testpass > log/9/stdout822 2> log/9/stderr822 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37633/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 ver listens on port IPv4/38699 14:54:02.953058 logged pid 117522 in log/21/server/imap_server.pid 14:54:02.953077 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.035606 Running IPv4 version 14:54:02.035658 Listening on port 38699 14:54:02.035687 Wrote pid 117526 to log/21/server/imap_sockfilt.pid 14:54:02.035710 Wrote port 38699 to log/21/server/imap_server.port 14:54:02.035728 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 === End of file server.cmd === Start of file valgrind816 ==118453== ==118453== Process terminating with default action of signal 4 (SIGILL) ==118453== Illegal opcode at address 0x4014B6F ==118453== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118453== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118453== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118453== by 0x4004266: main (tool_main.c:199) === End of file valgrind816 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/imap_server.pid" --logfile "log/3/imap_server.log" --logdir "log/3" --portfile "log/3/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37717 (log/3/server/imap_server.port) RUN: IMAP server is PID 117524 port 37717 * pid imap => 117524 117524 test 0817...[IMAP COPY message to mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind817 ../src/curl -q --output log/3/curl817.out --include --trace-ascii log/3/trace817 --trace-time imap://127.0.0.1:37717 -u user:secret -X 'COPY 123 817' > log/3/stdout817 2> log/3/stderr817 817: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 817 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind817 ../src/curl -q --output log/3/curl817.out --include --trace-ascii log/3/trace817 --trace-time imap://127.0.0.1:37717 -u user:secret -X 'COPY 123 817' > log/3/stdout817 2> log/3/stderr817 === End of file commands.log === Start of file imap_server.log 14:54:02.959566 IMAP server listens on port IPv4/37717 14:54:02.959619 logged pid 117524 in log/3/server/imap_server.pid 14:54:02.959637 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:02.042156 Running IPv4 version 14:54:02.042232 Listening on port 37717 14:54:02.042269 Wrote pid 117527 to log/3/server/imap_sockfilt.pid 14:54:02.042290 Wrote port 37717 to log/3/server/imap_server.port 14:54:02.042308 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 817 === End of file server.cmd === Start of file valgrind817 ==118472== ==118472== Process terminating with default action of signal 4 (SIGILL) ==118472== Illegal opcode at address 0x4014B6F ==118472== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118472== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118472== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118472== by 0x4004266: main (tool_main.c:199) === End of file valgrind817 test 0822...[IMAP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind822 ../src/curl -q --output log/9/curl822.out --include --trace-ascii log/9/trace822 --trace-time 'imap://127.0.0.1:40785/822/;MAILINDEX=1' -u testuser:testpass > log/9/stdout822 2> log/9/stderr822 822: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 822 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind822 ../src/curl -q --output log/9/curl822.out --include --trace-ascii log/9/trace822 --trace-time 'imap://127.0.0.1:40785/822/;MAILINDEX=1' -u testuser:testpass > log/9/stdout822 2> log/9/stderr822 === End of file commands.log === Start of file imap_server.log 14:54:04.004284 ====> Client connect 14:54:04.004477 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.004839 < "A001 CAPABILITY" 14:54:04.004886 > "A001 BAD Command[CR][LF]" 14:54:04.005095 < "A002 LIST "verifiedserver" *" 14:54:04.005130 LIST_imap got "verifiedserver" * 14:54:04.005159 > "* LIST () "/" "WE ROOLZ: 117181"[CR][LF]" 14:54:04.005180 > "A002 OK LIST Completed[CR][LF]" 14:54:04.005196 return proof we are we 14:54:04.050604 < "A003 LOGOUT" 14:54:04.050652 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.050669 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.051499 MAIN sockfilt said DISC 14:54:04.051530 ====> Client disconnected 14:54:04.051591 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.086968 ====> Client connect 14:54:04.087310 Received DATA (on stdin) 14:54:04.087329 > 178 bytes data, server => client 14:54:04.087344 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.087357 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.087369 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.087379 'rve\r\n' 14:54:04.087467 < 17 bytes data, client => server 14:54:04.087485 'A001 CAPABILITY\r\n' 14:54:04.087706 Received DATA (on stdin) 14:54:04.087722 > 18 bytes data, server => client 14:54:04.087734 'A001 BAD Command\r\n' 14:54:04.087797 < 30 bytes data, client => server 14:54:04.087813 'A002 LIST "verifiedserver" *\r\n' 14:54:04.088011 Received DATA (on stdin) 14:54:04.088026 > 34 bytes data, server => client 14:54:04.088039 '* LIST () "/" "WE ROOLZ: 117181"\r\n' 14:54:04.088063 Received DATA (on stdin) 14:54:04.088075 > 24 bytes data, server => client 14:54:04.088087 'A002 OK LIST Completed\r\n' 14:54:04.133246 < 13 bytes data, client => server 14:54:04.133273 'A003 LOGOUT\r\n' 14:54:04.133482 Received DATA (on stdin) 14:54:04.133493 > 36 bytes data, server => client 14:54:04.133502 '* BYE curl IMAP server signing off\r\n' 14:54:04.133521 Received DATA (on stdin) 14:54:04.133530 > 26 bytes data, server => client 14:54:04.133538 'A003 OK LOGOUT completed\r\n' 14:54:04.134228 ====> Client disconnect 14:54:04.134401 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 822 === End of file server.cmd === Start of file valgrind822 ==118681== ==118681== Process terminating with default action of signal 4 (SIGILL) ==118681== Illegal opcode at address 0x4014B6F ==118681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118681== by 0x4004266: main (tool_main.c:199) === End of file valgrind822 test 0821...[IMAP CRAM-MD5 authentication] .CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind824 ../src/curl -q --output log/10/curl824.out --include --trace-ascii log/10/trace824 --trace-time 'imap://127.0.0.1:40503/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout824 2> log/10/stderr824 ./libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37633/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 821: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 821 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37633/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 === End of file commands.log === Start of file imap_server.log 14:54:03.983921 ====> Client connect 14:54:03.984073 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:03.984465 < "A001 CAPABILITY" 14:54:03.984504 > "A001 BAD Command[CR][LF]" 14:54:03.984861 < "A002 LIST "verifiedserver" *" 14:54:03.984914 LIST_imap got "verifiedserver" * 14:54:03.984949 > "* LIST () "/" "WE ROOLZ: 109672"[CR][LF]" 14:54:03.984971 > "A002 OK LIST Completed[CR][LF]" 14:54:03.984987 return proof we are we 14:54:04.029901 < "A003 LOGOUT" 14:54:04.029957 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.029981 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.030828 MAIN sockfilt said DISC 14:54:04.030871 ====> Client disconnected 14:54:04.030935 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.066631 ====> Client connect 14:54:04.066902 Received DATA (on stdin) 14:54:04.066920 > 178 bytes data, server => client 14:54:04.066934 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.066946 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.066958 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.066969 'rve\r\n' 14:54:04.067114 < 17 bytes data, client => server 14:54:04.067131 'A001 CAPABILITY\r\n' 14:54:04.067326 Received DATA (on stdin) 14:54:04.067342 > 18 bytes data, server => client 14:54:04.067355 'A001 BAD Command\r\n' 14:54:04.067419 < 30 bytes data, client => server 14:54:04.067435 'A002 LIST "verifiedserver" *\r\n' 14:54:04.067744 Received DATA (on stdin) 14:54:04.067761 > 34 bytes data, server => client 14:54:04.067774 '* LIST () "/" "WE ROOLZ: 109672"\r\n' 14:54:04.067798 Received DATA (on stdin) 14:54:04.067811 > 24 bytes data, server => client 14:54:04.067823 'A002 OK LIST Completed\r\n' 14:54:04.112540 < 13 bytes data, client => server 14:54:04.112567 'A003 LOGOUT\r\n' 14:54:04.112765 Received DATA (on stdin) 14:54:04.112787 > 36 bytes data, server => client 14:54:04.112800 '* BYE curl IMAP server signing off\r\n' 14:54:04.112830 Received DATA (on stdin) 14:54:04.112841 > 26 bytes data, server => client 14:54:04.112853 'A003 OK LOGOUT completed\r\n' 14:54:04.113585 ====> Client disconnect 14:54:04.113725 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed Testnum 821 === End of file server.cmd === Start of file valgrind821 ==118647== ==118647== Process terminating with default action of signal 4 (SIGILL) ==118647== Illegal opcode at address 0x4014B6F ==118647== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118647== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118647== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118647== by 0x4004266: main (tool_main.c:199) === End of file valgrind821 test 0824...[IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind824 ../src/curl -q --output log/10/curl824.out --include --trace-ascii log/10/trace824 --trace-time 'imap://127.0.0.1:40503/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout824 2> log/10/stderr824 824: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind824 ../src/curl -q --output log/10/curl824.out --include --trace-ascii log/10/trace824 --trace-time 'imap://127.0.0.1:40503/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout824 2> log/10/stderr824 === End of file commands.log === Start of file imap_server.log 14:54:04.007965 ====> Client connect 14:54:04.008105 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.008430 < "A001 CAPABILITY" 14:54:04.008469 > "A001 BAD Command[CR][LF]" 14:54:04.008657 < "A002 LIST "verifiedserver" *" 14:54:04.008686 LIST_imap got "verifiedserver" * 14:54:04.008713 > "* LIST () "/" "WE ROOLZ: 111033"[CR][LF]" 14:54:04.008733 > "A002 OK LIST Completed[CR][LF]" 14:54:04.008748 return proof we are we 14:54:04.053983 < "A003 LOGOUT" 14:54:04.054035 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.054057 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.054295 MAIN sockfilt said DISC 14:54:04.054348 ====> Client disconnected 14:54:04.054413 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.090683 ====> Client connect 14:54:04.090934 Received DATA (on stdin) 14:54:04.090952 > 178 bytes data, server => client 14:54:04.090966 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.090978 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.090990 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.091001 'rve\r\n' 14:54:04.091076 < 17 bytes data, client => server 14:54:04.091092 'A001 CAPABILITY\r\n' 14:54:04.091288 Received DATA (on stdin) 14:54:04.091302 > 18 bytes data, server => client 14:54:04.091314 'A001 BAD Command\r\n' 14:54:04.091373 < 30 bytes data, client => server 14:54:04.091388 'A002 LIST "verifiedserver" *\r\n' 14:54:04.091563 Received DATA (on stdin) 14:54:04.091577 > 34 bytes data, server => client 14:54:04.091594 '* LIST () "/" "WE ROOLZ: 111033"\r\n' 14:54:04.091617 Received DATA (on stdin) 14:54:04.091630 > 24 bytes data, server => client 14:54:04.091642 'A002 OK LIST Completed\r\n' 14:54:04.136631 < 13 bytes data, client => server 14:54:04.136656 'A003 LOGOUT\r\n' 14:54:04.136874 Received DATA (on stdin) 14:54:04.136888 > 36 bytes data, server => client 14:54:04.136901 '* BYE curl IMAP server signing off\r\n' 14:54:04.136925 Received DATA (on stdin) 14:54:04.136936 > 26 bytes data, server => client 14:54:04.136948 'A003 OK LOGOUT completed\r\n' 14:54:04.137042 ====> Client disconnect 14:54:04.137227 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed Testnum 824 === End of file server.cmd === Start of file valgrind824 ==118687== ==118687== Process terminating with default action of signal 4 (SIGILL) ==118687== Illegal opcode at address 0x4014B6F ==118687== at 0x4014B6F: getparameter (tool_getCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind825 ../src/curl -q --output log/20/curl825.out --include --trace-ascii log/20/trace825 --trace-time 'imap://127.0.0.1:45915/825/;MAILINDEX=1' -u user:secret > log/20/stdout825 2> log/20/stderr825 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind826 ../src/curl -q --output log/8/curl826.out --include --trace-ascii log/8/trace826 --trace-time 'imap://127.0.0.1:42141/826/;MAILINDEX=1' -u user:secret > log/8/stdout826 2> log/8/stderr826 param.c:2830) ==118687== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118687== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118687== by 0x4004266: main (tool_main.c:199) === End of file valgrind824 test 0825...[IMAP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind825 ../src/curl -q --output log/20/curl825.out --include --trace-ascii log/20/trace825 --trace-time 'imap://127.0.0.1:45915/825/;MAILINDEX=1' -u user:secret > log/20/stdout825 2> log/20/stderr825 825: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 825 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind825 ../src/curl -q --output log/20/curl825.out --include --trace-ascii log/20/trace825 --trace-time 'imap://127.0.0.1:45915/825/;MAILINDEX=1' -u user:secret > log/20/stdout825 2> log/20/stderr825 === End of file commands.log === Start of file imap_server.log 14:54:04.016960 ====> Client connect 14:54:04.017148 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.017468 < "A001 CAPABILITY" 14:54:04.017506 > "A001 BAD Command[CR][LF]" 14:54:04.017677 < "A002 LIST "verifiedserver" *" 14:54:04.017710 LIST_imap got "verifiedserver" * 14:54:04.017736 > "* LIST () "/" "WE ROOLZ: 117171"[CR][LF]" 14:54:04.017756 > "A002 OK LIST Completed[CR][LF]" 14:54:04.017771 return proof we are we 14:54:04.066293 < "A003 LOGOUT" 14:54:04.066350 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.066372 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.066833 MAIN sockfilt said DISC 14:54:04.066865 ====> Client disconnected 14:54:04.066937 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.099674 ====> Client connect 14:54:04.099976 Received DATA (on stdin) 14:54:04.099991 > 178 bytes data, server => client 14:54:04.100005 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.100017 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.100029 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.100039 'rve\r\n' 14:54:04.100113 < 17 bytes data, client => server 14:54:04.100126 'A001 CAPABILITY\r\n' 14:54:04.100321 Received DATA (on stdin) 14:54:04.100333 > 18 bytes data, server => client 14:54:04.100345 'A001 BAD Command\r\n' 14:54:04.100399 < 30 bytes data, client => server 14:54:04.100412 'A002 LIST "verifiedserver" *\r\n' 14:54:04.100584 Received DATA (on stdin) 14:54:04.100597 > 34 bytes data, server => client 14:54:04.100608 '* LIST () "/" "WE ROOLZ: 117171"\r\n' 14:54:04.100629 Received DATA (on stdin) 14:54:04.100640 > 24 bytes data, server => client 14:54:04.100652 'A002 OK LIST Completed\r\n' 14:54:04.148923 < 13 bytes data, client => server 14:54:04.148948 'A003 LOGOUT\r\n' 14:54:04.149186 Received DATA (on stdin) 14:54:04.149212 > 36 bytes data, server => client 14:54:04.149224 '* BYE curl IMAP server signing off\r\n' 14:54:04.149252 Received DATA (on stdin) 14:54:04.149263 > 26 bytes data, server => client 14:54:04.149274 'A003 OK LOGOUT completed\r\n' 14:54:04.149591 ====> Client disconnect 14:54:04.149750 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 825 === End of file server.cmd === Start of file valgrind825 ==118743== ==118743== Process terminating with default action of signal 4 (SIGILL) ==118743== Illegal opcode at address 0x4014B6F ==118743== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118743== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118743== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118743== by 0x4004266: main (tool_main.c:199) === End of file valgrind825 test 0826...[IMAP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind826 ../src/curl -q --output log/8/curl826.out --include --trace-ascii log/8/trace826 --trace-time 'imap://127.0.0.1:42141/826/;MAILINDEX=1' -u user:secret > log/8/stdout826 2> log/8/stderr826 826: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 826 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind826 ../src/curl -q --output log/8/curl826.out --include --trace-ascii log/8/trace826 --trace-time 'imap://127.0.0.1:42141/826/;MAILINDEX=1' -u user:secret > log/8/stdout826 2> log/8/stderr826 === End of file commands.log === Start of file imap_server.log 14:54:04.036282 ====> Client connect 14:54:04.036410 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.036742 < "A001 CAPABILITY" 14:54:04.036790 > "A001 BAD Command[CR][LF]" 14:54:04.037031 < "A002 LIST "verifiedserver" *" 14:54:04.037068 LIST_imap got "verifiedserver" * 14:54:04.037097 > "* LIST () "/" "WE ROOLZ: 117227"[CR][LF]" 14:54:04.037119 > "A002 OK LIST Completed[CR][LF]" 14:54:04.037134 return proof we are we 14:54:04.084190 < "A003 LOGOUT" 14:54:04.084256 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.084278 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.084726 MAIN sockfilt said DISC 14:54:04.084754 ====> Client disconnected 14:54:04.084828 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.119003 ====> Client connect 14:54:04.119231 Received DATA (on stdin) 14:54:04.119244 > 178 bytes data, server => client 14:54:04.119254 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.119263 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.119272 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.119280 'rve\r\n' 14:54:04.119344 < 17 bytes data, client => server 14:54:04.119354 'A001 CAPABILITY\r\n' 14:54:04.119609 Received DATA (on stdin) 14:54:04.119624 > 18 bytes data, server => client 14:54:04.119636 'A001 BAD Command\r\n' 14:54:04.119720 < 30 bytes data, client => server 14:54:04.119741 'A002 LIST "verifiedserver" *\r\n' 14:54:04.119950 Received DATA (on stdin) 14:54:04.119964 > 34 bytes data, server => client 14:54:04.119977 '* LIST () "/" "WE ROOLZ: 117227"\r\n' 14:54:04.120001 Received DATA (on stdin) 14:54:04.120013 > 24 bytes data, server => client 14:54:04.120025 'A002 OK LIST Completed\r\n' 14:54:04.166839 < 13 bytes data, client => server 14:54:04.166870 'A003 LOGOUT\r\n' 14:54:04.167099 Received DATA (on stdin) 14:54:04.167119 > 36 bytes data, server => client 14:54:04.167131 '* BYE curl IMAP server signing off\r\n' 14:54:04.167156 Received DATA (on stdin) 14:54:04.167167 > 26 bytes data, server => client 14:54:04.167178 'A003 OK LOGOUT completed\r\n' 14:54:04.167484 ====> Client disconnect 14:54:04.167646 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN CAPA SASL-IR REPLY AUTHENTICATE + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 826 === End of file server.cmd === Start of file valgrind826 ==118818== ==118818== Process terminatinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind829 ../src/curl -q --output log/24/curl829.out --include --trace-ascii log/24/trace829 --trace-time imap://127.0.0.1:37197/%0d%0a/829 > log/24/stdout829 2> log/24/stderr829 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind827 ../src/curl -q --output log/14/curl827.out --include --trace-ascii log/14/trace827 --trace-time 'imap://127.0.0.1:43479/827/;MAILINDEX=1' -u testuser:testpass > log/14/stdout827 2> log/14/stderr827 g with default action of signal 4 (SIGILL) ==118818== Illegal opcode at address 0x4014B6F ==118818== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118818== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118818== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118818== by 0x4004266: main (tool_main.c:199) === End of file valgrind826 test 0829...[IMAP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind829 ../src/curl -q --output log/24/curl829.out --include --trace-ascii log/24/trace829 --trace-time imap://127.0.0.1:37197/%0d%0a/829 > log/24/stdout829 2> log/24/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/24/ dir after test 829 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind829 ../src/curl -q --output log/24/curl829.out --include --trace-ascii log/24/trace829 --trace-time imap://127.0.0.1:37197/%0d%0a/829 > log/24/stdout829 2> log/24/stderr829 === End of file commands.log === Start of file imap_server.log 14:54:04.178487 ====> Client connect 14:54:04.178661 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.178981 < "A001 CAPABILITY" 14:54:04.179024 > "A001 BAD Command[CR][LF]" 14:54:04.179213 < "A002 LIST "verifiedserver" *" 14:54:04.179245 LIST_imap got "verifiedserver" * 14:54:04.179273 > "* LIST () "/" "WE ROOLZ: 117279"[CR][LF]" 14:54:04.179296 > "A002 OK LIST Completed[CR][LF]" 14:54:04.179313 return proof we are we 14:54:04.224983 < "A003 LOGOUT" 14:54:04.225041 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.225067 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.225969 MAIN sockfilt said DISC 14:54:04.226001 ====> Client disconnected 14:54:04.226061 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.261194 ====> Client connect 14:54:04.261489 Received DATA (on stdin) 14:54:04.261506 > 178 bytes data, server => client 14:54:04.261519 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.261531 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.261542 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.261552 'rve\r\n' 14:54:04.261625 < 17 bytes data, client => server 14:54:04.261641 'A001 CAPABILITY\r\n' 14:54:04.261843 Received DATA (on stdin) 14:54:04.261857 > 18 bytes data, server => client 14:54:04.261868 'A001 BAD Command\r\n' 14:54:04.261929 < 30 bytes data, client => server 14:54:04.261945 'A002 LIST "verifiedserver" *\r\n' 14:54:04.262127 Received DATA (on stdin) 14:54:04.262140 > 34 bytes data, server => client 14:54:04.262152 '* LIST () "/" "WE ROOLZ: 117279"\r\n' 14:54:04.262174 Received DATA (on stdin) 14:54:04.262186 > 24 bytes data, server => client 14:54:04.262197 'A002 OK LIST Completed\r\n' 14:54:04.307617 < 13 bytes data, client => server 14:54:04.307641 'A003 LOGOUT\r\n' 14:54:04.307885 Received DATA (on stdin) 14:54:04.307900 > 36 bytes data, server => client 14:54:04.307912 '* BYE curl IMAP server signing off\r\n' 14:54:04.307936 Received DATA (on stdin) 14:54:04.307948 > 26 bytes data, server => client 14:54:04.307959 'A003 OK LOGOUT completed\r\n' 14:54:04.308721 ====> Client disconnect 14:54:04.308882 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 829 === End of file server.cmd === Start of file valgrind829 ==118983== ==118983== Process terminating with default action of signal 4 (SIGILL) ==118983== Illegal opcode at address 0x4014B6F ==118983== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118983== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118983== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118983== by 0x4004266: main (tool_main.c:199) === End of file valgrind829 test 0827...[IMAP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind827 ../src/curl -q --output log/14/curl827.out --include --trace-ascii log/14/trace827 --trace-time 'imap://127.0.0.1:43479/827/;MAILINDEX=1' -u testuser:testpass > log/14/stdout827 2> log/14/stderr827 827: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 827 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind827 ../src/curl -q --output log/14/curl827.out --include --trace-ascii log/14/trace827 --trace-time 'imap://127.0.0.1:43479/827/;MAILINDEX=1' -u testuser:testpass > log/14/stdout827 2> log/14/stderr827 === End of file commands.log === Start of file imap_server.log 14:54:04.168243 ====> Client connect 14:54:04.168394 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.168680 < "A001 CAPABILITY" 14:54:04.168714 > "A001 BAD Command[CR][LF]" 14:54:04.168881 < "A002 LIST "verifiedserver" *" 14:54:04.168907 LIST_imap got "verifiedserver" * 14:54:04.168932 > "* LIST () "/" "WE ROOLZ: 109363"[CR][LF]" 14:54:04.168950 > "A002 OK LIST Completed[CR][LF]" 14:54:04.168964 return proof we are we 14:54:04.210554 < "A003 LOGOUT" 14:54:04.210607 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.210626 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.211406 MAIN sockfilt said DISC 14:54:04.211431 ====> Client disconnected 14:54:04.211500 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:03.250954 ====> Client connect 14:54:03.251220 Received DATA (on stdin) 14:54:03.251235 > 178 bytes data, server => client 14:54:03.251249 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:03.251261 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:03.251272 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:03.251283 'rve\r\n' 14:54:03.251354 < 17 bytes data, client => server 14:54:03.251367 'A001 CAPABILITY\r\n' 14:54:03.251528 Received DATA (on stdin) 14:54:03.251541 > 18 bytes data, server => client 14:54:03.251552 'A001 BAD Command\r\n' 14:54:03.251607 < 30 bytes data, client => server 14:54:03.251620 'A002 LIST "verifiedserver" *\r\n' 14:54:03.251777 Received DATA (on stdin) 14:54:03.251789 > 34 bytes data, server => client 14:54:03.251801 '* LIST () "/" "WE ROOLZ: 109363"\r\n' 14:54:03.251823 Received DATA (on stdin) 14:54:03.251834 > 24 bytes data, server => client 14:54:03.251846 'A002 OK LIST Completed\r\n' 14:54:03.293191 < 13 bytes data, client => server 14:54:03.293217 'A003 LOGOUT\r\n' 14:54:03.293440 Received DATA (on stdin) 14:54:03.293452 > 36 bytes data, server => client 14:54:03.293463 '* BYE curl IMAP server signing off\r\n' 14:54:03.293483 Received DATA (on stdin) 14:54:03.293494 > 26 bytes data, server => client 14:54:03.293505 'A003 OK LOGOUT completed\r\n' 14:54:03.294173 ====> Client disconnect 14:54:03.294311 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA SASL-IR REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind828 ../src/curl -q --output log/18/curl828.out --include --trace-ascii log/18/trace828 --trace-time 'imap://127.0.0.1:36775/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout828 2> log/18/stderr828 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind830 ../src/curl -q --output log/5/curl830.out --include --trace-ascii log/5/trace830 --trace-time 'imap://127.0.0.1:45443/830/;MAILINDEX=1' -u user:secret > log/5/stdout830 2> log/5/stderr830 LY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 827 === End of file server.cmd === Start of file valgrind827 ==118952== ==118952== Process terminating with default action of signal 4 (SIGILL) ==118952== Illegal opcode at address 0x4014B6F ==118952== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118952== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118952== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118952== by 0x4004266: main (tool_main.c:199) === End of file valgrind827 test 0828...[IMAP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind828 ../src/curl -q --output log/18/curl828.out --include --trace-ascii log/18/trace828 --trace-time 'imap://127.0.0.1:36775/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout828 2> log/18/stderr828 828: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 828 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind828 ../src/curl -q --output log/18/curl828.out --include --trace-ascii log/18/trace828 --trace-time 'imap://127.0.0.1:36775/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout828 2> log/18/stderr828 === End of file commands.log === Start of file imap_server.log 14:54:04.178602 ====> Client connect 14:54:04.178756 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.179071 < "A001 CAPABILITY" 14:54:04.179115 > "A001 BAD Command[CR][LF]" 14:54:04.179308 < "A002 LIST "verifiedserver" *" 14:54:04.179341 LIST_imap got "verifiedserver" * 14:54:04.179369 > "* LIST () "/" "WE ROOLZ: 117284"[CR][LF]" 14:54:04.179387 > "A002 OK LIST Completed[CR][LF]" 14:54:04.179402 return proof we are we 14:54:04.223841 < "A003 LOGOUT" 14:54:04.223894 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.223914 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.225066 MAIN sockfilt said DISC 14:54:04.225107 ====> Client disconnected 14:54:04.225177 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.261194 ====> Client connect 14:54:04.261585 Received DATA (on stdin) 14:54:04.261602 > 178 bytes data, server => client 14:54:04.261615 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.261627 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.261639 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.261649 'rve\r\n' 14:54:04.261724 < 17 bytes data, client => server 14:54:04.261738 'A001 CAPABILITY\r\n' 14:54:04.261937 Received DATA (on stdin) 14:54:04.261950 > 18 bytes data, server => client 14:54:04.261962 'A001 BAD Command\r\n' 14:54:04.262017 < 30 bytes data, client => server 14:54:04.262030 'A002 LIST "verifiedserver" *\r\n' 14:54:04.262216 Received DATA (on stdin) 14:54:04.262228 > 34 bytes data, server => client 14:54:04.262240 '* LIST () "/" "WE ROOLZ: 117284"\r\n' 14:54:04.262262 Received DATA (on stdin) 14:54:04.262273 > 24 bytes data, server => client 14:54:04.262284 'A002 OK LIST Completed\r\n' 14:54:04.306478 < 13 bytes data, client => server 14:54:04.306504 'A003 LOGOUT\r\n' 14:54:04.306730 Received DATA (on stdin) 14:54:04.306744 > 36 bytes data, server => client 14:54:04.306756 '* BYE curl IMAP server signing off\r\n' 14:54:04.306781 Received DATA (on stdin) 14:54:04.306792 > 26 bytes data, server => client 14:54:04.306803 'A003 OK LOGOUT completed\r\n' 14:54:04.307812 ====> Client disconnect 14:54:04.309733 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 828 === End of file server.cmd === Start of file valgrind828 ==118984== ==118984== Process terminating with default action of signal 4 (SIGILL) ==118984== Illegal opcode at address 0x4014B6F ==118984== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==118984== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==118984== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==118984== by 0x4004266: main (tool_main.c:199) === End of file valgrind828 test 0830...[IMAP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind830 ../src/curl -q --output log/5/curl830.out --include --trace-ascii log/5/trace830 --trace-time 'imap://127.0.0.1:45443/830/;MAILINDEX=1' -u user:secret > log/5/stdout830 2> log/5/stderr830 830: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 830 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind830 ../src/curl -q --output log/5/curl830.out --include --trace-ascii log/5/trace830 --trace-time 'imap://127.0.0.1:45443/830/;MAILINDEX=1' -u user:secret > log/5/stdout830 2> log/5/stderr830 === End of file commands.log === Start of file imap_server.log 14:54:04.237683 ====> Client connect 14:54:04.237904 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.238228 < "A001 CAPABILITY" 14:54:04.238272 > "A001 BAD Command[CR][LF]" 14:54:04.238442 < "A002 LIST "verifiedserver" *" 14:54:04.238471 LIST_imap got "verifiedserver" * 14:54:04.238495 > "* LIST () "/" "WE ROOLZ: 117283"[CR][LF]" 14:54:04.238515 > "A002 OK LIST Completed[CR][LF]" 14:54:04.238530 return proof we are we 14:54:04.280864 < "A003 LOGOUT" 14:54:04.280929 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.280953 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.281256 MAIN sockfilt said DISC 14:54:04.281285 ====> Client disconnected 14:54:04.281362 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.320361 ====> Client connect 14:54:04.320733 Received DATA (on stdin) 14:54:04.320749 > 178 bytes data, server => client 14:54:04.320763 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.320776 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.320788 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.320798 'rve\r\n' 14:54:04.320879 < 17 bytes data, client => server 14:54:04.320891 'A001 CAPABILITY\r\n' 14:54:04.321086 Received DATA (on stdin) 14:54:04.321099 > 18 bytes data, server => client 14:54:04.321111 'A001 BAD Command\r\n' 14:54:04.321167 < 30 bytes data, client => server 14:54:04.321180 'A002 LIST "verifiedserver" *\r\n' 14:54:04.321342 Received DATA (on stdin) 14:54:04.321355 > 34 bytes data, server => client 14:54:04.321367 '* LIST () "/" "WE ROOLZ: 117283"\r\n' 14:54:04.321388 Received DATA (on stdin) 14:54:04.321399 > 24 bytes data, server => client 14:54:04.321411 'A002 OK LIST Completed\r\n' 14:54:04.363457 < 13 bytes data, client => server 14:54:04.363496 'A003 LOGOUT\r\n' 14:54:04.363771 Received DATA (on stdin) 14:54:04.363786 > 36 bytes data, server => client 14:54:04.363798 '* BYE curl IMAP server signCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind831 ../src/curl -q --output log/2/curl831.out --include --trace-ascii log/2/trace831 --trace-time 'imap://127.0.0.1:36469/831/;MAILINDEX=1' -u testuser:testpass > log/2/stdout831 2> log/2/stderr831 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind724 ../src/curl -q --output log/15/curl724.out --include --trace-ascii log/15/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout724 2> log/15/stderr724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind839 ../src/curl -q --output log/4/curl839.out --include --trace-ascii log/4/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34035/839/;MAILINDEX=1' > log/4/stdout839 2> log/4/stderr839 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-time 'imap://127.0.0.1:36847/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind838 ../src/curl -q --output log/12/curl838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40003/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/stderr838 ing off\r\n' 14:54:04.363825 Received DATA (on stdin) 14:54:04.363837 > 26 bytes data, server => client 14:54:04.363849 'A003 OK LOGOUT completed\r\n' 14:54:04.363983 ====> Client disconnect 14:54:04.364185 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 CAPA LOGINDISABLED REPLY AUTHENTICATE + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 830 === End of file server.cmd === Start of file valgrind830 ==119113== ==119113== Process terminating with default action of signal 4 (SIGILL) ==119113== Illegal opcode at address 0x4014B6F ==119113== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119113== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119113== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119113== by 0x4004266: main (tool_main.c:199) === End of file valgrind830 test 0831...[IMAP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind831 ../src/curl -q --output log/2/curl831.out --include --trace-ascii log/2/trace831 --trace-time 'imap://127.0.0.1:36469/831/;MAILINDEX=1' -u testuser:testpass > log/2/stdout831 2> log/2/stderr831 831: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 831 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind831 ../src/curl -q --output log/2/curl831.out --include --trace-ascii log/2/trace831 --trace-time 'imap://127.0.0.1:36469/831/;MAILINDEX=1' -u testuser:testpass > log/2/stdout831 2> log/2/stderr831 === End of file commands.log === Start of file imap_server.log 14:54:04.339453 ====> Client connect 14:54:04.339648 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.339981 < "A001 CAPABILITY" 14:54:04.340021 > "A001 BAD Command[CR][LF]" 14:54:04.340278 < "A002 LIST "verifiedserver" *" 14:54:04.340315 LIST_imap got "verifiedserver" * 14:54:04.340346 > "* LIST () "/" "WE ROOLZ: 117293"[CR][LF]" 14:54:04.340368 > "A002 OK LIST Completed[CR][LF]" 14:54:04.340383 return proof we are we 14:54:04.385574 < "A003 LOGOUT" 14:54:04.385620 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.385639 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.386634 MAIN sockfilt said DISC 14:54:04.386668 ====> Client disconnected 14:54:04.386729 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.422160 ====> Client connect 14:54:04.422478 Received DATA (on stdin) 14:54:04.422495 > 178 bytes data, server => client 14:54:04.422509 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.422525 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.422537 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.422547 'rve\r\n' 14:54:04.422625 < 17 bytes data, client => server 14:54:04.422642 'A001 CAPABILITY\r\n' 14:54:04.422839 Received DATA (on stdin) 14:54:04.422854 > 18 bytes data, server => client 14:54:04.422866 'A001 BAD Command\r\n' 14:54:04.422925 < 30 bytes data, client => server 14:54:04.422940 'A002 LIST "verifiedserver" *\r\n' 14:54:04.423199 Received DATA (on stdin) 14:54:04.423214 > 34 bytes data, server => client 14:54:04.423226 '* LIST () "/" "WE ROOLZ: 117293"\r\n' 14:54:04.423253 Received DATA (on stdin) 14:54:04.423264 > 24 bytes data, server => client 14:54:04.423277 'A002 OK LIST Completed\r\n' 14:54:04.468209 < 13 bytes data, client => server 14:54:04.468232 'A003 LOGOUT\r\n' 14:54:04.468462 Received DATA (on stdin) 14:54:04.468474 > 36 bytes data, server => client 14:54:04.468484 '* BYE curl IMAP server signing off\r\n' 14:54:04.468502 Received DATA (on stdin) 14:54:04.468510 > 26 bytes data, server => client 14:54:04.468519 'A003 OK LOGOUT completed\r\n' 14:54:04.469389 ====> Client disconnect 14:54:04.469539 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA LOGINDISABLED REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 831 === End of file server.cmd === Start of file valgrind831 ==119186== ==119186== Process terminating with default action of signal 4 (SIGILL) ==119186== Illegal opcode at address 0x4014B6F ==119186== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119186== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119186== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119186== by 0x4004266: main (tool_main.c:199) === End of file valgrind831 setenv HOME = /startdir/src/build-curl/tests/log/15 test 0724...[IPFS with gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind724 ../src/curl -q --output log/15/curl724.out --include --trace-ascii log/15/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout724 2> log/15/stderr724 724: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 724 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind724 ../src/curl -q --output log/15/curl724.out --include --trace-ascii log/15/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout724 2> log/15/stderr724 === End of file commands.log === Start of file http_server.log 14:53:59.114459 ====> Client connect 14:53:59.114480 accept_connection 3 returned 4 14:53:59.114492 accept_connection 3 returned 0 14:53:59.114502 Read 93 bytes 14:53:59.114509 Process 93 bytes request 14:53:59.114517 Got request: GET /verifiedserver HTTP/1.1 14:53:59.114524 Are-we-friendly question received 14:53:59.114540 Wrote request (93 bytes) input to log/15/server.input 14:53:59.114551 Identifying ourselves as friends 14:53:59.114585 Response sent (56 bytes) and written to log/15/server.response 14:53:59.114592 special request received, no persistency 14:53:59.114599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 47416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 724 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind724 ==112985== ==112985== Process terminating with default action of signal 4 (SIGILL) ==112985== Illegal opcode at address 0x4014B6F ==112985== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==112985== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==112985== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==112985== by 0x4004266: main (tool_main.c:199) === End of file valgrind724 test 0839...[IMAP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind839 ../src/curl -q --output log/4/curl839.out --include --trace-ascii log/4/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34035/839/;MAILINDEX=1' > log/4/stdout839 2> log/4/stderr839 839: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 839 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind839 ../src/curl -q --output log/4/curl839.out --include --trace-ascii log/4/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34035/839/;MAILINDEX=1' > log/4/stdout839 2> log/4/stderr839 === End of file commands.log === Start of file imap_server.log 14:54:04.523665 ====> Client connect 14:54:04.523813 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.524246 < "A001 CAPABILITY" 14:54:04.524299 > "A001 BAD Command[CR][LF]" 14:54:04.524440 < "A002 LIST "verifiedserver" *" 14:54:04.524466 LIST_imap got "verifiedserver" * 14:54:04.524488 > "* LIST () "/" "WE ROOLZ: 117423"[CR][LF]" 14:54:04.524503 > "A002 OK LIST Completed[CR][LF]" 14:54:04.524514 return proof we are we 14:54:04.567531 < "A003 LOGOUT" 14:54:04.567595 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.567617 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.567991 MAIN sockfilt said DISC 14:54:04.568018 ====> Client disconnected 14:54:04.568093 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.606350 ====> Client connect 14:54:04.606635 Received DATA (on stdin) 14:54:04.606648 > 178 bytes data, server => client 14:54:04.606659 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.606668 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.606677 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.606685 'rve\r\n' 14:54:04.606861 < 17 bytes data, client => server 14:54:04.606880 'A001 CAPABILITY\r\n' 14:54:04.607101 Received DATA (on stdin) 14:54:04.607117 > 18 bytes data, server => client 14:54:04.607127 'A001 BAD Command\r\n' 14:54:04.607173 < 30 bytes data, client => server 14:54:04.607183 'A002 LIST "verifiedserver" *\r\n' 14:54:04.607323 Received DATA (on stdin) 14:54:04.607332 > 34 bytes data, server => client 14:54:04.607341 '* LIST () "/" "WE ROOLZ: 117423"\r\n' 14:54:04.607358 Received DATA (on stdin) 14:54:04.607366 > 24 bytes data, server => client 14:54:04.607375 'A002 OK LIST Completed\r\n' 14:54:04.650161 < 13 bytes data, client => server 14:54:04.650185 'A003 LOGOUT\r\n' 14:54:04.650433 Received DATA (on stdin) 14:54:04.650447 > 36 bytes data, server => client 14:54:04.650459 '* BYE curl IMAP server signing off\r\n' 14:54:04.650493 Received DATA (on stdin) 14:54:04.650505 > 26 bytes data, server => client 14:54:04.650518 'A003 OK LOGOUT completed\r\n' 14:54:04.650750 ====> Client disconnect 14:54:04.650910 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 839 === End of file server.cmd === Start of file valgrind839 ==119430== ==119430== Process terminating with default action of signal 4 (SIGILL) ==119430== Illegal opcode at address 0x4014B6F ==119430== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119430== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119430== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119430== by 0x4004266: main (tool_main.c:199) === End of file valgrind839 test 0838...[IMAP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind838 ../src/curl -q --output log/12/curl838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40003/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/stderr838 838: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 838 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind838 ../src/curl -q --output log/12/curl838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40003/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/stderr838 === End of file commands.log === Start of file imap_server.log 14:54:04.510403 ====> Client connect 14:54:04.510614 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.511034 < "A001 CAPABILITY" 14:54:04.511085 > "A001 BAD Command[CR][LF]" 14:54:04.511260 < "A002 LIST "verifiedserver" *" 14:54:04.511290 LIST_imap got "verifiedserver" * 14:54:04.511316 > "* LIST () "/" "WE ROOLZ: 117371"[CR][LF]" 14:54:04.511336 > "A002 OK LIST Completed[CR][LF]" 14:54:04.511350 return proof we are we 14:54:04.559342 < "A003 LOGOUT" 14:54:04.559401 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.559423 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.560418 MAIN sockfilt said DISC 14:54:04.560446 ====> Client disconnected 14:54:04.560518 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.593060 ====> Client connect 14:54:04.593439 Received DATA (on stdin) 14:54:04.593467 > 178 bytes data, server => client 14:54:04.593482 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.593511 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.593523 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.593534 'rve\r\n' 14:54:04.593657 < 17 bytes data, client => server 14:54:04.593673 'A001 CAPABILITY\r\n' 14:54:04.593902 Received DATA (on stdin) 14:54:04.593916 > 18 bytes data, server => client 14:54:04.593927 'A001 BAD Command\r\n' 14:54:04.593985 < 30 bytes data, client => server 14:54:04.593997 'A002 LIST "verifiedserver" *\r\n' 14:54:04.594162 Received DATA (on stdin) 14:54:04.594174 > 34 bytes data, server => client 14:54:04.594185 '* LIST () "/" "WE ROOLZ: 117371"\r\n' 14:54:04.594205 Received DATA (on stdin) 14:54:04.594214 > 24 bytes data, server => client 14:54:04.594225 'A002 OK LIST Completed\r\n' 14:54:04.641948 < 13 bytes data, client => server 14:54:04.641986 'A003 LOGOUT\r\n' 14:54:04.642243 Received DATA (on stdin) 14:54:04.642262 > 36 bytes data, server => client 14:54:04.642274 '* BYE curl IMAP server signing off\r\n' 14:54:04.642301 Received DATA (on stdin) 14:54:04.642313 > 26 bytes data, server => client 14:54:04.642323 'A003 OK LOGOUT completed\r\n' 14:54:04.643174 ====> Client disconnect 14:54:04.643331 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY = A002 OK AUTHENTICATE completed Testnum 838 === End of file server.cmd === Start of file valgrind838 ==119404== ==119404== Process terminating with default action of signal 4 (SIGILL) ==119404== Illegal opcode at address 0x4014B6F ==119404== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119404== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119404== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119404== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42599/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 by 0x4004266: main (tool_main.c:199) === End of file valgrind838 test 0833...[IMAP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-time 'imap://127.0.0.1:36847/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 833: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 833 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-time 'imap://127.0.0.1:36847/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 === End of file commands.log === Start of file imap_server.log 14:54:04.476893 ====> Client connect 14:54:04.477081 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.477354 < "A001 CAPABILITY" 14:54:04.477385 > "A001 BAD Command[CR][LF]" 14:54:04.477524 < "A002 LIST "verifiedserver" *" 14:54:04.477549 LIST_imap got "verifiedserver" * 14:54:04.477571 > "* LIST () "/" "WE ROOLZ: 117314"[CR][LF]" 14:54:04.477585 > "A002 OK LIST Completed[CR][LF]" 14:54:04.477597 return proof we are we 14:54:04.522744 < "A003 LOGOUT" 14:54:04.522791 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.522807 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.523840 MAIN sockfilt said DISC 14:54:04.523872 ====> Client disconnected 14:54:04.523954 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.559597 ====> Client connect 14:54:04.559906 Received DATA (on stdin) 14:54:04.559920 > 178 bytes data, server => client 14:54:04.559930 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.559940 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.559949 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.559959 'rve\r\n' 14:54:04.560022 < 17 bytes data, client => server 14:54:04.560033 'A001 CAPABILITY\r\n' 14:54:04.560196 Received DATA (on stdin) 14:54:04.560207 > 18 bytes data, server => client 14:54:04.560216 'A001 BAD Command\r\n' 14:54:04.560260 < 30 bytes data, client => server 14:54:04.560269 'A002 LIST "verifiedserver" *\r\n' 14:54:04.560406 Received DATA (on stdin) 14:54:04.560415 > 34 bytes data, server => client 14:54:04.560424 '* LIST () "/" "WE ROOLZ: 117314"\r\n' 14:54:04.560441 Received DATA (on stdin) 14:54:04.560451 > 24 bytes data, server => client 14:54:04.560461 'A002 OK LIST Completed\r\n' 14:54:04.605394 < 13 bytes data, client => server 14:54:04.605417 'A003 LOGOUT\r\n' 14:54:04.605617 Received DATA (on stdin) 14:54:04.605627 > 36 bytes data, server => client 14:54:04.605636 '* BYE curl IMAP server signing off\r\n' 14:54:04.605653 Received DATA (on stdin) 14:54:04.605662 > 26 bytes data, server => client 14:54:04.605671 'A003 OK LOGOUT completed\r\n' 14:54:04.606594 ====> Client disconnect 14:54:04.606772 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTHENTICATE CRAM-MD5" + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 833 === End of file server.cmd === Start of file valgrind833 ==119319== ==119319== Process terminating with default action of signal 4 (SIGILL) ==119319== Illegal opcode at address 0x4014B6F ==119319== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119319== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119319== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119319== by 0x4004266: main (tool_main.c:199) === End of file valgrind833 test 0837...[IMAP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42599/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 837: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 837 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42599/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 === End of file commands.log === Start of file imap_server.log 14:54:04.487792 ====> Client connect 14:54:04.487969 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.488282 < "A001 CAPABILITY" 14:54:04.488322 > "A001 BAD Command[CR][LF]" 14:54:04.488496 < "A002 LIST "verifiedserver" *" 14:54:04.488528 LIST_imap got "verifiedserver" * 14:54:04.488553 > "* LIST () "/" "WE ROOLZ: 117319"[CR][LF]" 14:54:04.488573 > "A002 OK LIST Completed[CR][LF]" 14:54:04.488588 return proof we are we 14:54:04.530523 < "A003 LOGOUT" 14:54:04.530576 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.530599 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.531508 MAIN sockfilt said DISC 14:54:04.531538 ====> Client disconnected 14:54:04.531603 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.570494 ====> Client connect 14:54:04.570795 Received DATA (on stdin) 14:54:04.570811 > 178 bytes data, server => client 14:54:04.570825 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.570837 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.570848 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.570858 'rve\r\n' 14:54:04.570930 < 17 bytes data, client => server 14:54:04.570944 'A001 CAPABILITY\r\n' 14:54:04.571137 Received DATA (on stdin) 14:54:04.571151 > 18 bytes data, server => client 14:54:04.571163 'A001 BAD Command\r\n' 14:54:04.571218 < 30 bytes data, client => server 14:54:04.571231 'A002 LIST "verifiedserver" *\r\n' 14:54:04.571401 Received DATA (on stdin) 14:54:04.571414 > 34 bytes data, server => client 14:54:04.571426 '* LIST () "/" "WE ROOLZ: 117319"\r\n' 14:54:04.571447 Received DATA (on stdin) 14:54:04.571458 > 24 bytes data, server => client 14:54:04.571469 'A002 OK LIST Completed\r\n' 14:54:04.613184 < 13 bytes data, client => server 14:54:04.613207 'A003 LOGOUT\r\n' 14:54:04.613416 Received DATA (on stdin) 14:54:04.613431 > 36 bytes data, server => client 14:54:04.613443 '* BYE curl IMAP server signing off\r\n' 14:54:04.613466 Received DATA (on stdin) 14:54:04.613478 > 26 bytes data, server => client 14:54:04.613490 'A003 OK LOGOUT completed\r\n' 14:54:04.614213 ====> Client disconnect 14:54:04.614425 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY dXNlcg== A002 OK AUTHENTICATE completed Testnum 837 === End of file server.cmd === Start of file valgrind837 ==119332== ==119332== Process terminating with default action of signal 4 (SIGILL) ==119332== Illegal opcode at addrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind834 ../src/curl -q --output log/17/curl834.out --include --trace-ascii log/17/trace834 --trace-time 'imap://127.0.0.1:35715/834/;MAILINDEX=1' -u user:secret > log/17/stdout834 2> log/17/stderr834 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind842 ../src/curl -q --output log/11/curl842.out --include --trace-ascii log/11/trace842 --trace-time 'imap://127.0.0.1:44253/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout842 2> log/11/stderr842 ess 0x4014B6F ==119332== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119332== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119332== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119332== by 0x4004266: main (tool_main.c:199) === End of file valgrind837 test 0834...[IMAP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind834 ../src/curl -q --output log/17/curl834.out --include --trace-ascii log/17/trace834 --trace-time 'imap://127.0.0.1:35715/834/;MAILINDEX=1' -u user:secret > log/17/stdout834 2> log/17/stderr834 834: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 834 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind834 ../src/curl -q --output log/17/curl834.out --include --trace-ascii log/17/trace834 --trace-time 'imap://127.0.0.1:35715/834/;MAILINDEX=1' -u user:secret > log/17/stdout834 2> log/17/stderr834 === End of file commands.log === Start of file imap_server.log 14:54:04.488812 ====> Client connect 14:54:04.488959 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.489788 < "A001 CAPABILITY" 14:54:04.489829 > "A001 BAD Command[CR][LF]" 14:54:04.490018 < "A002 LIST "verifiedserver" *" 14:54:04.490048 LIST_imap got "verifiedserver" * 14:54:04.490072 > "* LIST () "/" "WE ROOLZ: 117378"[CR][LF]" 14:54:04.490093 > "A002 OK LIST Completed[CR][LF]" 14:54:04.490108 return proof we are we 14:54:04.531751 < "A003 LOGOUT" 14:54:04.531806 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.531829 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.534262 MAIN sockfilt said DISC 14:54:04.534329 ====> Client disconnected 14:54:04.534398 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.571543 ====> Client connect 14:54:04.571784 Received DATA (on stdin) 14:54:04.571800 > 178 bytes data, server => client 14:54:04.571813 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.571825 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.571837 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.571847 'rve\r\n' 14:54:04.572414 < 17 bytes data, client => server 14:54:04.572431 'A001 CAPABILITY\r\n' 14:54:04.572645 Received DATA (on stdin) 14:54:04.572659 > 18 bytes data, server => client 14:54:04.572670 'A001 BAD Command\r\n' 14:54:04.572736 < 30 bytes data, client => server 14:54:04.572751 'A002 LIST "verifiedserver" *\r\n' 14:54:04.572921 Received DATA (on stdin) 14:54:04.572935 > 34 bytes data, server => client 14:54:04.572947 '* LIST () "/" "WE ROOLZ: 117378"\r\n' 14:54:04.572969 Received DATA (on stdin) 14:54:04.572981 > 24 bytes data, server => client 14:54:04.573002 'A002 OK LIST Completed\r\n' 14:54:04.614260 < 13 bytes data, client => server 14:54:04.614279 'A003 LOGOUT\r\n' 14:54:04.614646 Received DATA (on stdin) 14:54:04.614660 > 36 bytes data, server => client 14:54:04.614673 '* BYE curl IMAP server signing off\r\n' 14:54:04.614697 Received DATA (on stdin) 14:54:04.614709 > 26 bytes data, server => client 14:54:04.614721 'A003 OK LOGOUT completed\r\n' 14:54:04.615579 ====> Client disconnect 14:54:04.619668 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTHENTICATE NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 834 === End of file server.cmd === Start of file valgrind834 ==119472== ==119472== Process terminating with default action of signal 4 (SIGILL) ==119472== Illegal opcode at address 0x4014B6F ==119472== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119472== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119472== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119472== by 0x4004266: main (tool_main.c:199) === End of file valgrind834 test 0842...[IMAP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind842 ../src/curl -q --output log/11/curl842.out --include --trace-ascii log/11/trace842 --trace-time 'imap://127.0.0.1:44253/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout842 2> log/11/stderr842 842: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 842 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind842 ../src/curl -q --output log/11/curl842.out --include --trace-ascii log/11/trace842 --trace-time 'imap://127.0.0.1:44253/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout842 2> log/11/stderr842 === End of file commands.log === Start of file imap_server.log 14:54:04.805638 ====> Client connect 14:54:04.805811 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.806122 < "A001 CAPABILITY" 14:54:04.806159 > "A001 BAD Command[CR][LF]" 14:54:04.806336 < "A002 LIST "verifiedserver" *" 14:54:04.806367 LIST_imap got "verifiedserver" * 14:54:04.806394 > "* LIST () "/" "WE ROOLZ: 117518"[CR][LF]" 14:54:04.806416 > "A002 OK LIST Completed[CR][LF]" 14:54:04.806431 return proof we are we 14:54:04.853452 < "A003 LOGOUT" 14:54:04.853505 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.853535 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.854380 MAIN sockfilt said DISC 14:54:04.854409 ====> Client disconnected 14:54:04.854477 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.888356 ====> Client connect 14:54:04.888637 Received DATA (on stdin) 14:54:04.888655 > 178 bytes data, server => client 14:54:04.888670 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.888682 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.888695 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.888706 'rve\r\n' 14:54:04.888779 < 17 bytes data, client => server 14:54:04.888793 'A001 CAPABILITY\r\n' 14:54:04.888976 Received DATA (on stdin) 14:54:04.888990 > 18 bytes data, server => client 14:54:04.889002 'A001 BAD Command\r\n' 14:54:04.889057 < 30 bytes data, client => server 14:54:04.889070 'A002 LIST "verifiedserver" *\r\n' 14:54:04.889245 Received DATA (on stdin) 14:54:04.889258 > 34 bytes data, server => client 14:54:04.889270 '* LIST () "/" "WE ROOLZ: 117518"\r\n' 14:54:04.889292 Received DATA (on stdin) 14:54:04.889304 > 24 bytes data, server => client 14:54:04.889316 'A002 OK LIST Completed\r\n' 14:54:04.936098 < 13 bytes data, client => server 14:54:04.936127 'A003 LOGOUT\r\n' 14:54:04.936352 Received DATA (on stdin) 14:54:04.936366 > 36 bytes data, server => client 14:54:04.936378 '* BYE curl IMAP server signing off\r\n' 14:54:04.936403 Received DATA (on stdin) 14:54:04.936415 > 26 bytes data, server => client 14:54:04.936427 'A003 OK LOGOUT completed\r\n' 14:54:04.937137 ====> Client disconnect 14:54:04.937292 Received ACKD (on stdiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind841 ../src/curl -q --output log/16/curl841.out --include --trace-ascii log/16/trace841 --trace-time imap://127.0.0.1:46049/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/16/stdout841 2> log/16/stderr841 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind844 ../src/curl -q --output log/3/curl844.out --include --trace-ascii log/3/trace844 --trace-time 'imap://127.0.0.1:37717/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout844 2> log/3/stderr844 n) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDQyNTMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==119664== ==119664== Process terminating with default action of signal 4 (SIGILL) ==119664== Illegal opcode at address 0x4014B6F ==119664== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119664== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119664== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119664== by 0x4004266: main (tool_main.c:199) === End of file valgrind842 test 0841...[IMAP custom request doesn't check continuation data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind841 ../src/curl -q --output log/16/curl841.out --include --trace-ascii log/16/trace841 --trace-time imap://127.0.0.1:46049/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/16/stdout841 2> log/16/stderr841 841: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 841 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind841 ../src/curl -q --output log/16/curl841.out --include --trace-ascii log/16/trace841 --trace-time imap://127.0.0.1:46049/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/16/stdout841 2> log/16/stderr841 === End of file commands.log === Start of file imap_server.log 14:54:04.796928 ====> Client connect 14:54:04.797124 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.797453 < "A001 CAPABILITY" 14:54:04.797493 > "A001 BAD Command[CR][LF]" 14:54:04.797674 < "A002 LIST "verifiedserver" *" 14:54:04.797706 LIST_imap got "verifiedserver" * 14:54:04.797733 > "* LIST () "/" "WE ROOLZ: 117519"[CR][LF]" 14:54:04.797754 > "A002 OK LIST Completed[CR][LF]" 14:54:04.797769 return proof we are we 14:54:04.843925 < "A003 LOGOUT" 14:54:04.843983 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.844006 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.845017 MAIN sockfilt said DISC 14:54:04.845051 ====> Client disconnected 14:54:04.845129 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.879628 ====> Client connect 14:54:04.879951 Received DATA (on stdin) 14:54:04.879968 > 178 bytes data, server => client 14:54:04.879982 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:04.879994 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:04.880006 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:04.880017 'rve\r\n' 14:54:04.880097 < 17 bytes data, client => server 14:54:04.880111 'A001 CAPABILITY\r\n' 14:54:04.880310 Received DATA (on stdin) 14:54:04.880323 > 18 bytes data, server => client 14:54:04.880336 'A001 BAD Command\r\n' 14:54:04.880394 < 30 bytes data, client => server 14:54:04.880407 'A002 LIST "verifiedserver" *\r\n' 14:54:04.880582 Received DATA (on stdin) 14:54:04.880596 > 34 bytes data, server => client 14:54:04.880608 '* LIST () "/" "WE ROOLZ: 117519"\r\n' 14:54:04.880630 Received DATA (on stdin) 14:54:04.880642 > 24 bytes data, server => client 14:54:04.880653 'A002 OK LIST Completed\r\n' 14:54:04.926513 < 13 bytes data, client => server 14:54:04.926550 'A003 LOGOUT\r\n' 14:54:04.926822 Received DATA (on stdin) 14:54:04.926835 > 36 bytes data, server => client 14:54:04.926847 '* BYE curl IMAP server signing off\r\n' 14:54:04.926871 Received DATA (on stdin) 14:54:04.926882 > 26 bytes data, server => client 14:54:04.926894 'A003 OK LOGOUT completed\r\n' 14:54:04.927705 ====> Client disconnect 14:54:04.927944 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 841 === End of file server.cmd === Start of file valgrind841 ==119647== ==119647== Process terminating with default action of signal 4 (SIGILL) ==119647== Illegal opcode at address 0x4014B6F ==119647== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119647== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119647== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119647== by 0x4004266: main (tool_main.c:199) === End of file valgrind841 test 0844...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind844 ../src/curl -q --output log/3/curl844.out --include --trace-ascii log/3/trace844 --trace-time 'imap://127.0.0.1:37717/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout844 2> log/3/stderr844 844: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 844 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind844 ../src/curl -q --output log/3/curl844.out --include --trace-ascii log/3/trace844 --trace-time 'imap://127.0.0.1:37717/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout844 2> log/3/stderr844 === End of file commands.log === Start of file imap_server.log 14:54:04.836532 ====> Client connect 14:54:04.836685 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.836972 < "A001 CAPABILITY" 14:54:04.837008 > "A001 BAD Command[CR][LF]" 14:54:04.837165 < "A002 LIST "verifiedserver" *" 14:54:04.837192 LIST_imap got "verifiedserver" * 14:54:04.837214 > "* LIST () "/" "WE ROOLZ: 117524"[CR][LF]" 14:54:04.837231 > "A002 OK LIST Completed[CR][LF]" 14:54:04.837245 return proof we are we 14:54:04.883853 < "A003 LOGOUT" 14:54:04.883912 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.883933 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.884518 MAIN sockfilt said DISC 14:54:04.884553 ====> Client disconnected 14:54:04.884622 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:03.919245 ====> Client connect 14:54:03.919507 Received DATA (on stdin) 14:54:03.919521 > 178 bytes data, server => client 14:54:03.919532 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:03.919543 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:03.919554 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:03.919563 'rve\r\n' 14:54:03.919631 < 17 bytes data, client => server 14:54:03.919643 'A001 CAPABILITY\r\n' 14:54:03.919821 Received DATA (on stdin) 14:54:03.919834 > 18 bytes data, server => client 14:54:03.919844 'A001 BAD Command\r\n' 14:54:03.919896 < 30 bytes data, client => server 14:54:03.919907 'A002 LIST "verifiedserver" *\r\n' 14:54:03.920056 Received DATA (on stdin) 14:54:03.920067 > 34 bytes data, server => client 14:54:03.920077 '* LIST () "/" "WE ROOLZ: 117524"\r\n' 14:54:03.920098 Received DATA (on stdin) 14:54:03.920108 > 24 bytes data, server => client 14:54:03.920118 'A002 OK LIST Completed\r\n' 14:54:03.966460 < 13 bytes data, client => server 14:54:03.966485 'A003 LOGOUT\r\n' 14:54:03.966748 Received DATA (on stdin) 14:54:03.966761 > 36 bytes data, server => client 14:54:03.966773 '* BYE curl IMAP server signing off\r\n' 14:54:03.966795 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:38699/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:40785/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 Received DATA (on stdin) 14:54:03.966806 > 26 bytes data, server => client 14:54:03.966818 'A003 OK LOGOUT completed\r\n' 14:54:03.967270 ====> Client disconnect 14:54:03.967445 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzc3MTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==119736== ==119736== Process terminating with default action of signal 4 (SIGILL) ==119736== Illegal opcode at address 0x4014B6F ==119736== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119736== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119736== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119736== by 0x4004266: main (tool_main.c:199) === End of file valgrind844 test 0843...[IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:38699/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 843: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 843 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:38699/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 === End of file commands.log === Start of file imap_server.log 14:54:04.830511 ====> Client connect 14:54:04.830697 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.831014 < "A001 CAPABILITY" 14:54:04.831052 > "A001 BAD Command[CR][LF]" 14:54:04.831237 < "A002 LIST "verifiedserver" *" 14:54:04.831268 LIST_imap got "verifiedserver" * 14:54:04.831295 > "* LIST () "/" "WE ROOLZ: 117522"[CR][LF]" 14:54:04.831318 > "A002 OK LIST Completed[CR][LF]" 14:54:04.831335 return proof we are we 14:54:04.877232 < "A003 LOGOUT" 14:54:04.877301 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.877326 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.878325 MAIN sockfilt said DISC 14:54:04.878356 ====> Client disconnected 14:54:04.878433 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:03.913193 ====> Client connect 14:54:03.913521 Received DATA (on stdin) 14:54:03.913537 > 178 bytes data, server => client 14:54:03.913550 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:03.913562 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:03.913574 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:03.913584 'rve\r\n' 14:54:03.913665 < 17 bytes data, client => server 14:54:03.913678 'A001 CAPABILITY\r\n' 14:54:03.913869 Received DATA (on stdin) 14:54:03.913883 > 18 bytes data, server => client 14:54:03.913894 'A001 BAD Command\r\n' 14:54:03.913955 < 30 bytes data, client => server 14:54:03.913969 'A002 LIST "verifiedserver" *\r\n' 14:54:03.914149 Received DATA (on stdin) 14:54:03.914165 > 34 bytes data, server => client 14:54:03.914178 '* LIST () "/" "WE ROOLZ: 117522"\r\n' 14:54:03.914201 Received DATA (on stdin) 14:54:03.914214 > 24 bytes data, server => client 14:54:03.914226 'A002 OK LIST Completed\r\n' 14:54:03.959810 < 13 bytes data, client => server 14:54:03.959838 'A003 LOGOUT\r\n' 14:54:03.960146 Received DATA (on stdin) 14:54:03.960161 > 36 bytes data, server => client 14:54:03.960174 '* BYE curl IMAP server signing off\r\n' 14:54:03.960199 Received DATA (on stdin) 14:54:03.960211 > 26 bytes data, server => client 14:54:03.960223 'A003 OK LOGOUT completed\r\n' 14:54:03.961078 ====> Client disconnect 14:54:03.961260 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 843 === End of file server.cmd === Start of file valgrind843 ==119720== ==119720== Process terminating with default action of signal 4 (SIGILL) ==119720== Illegal opcode at address 0x4014B6F ==119720== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119720== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119720== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119720== by 0x4004266: main (tool_main.c:199) === End of file valgrind843 test 0845...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:40785/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 845: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 845 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:40785/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 === End of file commands.log === Start of file imap_server.log 14:54:04.941103 ====> Client connect 14:54:04.941242 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.941599 < "A001 CAPABILITY" 14:54:04.941659 > "A001 BAD Command[CR][LF]" 14:54:04.941905 < "A002 LIST "verifiedserver" *" 14:54:04.941933 LIST_imap got "verifiedserver" * 14:54:04.941957 > "* LIST () "/" "WE ROOLZ: 117181"[CR][LF]" 14:54:04.941975 > "A002 OK LIST Completed[CR][LF]" 14:54:04.941989 return proof we are we 14:54:04.987246 < "A003 LOGOUT" 14:54:04.987312 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.987341 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.988187 MAIN sockfilt said DISC 14:54:04.988216 ====> Client disconnected 14:54:04.988281 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:05.023809 ====> Client connect 14:54:05.024067 Received DATA (on stdin) 14:54:05.024082 > 178 bytes data, server => client 14:54:05.024096 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:05.024108 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.024119 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:05.024129 'rve\r\n' 14:54:05.024199 < 17 bytes data, client => server 14:54:05.024211 'A001 CAPABILITY\r\n' 14:54:05.024485 Received DATA (on stdin) 14:54:05.024506 > 18 bytes data, server => client 14:54:05.024519 'A001 BAD Command\r\n' 14:54:05.024621 < 30 bytes data, client => server 14:54:05.024636 'A002 LIST "verifiedserver" *\r\n' 14:54:05.024802 Received DATA (on stdin) 14:54:05.024816 > 34 bytes data, server => client 14:54:05.024827 '* LIST () "/" "WE ROOLZ: 117181"\r\n' 14:54:05.024849 Received DATA (on stdin)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind846 ../src/curl -q --output log/19/curl846.out --include --trace-ascii log/19/trace846 --trace-time 'imap://127.0.0.1:37633/846/;MAILINDEX=1' -u notused:still-provided > log/19/stdout846 2> log/19/stderr846 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind847 ../src/curl -q --output log/10/curl847.out --include --trace-ascii log/10/trace847 --trace-time 'imap://127.0.0.1:40503/847/;UID=1' -u '"user:sec"ret{' > log/10/stdout847 2> log/10/stderr847 14:54:05.024861 > 24 bytes data, server => client 14:54:05.024872 'A002 OK LIST Completed\r\n' 14:54:05.069831 < 13 bytes data, client => server 14:54:05.069864 'A003 LOGOUT\r\n' 14:54:05.070166 Received DATA (on stdin) 14:54:05.070185 > 36 bytes data, server => client 14:54:05.070200 '* BYE curl IMAP server signing off\r\n' 14:54:05.070230 Received DATA (on stdin) 14:54:05.070244 > 26 bytes data, server => client 14:54:05.070257 'A003 OK LOGOUT completed\r\n' 14:54:05.070952 ====> Client disconnect 14:54:05.071095 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== A002 NO Authentication failed Testnum 845 === End of file server.cmd === Start of file valgrind845 ==119895== ==119895== Process terminating with default action of signal 4 (SIGILL) ==119895== Illegal opcode at address 0x4014B6F ==119895== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119895== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119895== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119895== by 0x4004266: main (tool_main.c:199) === End of file valgrind845 test 0846...[IMAP PREAUTH response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind846 ../src/curl -q --output log/19/curl846.out --include --trace-ascii log/19/trace846 --trace-time 'imap://127.0.0.1:37633/846/;MAILINDEX=1' -u notused:still-provided > log/19/stdout846 2> log/19/stderr846 846: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 846 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind846 ../src/curl -q --output log/19/curl846.out --include --trace-ascii log/19/trace846 --trace-time 'imap://127.0.0.1:37633/846/;MAILINDEX=1' -u notused:still-provided > log/19/stdout846 2> log/19/stderr846 === End of file commands.log === Start of file imap_server.log 14:54:04.947518 ====> Client connect 14:54:04.947681 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.947941 < "A001 CAPABILITY" 14:54:04.947970 > "A001 BAD Command[CR][LF]" 14:54:04.948108 < "A002 LIST "verifiedserver" *" 14:54:04.948131 LIST_imap got "verifiedserver" * 14:54:04.948151 > "* LIST () "/" "WE ROOLZ: 109672"[CR][LF]" 14:54:04.948165 > "A002 OK LIST Completed[CR][LF]" 14:54:04.948176 return proof we are we 14:54:04.993835 < "A003 LOGOUT" 14:54:04.993885 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:04.993905 > "A003 OK LOGOUT completed[CR][LF]" 14:54:04.994199 MAIN sockfilt said DISC 14:54:04.994230 ====> Client disconnected 14:54:04.994337 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:05.030213 ====> Client connect 14:54:05.030498 Received DATA (on stdin) 14:54:05.030518 > 178 bytes data, server => client 14:54:05.030529 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:05.030538 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.030548 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:05.030556 'rve\r\n' 14:54:05.030623 < 17 bytes data, client => server 14:54:05.030634 'A001 CAPABILITY\r\n' 14:54:05.030781 Received DATA (on stdin) 14:54:05.030792 > 18 bytes data, server => client 14:54:05.030801 'A001 BAD Command\r\n' 14:54:05.030847 < 30 bytes data, client => server 14:54:05.030857 'A002 LIST "verifiedserver" *\r\n' 14:54:05.030984 Received DATA (on stdin) 14:54:05.030994 > 34 bytes data, server => client 14:54:05.031004 '* LIST () "/" "WE ROOLZ: 109672"\r\n' 14:54:05.031020 Received DATA (on stdin) 14:54:05.031029 > 24 bytes data, server => client 14:54:05.031038 'A002 OK LIST Completed\r\n' 14:54:05.076488 < 13 bytes data, client => server 14:54:05.076512 'A003 LOGOUT\r\n' 14:54:05.076722 Received DATA (on stdin) 14:54:05.076737 > 36 bytes data, server => client 14:54:05.076749 '* BYE curl IMAP server signing off\r\n' 14:54:05.076773 Received DATA (on stdin) 14:54:05.076784 > 26 bytes data, server => client 14:54:05.076796 'A003 OK LOGOUT completed\r\n' 14:54:05.076956 ====> Client disconnect 14:54:05.077079 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY welcome * PREAUTH ready to serve already REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed Testnum 846 === End of file server.cmd === Start of file valgrind846 ==119919== ==119919== Process terminating with default action of signal 4 (SIGILL) ==119919== Illegal opcode at address 0x4014B6F ==119919== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==119919== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==119919== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==119919== by 0x4004266: main (tool_main.c:199) === End of file valgrind846 test 0847...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind847 ../src/curl -q --output log/10/curl847.out --include --trace-ascii log/10/trace847 --trace-time 'imap://127.0.0.1:40503/847/;UID=1' -u '"user:sec"ret{' > log/10/stdout847 2> log/10/stderr847 847: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind847 ../src/curl -q --output log/10/curl847.out --include --trace-ascii log/10/trace847 --trace-time 'imap://127.0.0.1:40503/847/;UID=1' -u '"user:sec"ret{' > log/10/stdout847 2> log/10/stderr847 === End of file commands.log === Start of file imap_server.log 14:54:04.986894 ====> Client connect 14:54:04.987077 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:04.987401 < "A001 CAPABILITY" 14:54:04.987435 > "A001 BAD Command[CR][LF]" 14:54:04.987602 < "A002 LIST "verifiedserver" *" 14:54:04.987627 LIST_imap got "verifiedserver" * 14:54:04.987651 > "* LIST () "/" "WE ROOLZ: 111033"[CR][LF]" 14:54:04.987667 > "A002 OK LIST Completed[CR][LF]" 14:54:04.987681 return proof we are we 14:54:05.030554 < "A003 LOGOUT" 14:54:05.030618 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:05.030640 > "A003 OK LOGOUT completed[CR][LF]" 14:54:05.031105 MAIN sockfilt said DISC 14:54:05.031161 ====> Client disconnected 14:54:05.031241 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:05.068057 ====> Client connect 14:54:05.069908 Received DATA (on stdin) 14:54:05.069932 > 178 bytes data, server => client 14:54:05.069945 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:05.069957 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.069968 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind848 ../src/curl -q --output log/20/curl848.out --include --trace-ascii log/20/trace848 --trace-time 'imap://127.0.0.1:45915/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/20/stdout848 2> log/20/stderr848 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind849 ../src/curl -q --output log/8/curl849.out --include --trace-ascii log/8/trace849 --trace-time 'imap://127.0.0.1:42141/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/8/stdout849 2> log/8/stderr849 05.069978 'rve\r\n' 14:54:05.070076 < 17 bytes data, client => server 14:54:05.070089 'A001 CAPABILITY\r\n' 14:54:05.070251 Received DATA (on stdin) 14:54:05.070264 > 18 bytes data, server => client 14:54:05.070276 'A001 BAD Command\r\n' 14:54:05.070331 < 30 bytes data, client => server 14:54:05.070343 'A002 LIST "verifiedserver" *\r\n' 14:54:05.070468 Received DATA (on stdin) 14:54:05.070492 > 34 bytes data, server => client 14:54:05.070506 '* LIST () "/" "WE ROOLZ: 111033"\r\n' 14:54:05.070534 Received DATA (on stdin) 14:54:05.070546 > 24 bytes data, server => client 14:54:05.070557 'A002 OK LIST Completed\r\n' 14:54:05.113152 < 13 bytes data, client => server 14:54:05.113179 'A003 LOGOUT\r\n' 14:54:05.113429 Received DATA (on stdin) 14:54:05.113450 > 36 bytes data, server => client 14:54:05.113463 '* BYE curl IMAP server signing off\r\n' 14:54:05.113490 Received DATA (on stdin) 14:54:05.113501 > 26 bytes data, server => client 14:54:05.113512 'A003 OK LOGOUT completed\r\n' 14:54:05.113841 ====> Client disconnect 14:54:05.114057 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 ==120029== ==120029== Process terminating with default action of signal 4 (SIGILL) ==120029== Illegal opcode at address 0x4014B6F ==120029== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120029== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120029== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120029== by 0x4004266: main (tool_main.c:199) === End of file valgrind847 test 0848...[IMAP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind848 ../src/curl -q --output log/20/curl848.out --include --trace-ascii log/20/trace848 --trace-time 'imap://127.0.0.1:45915/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/20/stdout848 2> log/20/stderr848 848: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind848 ../src/curl -q --output log/20/curl848.out --include --trace-ascii log/20/trace848 --trace-time 'imap://127.0.0.1:45915/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/20/stdout848 2> log/20/stderr848 === End of file commands.log === Start of file imap_server.log 14:54:05.013516 ====> Client connect 14:54:05.013684 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:05.013987 < "A001 CAPABILITY" 14:54:05.014023 > "A001 BAD Command[CR][LF]" 14:54:05.014200 < "A002 LIST "verifiedserver" *" 14:54:05.014228 LIST_imap got "verifiedserver" * 14:54:05.014253 > "* LIST () "/" "WE ROOLZ: 117171"[CR][LF]" 14:54:05.014272 > "A002 OK LIST Completed[CR][LF]" 14:54:05.014286 return proof we are we 14:54:05.063834 < "A003 LOGOUT" 14:54:05.063892 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:05.063912 > "A003 OK LOGOUT completed[CR][LF]" 14:54:05.065037 MAIN sockfilt said DISC 14:54:05.065097 ====> Client disconnected 14:54:05.065164 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:05.096228 ====> Client connect 14:54:05.096510 Received DATA (on stdin) 14:54:05.096526 > 178 bytes data, server => client 14:54:05.096544 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:05.096556 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.096568 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:05.096578 'rve\r\n' 14:54:05.096655 < 17 bytes data, client => server 14:54:05.096670 'A001 CAPABILITY\r\n' 14:54:05.096839 Received DATA (on stdin) 14:54:05.096853 > 18 bytes data, server => client 14:54:05.096864 'A001 BAD Command\r\n' 14:54:05.096922 < 30 bytes data, client => server 14:54:05.096936 'A002 LIST "verifiedserver" *\r\n' 14:54:05.097099 Received DATA (on stdin) 14:54:05.097112 > 34 bytes data, server => client 14:54:05.097124 '* LIST () "/" "WE ROOLZ: 117171"\r\n' 14:54:05.097147 Received DATA (on stdin) 14:54:05.097159 > 24 bytes data, server => client 14:54:05.097170 'A002 OK LIST Completed\r\n' 14:54:05.146439 < 13 bytes data, client => server 14:54:05.146474 'A003 LOGOUT\r\n' 14:54:05.146727 Received DATA (on stdin) 14:54:05.146741 > 36 bytes data, server => client 14:54:05.146753 '* BYE curl IMAP server signing off\r\n' 14:54:05.146777 Received DATA (on stdin) 14:54:05.146788 > 26 bytes data, server => client 14:54:05.146799 'A003 OK LOGOUT completed\r\n' 14:54:05.147576 ====> Client disconnect 14:54:05.147982 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed Testnum 848 === End of file server.cmd === Start of file valgrind848 ==120067== ==120067== Process terminating with default action of signal 4 (SIGILL) ==120067== Illegal opcode at address 0x4014B6F ==120067== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120067== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120067== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120067== by 0x4004266: main (tool_main.c:199) === End of file valgrind848 test 0849...[IMAP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind849 ../src/curl -q --output log/8/curl849.out --include --trace-ascii log/8/trace849 --trace-time 'imap://127.0.0.1:42141/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/8/stdout849 2> log/8/stderr849 849: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 849 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind849 ../src/curl -q --output log/8/curl849.out --include --trace-ascii log/8/trace849 --trace-time 'imap://127.0.0.1:42141/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/8/stdout849 2> log/8/stderr849 === End of file commands.log === Start of file imap_server.log 14:54:05.017273 ====> Client connect 14:54:05.017387 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:05.017666 < "A001 CAPABILITY" 14:54:05.017700 > "A001 BAD Command[CR][LF]" 14:54:05.017886 < "A002 LIST "verifiedserver" *" 14:54:05.017915 LIST_imap got "verifiedserver" * 14:54:05.017941 > "* LIST () "/" "WE ROOLZ: 117227"[CR][LF]" 14:54:05.017960 > "A002 OK LIST Completed[CR][LF]" 14:54:05.017973 return proof we are we 14:54:05.060942 < "A003 LOGOUT" 14:54:05.061006 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:05.061024 > "A003 OK LOGOUT completed[CR][LF]" 14:54:05.061434 MAIN sockfilt said DISC 14:54:05.061466 ====> Client disconnected 14:54:05.061551 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:05.099990 ====> Client connect 14:54:05.100205 Received DATA (on stdin) 14:54:05.100219 > 178 bytes data, server => client 14:54:05.100233 ' _ _ ____ _ CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind840 ../src/curl -q --output log/23/curl840.out --include --trace-ascii log/23/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36801/840/;MAILINDEX=1' > log/23/stdout840 2> log/23/stderr840 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind867 ../src/curl -q --output log/10/curl867.out --include --trace-ascii log/10/trace867 --trace-time pop3://127.0.0.1:33159/867 -u user:secret > log/10/stdout867 2> log/10/stderr867 \r\n ___| | | | _ \| | \r\n ' 14:54:05.100245 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.100256 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:05.100267 'rve\r\n' 14:54:05.100341 < 17 bytes data, client => server 14:54:05.100355 'A001 CAPABILITY\r\n' 14:54:05.100518 Received DATA (on stdin) 14:54:05.100532 > 18 bytes data, server => client 14:54:05.100544 'A001 BAD Command\r\n' 14:54:05.100605 < 30 bytes data, client => server 14:54:05.100619 'A002 LIST "verifiedserver" *\r\n' 14:54:05.100787 Received DATA (on stdin) 14:54:05.100800 > 34 bytes data, server => client 14:54:05.100812 '* LIST () "/" "WE ROOLZ: 117227"\r\n' 14:54:05.100834 Received DATA (on stdin) 14:54:05.100845 > 24 bytes data, server => client 14:54:05.100857 'A002 OK LIST Completed\r\n' 14:54:05.143525 < 13 bytes data, client => server 14:54:05.143556 'A003 LOGOUT\r\n' 14:54:05.143840 Received DATA (on stdin) 14:54:05.143852 > 36 bytes data, server => client 14:54:05.143863 '* BYE curl IMAP server signing off\r\n' 14:54:05.143885 Received DATA (on stdin) 14:54:05.143894 > 26 bytes data, server => client 14:54:05.143906 'A003 OK LOGOUT completed\r\n' 14:54:05.144187 ====> Client disconnect 14:54:05.144266 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authorized Testnum 849 === End of file server.cmd === Start of file valgrind849 ==120063== ==120063== Process terminating with default action of signal 4 (SIGILL) ==120063== Illegal opcode at address 0x4014B6F ==120063== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120063== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120063== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120063== by 0x4004266: main (tool_main.c:199) === End of file valgrind849 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/imap_server.pid" --logfile "log/23/imap_server.log" --logdir "log/23" --portfile "log/23/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36801 (log/23/server/imap_server.port) RUN: IMAP server is PID 119568 port 36801 * pid imap => 119568 119568 test 0840...[IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind840 ../src/curl -q --output log/23/curl840.out --include --trace-ascii log/23/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36801/840/;MAILINDEX=1' > log/23/stdout840 2> log/23/stderr840 840: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 840 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind840 ../src/curl -q --output log/23/curl840.out --include --trace-ascii log/23/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36801/840/;MAILINDEX=1' > log/23/stdout840 2> log/23/stderr840 === End of file commands.log === Start of file imap_server.log 14:54:04.712842 IMAP server listens on port IPv4/36801 14:54:04.712905 logged pid 119568 in log/23/server/imap_server.pid 14:54:04.712924 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:04.795452 Running IPv4 version 14:54:04.795513 Listening on port 36801 14:54:04.795542 Wrote pid 119574 to log/23/server/imap_sockfilt.pid 14:54:04.795565 Wrote port 36801 to log/23/server/imap_server.port 14:54:04.795581 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 840 === End of file server.cmd === Start of file valgrind840 ==120244== ==120244== Process terminating with default action of signal 4 (SIGILL) ==120244== Illegal opcode at address 0x4014B6F ==120244== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120244== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120244== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120244== by 0x4004266: main (tool_main.c:199) === End of file valgrind840 test 0867...[POP3 CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind867 ../src/curl -q --output log/10/curl867.out --include --trace-ascii log/10/trace867 --trace-time pop3://127.0.0.1:33159/867 -u user:secret > log/10/stdout867 2> log/10/stderr867 867: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 867 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind867 ../src/curl -q --output log/10/curl867.out --include --trace-ascii log/10/trace867 --trace-time pop3://127.0.0.1:33159/867 -u user:secret > log/10/stdout867 2> log/10/stderr867 === End of file commands.log === Start of file pop3_server.log 14:54:05.788512 ====> Client connect 14:54:05.788643 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:05.788861 < "CAPA" 14:54:05.788893 > "-ERR Unrecognized command[CR][LF]" 14:54:05.789012 < "RETR verifiedserver" 14:54:05.789032 return proof we are we 14:54:05.789046 > "+OK Mail transfer starts[CR][LF]" 14:54:05.789059 > "WE ROOLZ: 101647[CR][LF]" 14:54:05.789072 > ".[CR][LF]" 14:54:05.833778 < "QUIT" 14:54:05.833830 > "+OK curl POP3 server signing off[CR][LF]" 14:54:05.834759 MAIN sockfilt said DISC 14:54:05.834783 ====> Client disconnected 14:54:05.834848 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.871242 ====> Client connect 14:54:05.871459 Received DATA (on stdin) 14:54:05.871470 > 178 bytes data, server => client 14:54:05.871479 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:05.871487 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:05.871495 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:05.871501 've \r\n' 14:54:05.871556 < 6 bytes data, client => server 14:54:05.871565 'CAPA\r\n' 14:54:05.871703 Received DATA (on stdin) 14:54:05.871711 > 27 bytes data, server => client 14:54:05.871719 '-ERR Unrecognized command\r\n' 14:54:05.871757 < 21 bytes data, client => server 14:54:05.871765 'RETR verifiedserver\r\n' 14:54:05.871878 Received DATA (on stdin) 14:54:05.871887 > 26 bytes data, server => client 14:54:05.871894 '+OK Mail transfer starts\r\n' 14:54:05.871909 Received DATA (on stdin) 14:54:05.871916 > 18 bytes data, server => client 14:54:05.871924 'WE ROOLZ: 101647\r\n' 14:54:05.871933 Received DATA (on stdin) 14:54:05.871940 > 3 bytes data, server => client 14:54:05.871948 '.\r\n' 14:54:05.916466 < 6 bytes data, client => server 14:54:05.916496 'QUIT\r\n' 14:54:05.916645 Received DATA (on stdin) 14:54:05.916659 > 34 bytes data, server => client 14:54:05.916670 '+OK curl POP3 server signing off\r\n' 14:54:05.917520 ====> Client disconnect 14:54:05.917628 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful Testnum 867 === End of file server.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind850 ../src/curl -q --output log/24/curl850.out --include --trace-ascii log/24/trace850 --trace-time pop3://127.0.0.1:40731/850 -u user:secret > log/24/stdout850 2> log/24/stderr850 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind852 ../src/curl -q --output log/18/curl852.out --include --trace-ascii log/18/trace852 --trace-time pop3://127.0.0.1:44287/852 -l -u user:secret > log/18/stdout852 2> log/18/stderr852 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind851 ../src/curl -q --output log/14/curl851.out --include --trace-ascii log/14/trace851 --trace-time pop3://127.0.0.1:45135/851 -l -u user:secret > log/14/stdout851 2> log/14/stderr851 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind853 ../src/curl -q --output log/5/curl853.out --include --trace-ascii log/5/trace853 --trace-time pop3://127.0.0.1:42565/ -u user:secret > log/5/stdout853 2> log/5/stderr853 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind731 ../src/curl -q --output log/1/curl731.out --include --trace-ascii log/1/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout731 2> log/1/stderr731 md === Start of file valgrind867 ==120320== ==120320== Process terminating with default action of signal 4 (SIGILL) ==120320== Illegal opcode at address 0x4014B6F ==120320== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120320== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120320== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120320== by 0x4004266: main (tool_main.c:199) === End of file valgrind867 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/pop3_server.pid" --logfile "log/24/pop3_server.log" --logdir "log/24" --portfile "log/24/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40731 (log/24/server/pop3_server.port) RUN: POP3 server is PID 120167 port 40731 * pid pop3 => 120167 120167 test 0850...[POP3 RETR message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind850 ../src/curl -q --output log/24/curl850.out --include --trace-ascii log/24/trace850 --trace-time pop3://127.0.0.1:40731/850 -u user:secret > log/24/stdout850 2> log/24/stderr850 850: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 850 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind850 ../src/curl -q --output log/24/curl850.out --include --trace-ascii log/24/trace850 --trace-time pop3://127.0.0.1:40731/850 -u user:secret > log/24/stdout850 2> log/24/stderr850 === End of file commands.log === Start of file pop3_server.log 14:54:05.150682 POP3 server listens on port IPv4/40731 14:54:05.150772 logged pid 120167 in log/24/server/pop3_server.pid 14:54:05.150801 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.233220 Running IPv4 version 14:54:05.233297 Listening on port 40731 14:54:05.233334 Wrote pid 120185 to log/24/server/pop3_sockfilt.pid 14:54:05.233364 Wrote port 40731 to log/24/server/pop3_server.port 14:54:05.233386 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd === Start of file valgrind850 ==120373== ==120373== Process terminating with default action of signal 4 (SIGILL) ==120373== Illegal opcode at address 0x4014B6F ==120373== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120373== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120373== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120373== by 0x4004266: main (tool_main.c:199) === End of file valgrind850 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/pop3_server.pid" --logfile "log/18/pop3_server.log" --logdir "log/18" --portfile "log/18/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44287 (log/18/server/pop3_server.port) RUN: POP3 server is PID 120183 port 44287 * pid pop3 => 120183 120183 test 0852...[POP3 LIST invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind852 ../src/curl -q --output log/18/curl852.out --include --trace-ascii log/18/trace852 --trace-time pop3://127.0.0.1:44287/852 -l -u user:secret > log/18/stdout852 2> log/18/stderr852 852: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 852 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind852 ../src/curl -q --output log/18/curl852.out --include --trace-ascii log/18/trace852 --trace-time pop3://127.0.0.1:44287/852 -l -u user:secret > log/18/stdout852 2> log/18/stderr852 === End of file commands.log === Start of file pop3_server.log 14:54:05.178060 POP3 server listens on port IPv4/44287 14:54:05.178137 logged pid 120183 in log/18/server/pop3_server.pid 14:54:05.178162 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.260518 Running IPv4 version 14:54:05.260597 Listening on port 44287 14:54:05.260637 Wrote pid 120191 to log/18/server/pop3_sockfilt.pid 14:54:05.260666 Wrote port 44287 to log/18/server/pop3_server.port 14:54:05.260790 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST -ERR no such message Testnum 852 === End of file server.cmd === Start of file valgrind852 ==120446== ==120446== Process terminating with default action of signal 4 (SIGILL) ==120446== Illegal opcode at address 0x4014B6F ==120446== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120446== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120446== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120446== by 0x4004266: main (tool_main.c:199) === End of file valgrind852 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/pop3_server.pid" --logfile "log/14/pop3_server.log" --logdir "log/14" --portfile "log/14/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45135 (log/14/server/pop3_server.port) RUN: POP3 server is PID 120180 port 45135 * pid pop3 => 120180 120180 test 0851...[POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind851 ../src/curl -q --output log/14/curl851.out --include --trace-ascii log/14/trace851 --trace-time pop3://127.0.0.1:45135/851 -l -u user:secret > log/14/stdout851 2> log/14/stderr851 851: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 851 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind851 ../src/curl -q --output log/14/curl851.out --include --trace-ascii log/14/trace851 --trace-time pop3://127.0.0.1:45135/851 -l -u user:secret > log/14/stdout851 2> log/14/stderr851 === End of file commands.log === Start of file pop3_server.log 14:54:05.161564 POP3 server listens on port IPv4/45135 14:54:05.161699 logged pid 120180 in log/14/server/pop3_server.pid 14:54:05.161730 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.244048 Running IPv4 version 14:54:05.244159 Listening on port 45135 14:54:05.244209 Wrote pid 120188 to log/14/server/pop3_sockfilt.pid 14:54:05.244241 Wrote port 45135 to log/14/server/pop3_server.port 14:54:05.244265 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd # include the '.\r\n' 3-byte trailer to end the transfer properly REPLY LIST +OK 851 100\r\n. Testnum 851 === End of file server.cmd === Start of file valgrind851 ==120389== ==120389== Process terminating with default action of signal 4 (SIGILL) ==120389== Illegal opcode at address 0x4014B6F ==120389== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120389== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120389== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120389== by 0x4004266: main (tool_main.c:199) === End of file valgrind851 startnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind855 ../src/curl -q --output log/15/curl855.out --include --trace-ascii log/15/trace855 --trace-time pop3://127.0.0.1:40131/855 -u user:secret > log/15/stdout855 2> log/15/stderr855 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind854 ../src/curl -q --output log/2/curl854.out --include --trace-ascii log/2/trace854 --trace-time pop3://127.0.0.1:45555/ -u user:secret > log/2/stdout854 2> log/2/stderr854 ew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/pop3_server.pid" --logfile "log/5/pop3_server.log" --logdir "log/5" --portfile "log/5/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42565 (log/5/server/pop3_server.port) RUN: POP3 server is PID 120186 port 42565 * pid pop3 => 120186 120186 test 0853...[POP3 LIST messages from *SLOW* server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind853 ../src/curl -q --output log/5/curl853.out --include --trace-ascii log/5/trace853 --trace-time pop3://127.0.0.1:42565/ -u user:secret > log/5/stdout853 2> log/5/stderr853 853: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 853 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind853 ../src/curl -q --output log/5/curl853.out --include --trace-ascii log/5/trace853 --trace-time pop3://127.0.0.1:42565/ -u user:secret > log/5/stdout853 2> log/5/stderr853 === End of file commands.log === Start of file pop3_server.log 14:54:05.182030 POP3 server listens on port IPv4/42565 14:54:05.182125 logged pid 120186 in log/5/server/pop3_server.pid 14:54:05.182155 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.264561 Running IPv4 version 14:54:05.264634 Listening on port 42565 14:54:05.264676 Wrote pid 120192 to log/5/server/pop3_sockfilt.pid 14:54:05.264709 Wrote port 42565 to log/5/server/pop3_server.port 14:54:05.264732 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd SLOWDOWN Testnum 853 === End of file server.cmd === Start of file valgrind853 ==120494== ==120494== Process terminating with default action of signal 4 (SIGILL) ==120494== Illegal opcode at address 0x4014B6F ==120494== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120494== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120494== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120494== by 0x4004266: main (tool_main.c:199) === End of file valgrind853 setenv HOME = /startdir/src/build-curl/tests/log/1 test 0731...[IPFS with gateway URL and path from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind731 ../src/curl -q --output log/1/curl731.out --include --trace-ascii log/1/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout731 2> log/1/stderr731 731: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 731 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind731 ../src/curl -q --output log/1/curl731.out --include --trace-ascii log/1/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout731 2> log/1/stderr731 === End of file commands.log === Start of file http_server.log 14:54:00.129364 ====> Client connect 14:54:00.129398 accept_connection 3 returned 4 14:54:00.129414 accept_connection 3 returned 0 14:54:00.129428 Read 93 bytes 14:54:00.129438 Process 93 bytes request 14:54:00.129452 Got request: GET /verifiedserver HTTP/1.1 14:54:00.129462 Are-we-friendly question received 14:54:00.129512 Wrote request (93 bytes) input to log/1/server.input 14:54:00.129528 Identifying ourselves as friends 14:54:00.129578 Response sent (56 bytes) and written to log/1/server.response 14:54:00.129588 special request received, no persistency 14:54:00.129597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 54196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 731 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind731 ==114406== ==114406== Process terminating with default action of signal 4 (SIGILL) ==114406== Illegal opcode at address 0x4014B6F ==114406== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==114406== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==114406== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==114406== by 0x4004266: main (tool_main.c:199) === End of file valgrind731 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/pop3_server.pid" --logfile "log/15/pop3_server.log" --logdir "log/15" --portfile "log/15/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40131 (log/15/server/pop3_server.port) RUN: POP3 server is PID 120203 port 40131 * pid pop3 => 120203 120203 test 0855...[POP3 RETR invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind855 ../src/curl -q --output log/15/curl855.out --include --trace-ascii log/15/trace855 --trace-time pop3://127.0.0.1:40131/855 -u user:secret > log/15/stdout855 2> log/15/stderr855 855: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 855 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind855 ../src/curl -q --output log/15/curl855.out --include --trace-ascii log/15/trace855 --trace-time pop3://127.0.0.1:40131/855 -u user:secret > log/15/stdout855 2> log/15/stderr855 === End of file commands.log === Start of file pop3_server.log 14:54:05.345915 POP3 server listens on port IPv4/40131 14:54:05.346000 logged pid 120203 in log/15/server/pop3_server.pid 14:54:05.346023 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.428491 Running IPv4 version 14:54:05.428554 Listening on port 40131 14:54:05.428591 Wrote pid 120206 to log/15/server/pop3_sockfilt.pid 14:54:05.428622 Wrote port 40131 to log/15/server/pop3_server.port 14:54:05.428640 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY RETR -ERR no such message Testnum 855 === End of file server.cmd === Start of file valgrind855 ==120594== ==120594== Process terminating with default action of signal 4 (SIGILL) ==120594== Illegal opcode at address 0x4014B6F ==120594== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120594== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120594== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120594== by 0x4004266: main (tool_main.c:199) === End of file valgrind855 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind740 ../src/curl -q --output log/22/curl740.out --include --trace-ascii log/22/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout740 2> log/22/stderr740 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind858 ../src/curl -q --output log/6/curl858.out --include --trace-ascii log/6/trace858 --trace-time pop3://127.0.0.1:43111/858 -u user:secret -X DELE -I > log/6/stdout858 2> log/6/stderr858 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind856 ../src/curl -q --output log/4/curl856.out --include --trace-ascii log/4/trace856 --trace-time pop3://127.0.0.1:35771/856 -u user:wrong > log/4/stdout856 2> log/4/stderr856 2/server/pop3_server.pid" --logfile "log/2/pop3_server.log" --logdir "log/2" --portfile "log/2/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45555 (log/2/server/pop3_server.port) RUN: POP3 server is PID 120201 port 45555 * pid pop3 => 120201 120201 test 0854...[POP3 LIST no messages available] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind854 ../src/curl -q --output log/2/curl854.out --include --trace-ascii log/2/trace854 --trace-time pop3://127.0.0.1:45555/ -u user:secret > log/2/stdout854 2> log/2/stderr854 854: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 854 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind854 ../src/curl -q --output log/2/curl854.out --include --trace-ascii log/2/trace854 --trace-time pop3://127.0.0.1:45555/ -u user:secret > log/2/stdout854 2> log/2/stderr854 === End of file commands.log === Start of file pop3_server.log 14:54:05.338483 POP3 server listens on port IPv4/45555 14:54:05.338563 logged pid 120201 in log/2/server/pop3_server.pid 14:54:05.338590 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.421045 Running IPv4 version 14:54:05.421109 Listening on port 45555 14:54:05.421152 Wrote pid 120205 to log/2/server/pop3_sockfilt.pid 14:54:05.421181 Wrote port 45555 to log/2/server/pop3_server.port 14:54:05.421203 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK but no messages\r\n. Testnum 854 === End of file server.cmd === Start of file valgrind854 ==120573== ==120573== Process terminating with default action of signal 4 (SIGILL) ==120573== Illegal opcode at address 0x4014B6F ==120573== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120573== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120573== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120573== by 0x4004266: main (tool_main.c:199) === End of file valgrind854 setenv HOME = /startdir/src/build-curl/tests/log/22 test 0740...[IPFS with gateway URL from multiline gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind740 ../src/curl -q --output log/22/curl740.out --include --trace-ascii log/22/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout740 2> log/22/stderr740 740: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 740 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind740 ../src/curl -q --output log/22/curl740.out --include --trace-ascii log/22/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout740 2> log/22/stderr740 === End of file commands.log === Start of file http_server.log 14:54:00.625601 ====> Client connect 14:54:00.625635 accept_connection 3 returned 4 14:54:00.625653 accept_connection 3 returned 0 14:54:00.625669 Read 93 bytes 14:54:00.625680 Process 93 bytes request 14:54:00.625695 Got request: GET /verifiedserver HTTP/1.1 14:54:00.625705 Are-we-friendly question received 14:54:00.625731 Wrote request (93 bytes) input to log/22/server.input 14:54:00.625749 Identifying ourselves as friends 14:54:00.625812 Response sent (56 bytes) and written to log/22/server.response 14:54:00.625824 special request received, no persistency 14:54:00.625834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 42348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 740 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind740 ==115030== ==115030== Process terminating with default action of signal 4 (SIGILL) ==115030== Illegal opcode at address 0x4014B6F ==115030== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115030== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115030== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115030== by 0x4004266: main (tool_main.c:199) === End of file valgrind740 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/pop3_server.pid" --logfile "log/6/pop3_server.log" --logdir "log/6" --portfile "log/6/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43111 (log/6/server/pop3_server.port) RUN: POP3 server is PID 120219 port 43111 * pid pop3 => 120219 120219 test 0858...[POP3 DELE message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind858 ../src/curl -q --output log/6/curl858.out --include --trace-ascii log/6/trace858 --trace-time pop3://127.0.0.1:43111/858 -u user:secret -X DELE -I > log/6/stdout858 2> log/6/stderr858 858: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 858 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind858 ../src/curl -q --output log/6/curl858.out --include --trace-ascii log/6/trace858 --trace-time pop3://127.0.0.1:43111/858 -u user:secret -X DELE -I > log/6/stdout858 2> log/6/stderr858 === End of file commands.log === Start of file pop3_server.log 14:54:05.490781 POP3 server listens on port IPv4/43111 14:54:05.490867 logged pid 120219 in log/6/server/pop3_server.pid 14:54:05.490892 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.573353 Running IPv4 version 14:54:05.573424 Listening on port 43111 14:54:05.573459 Wrote pid 120226 to log/6/server/pop3_sockfilt.pid 14:54:05.573482 Wrote port 43111 to log/6/server/pop3_server.port 14:54:05.573504 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 ==120682== ==120682== Process terminating with default action of signal 4 (SIGILL) ==120682== Illegal opcode at address 0x4014B6F ==120682== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120682== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120682== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120682== by 0x4004266: main (tool_main.c:199) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/pop3_server.pid" --logfile "log/4/pop3_server.log" --logdir "log/4" --portfile CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-time pop3://127.0.0.1:37133/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind859 ../src/curl -q --output log/17/curl859.out --include --trace-ascii log/17/trace859 --trace-time pop3://127.0.0.1:38559 -u user:secret -X STAT -I > log/17/stdout859 2> log/17/stderr859 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind872 ../src/curl -q --output log/10/curl872.out --include --trace-ascii log/10/trace872 --trace-time pop3://127.0.0.1:33159/872 -u user:secret --sasl-ir > log/10/stdout872 2> log/10/stderr872 "log/4/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35771 (log/4/server/pop3_server.port) RUN: POP3 server is PID 120217 port 35771 * pid pop3 => 120217 120217 test 0856...[POP3 invalid login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind856 ../src/curl -q --output log/4/curl856.out --include --trace-ascii log/4/trace856 --trace-time pop3://127.0.0.1:35771/856 -u user:wrong > log/4/stdout856 2> log/4/stderr856 856: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 856 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind856 ../src/curl -q --output log/4/curl856.out --include --trace-ascii log/4/trace856 --trace-time pop3://127.0.0.1:35771/856 -u user:wrong > log/4/stdout856 2> log/4/stderr856 === End of file commands.log === Start of file pop3_server.log 14:54:05.486797 POP3 server listens on port IPv4/35771 14:54:05.486856 logged pid 120217 in log/4/server/pop3_server.pid 14:54:05.486895 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.569417 Running IPv4 version 14:54:05.569468 Listening on port 35771 14:54:05.569499 Wrote pid 120224 to log/4/server/pop3_sockfilt.pid 14:54:05.569523 Wrote port 35771 to log/4/server/pop3_server.port 14:54:05.569539 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY PASS -ERR Login failure Testnum 856 === End of file server.cmd === Start of file valgrind856 ==120680== ==120680== Process terminating with default action of signal 4 (SIGILL) ==120680== Illegal opcode at address 0x4014B6F ==120680== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120680== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120680== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120680== by 0x4004266: main (tool_main.c:199) === End of file valgrind856 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/pop3_server.pid" --logfile "log/13/pop3_server.log" --logdir "log/13" --portfile "log/13/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37133 (log/13/server/pop3_server.port) RUN: POP3 server is PID 120218 port 37133 * pid pop3 => 120218 120218 test 0857...[POP3 RETR message with dot-prefixed line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-time pop3://127.0.0.1:37133/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 857: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 857 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-time pop3://127.0.0.1:37133/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 === End of file commands.log === Start of file pop3_server.log 14:54:05.487673 POP3 server listens on port IPv4/37133 14:54:05.487740 logged pid 120218 in log/13/server/pop3_server.pid 14:54:05.487761 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.570267 Running IPv4 version 14:54:05.570329 Listening on port 37133 14:54:05.570358 Wrote pid 120225 to log/13/server/pop3_sockfilt.pid 14:54:05.570380 Wrote port 37133 to log/13/server/pop3_server.port 14:54:05.570397 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 857 === End of file server.cmd === Start of file valgrind857 ==120683== ==120683== Process terminating with default action of signal 4 (SIGILL) ==120683== Illegal opcode at address 0x4014B6F ==120683== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120683== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120683== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120683== by 0x4004266: main (tool_main.c:199) === End of file valgrind857 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/pop3_server.pid" --logfile "log/17/pop3_server.log" --logdir "log/17" --portfile "log/17/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38559 (log/17/server/pop3_server.port) RUN: POP3 server is PID 120222 port 38559 * pid pop3 => 120222 120222 test 0859...[POP3 STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind859 ../src/curl -q --output log/17/curl859.out --include --trace-ascii log/17/trace859 --trace-time pop3://127.0.0.1:38559 -u user:secret -X STAT -I > log/17/stdout859 2> log/17/stderr859 859: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 859 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind859 ../src/curl -q --output log/17/curl859.out --include --trace-ascii log/17/trace859 --trace-time pop3://127.0.0.1:38559 -u user:secret -X STAT -I > log/17/stdout859 2> log/17/stderr859 === End of file commands.log === Start of file pop3_server.log 14:54:05.506723 POP3 server listens on port IPv4/38559 14:54:05.506777 logged pid 120222 in log/17/server/pop3_server.pid 14:54:05.506795 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.589323 Running IPv4 version 14:54:05.589391 Listening on port 38559 14:54:05.589420 Wrote pid 120232 to log/17/server/pop3_sockfilt.pid 14:54:05.589442 Wrote port 38559 to log/17/server/pop3_server.port 14:54:05.589460 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 859 === End of file server.cmd === Start of file valgrind859 ==120782== ==120782== Process terminating with default action of signal 4 (SIGILL) ==120782== Illegal opcode at address 0x4014B6F ==120782== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120782== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120782== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120782== by 0x4004266: main (tool_main.c:199) === End of file valgrind859 test 0872...[POP3 login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind872 ../src/curl -q --output log/10/curl872.out --include --trace-ascii log/10/trace872 --trace-time pop3://127.0.0.1:33159/872 -u user:secret --sasl-ir > log/10/stdout872 2> log/10/stderr872 872: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 872 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppreCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind741 ../src/curl -q --output log/7/curl741.out --include --trace-ascii log/7/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout741 2> log/7/stderr741 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:44115 -u user:secret -X NOOP -I > log/12/stdout860 2> log/12/stderr860 ssions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind872 ../src/curl -q --output log/10/curl872.out --include --trace-ascii log/10/trace872 --trace-time pop3://127.0.0.1:33159/872 -u user:secret --sasl-ir > log/10/stdout872 2> log/10/stderr872 === End of file commands.log === Start of file pop3_server.log 14:54:06.507424 ====> Client connect 14:54:06.507550 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:06.507801 < "CAPA" 14:54:06.507832 > "-ERR Unrecognized command[CR][LF]" 14:54:06.507962 < "RETR verifiedserver" 14:54:06.507986 return proof we are we 14:54:06.508003 > "+OK Mail transfer starts[CR][LF]" 14:54:06.508017 > "WE ROOLZ: 101647[CR][LF]" 14:54:06.508031 > ".[CR][LF]" 14:54:06.550677 < "QUIT" 14:54:06.550719 > "+OK curl POP3 server signing off[CR][LF]" 14:54:06.551382 MAIN sockfilt said DISC 14:54:06.551404 ====> Client disconnected 14:54:06.551466 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.590138 ====> Client connect 14:54:06.590369 Received DATA (on stdin) 14:54:06.590386 > 178 bytes data, server => client 14:54:06.590396 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.590405 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.590413 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:06.590421 've \r\n' 14:54:06.590485 < 6 bytes data, client => server 14:54:06.590494 'CAPA\r\n' 14:54:06.590642 Received DATA (on stdin) 14:54:06.590653 > 27 bytes data, server => client 14:54:06.590661 '-ERR Unrecognized command\r\n' 14:54:06.590704 < 21 bytes data, client => server 14:54:06.590713 'RETR verifiedserver\r\n' 14:54:06.590840 Received DATA (on stdin) 14:54:06.590850 > 26 bytes data, server => client 14:54:06.590858 '+OK Mail transfer starts\r\n' 14:54:06.590873 Received DATA (on stdin) 14:54:06.590882 > 18 bytes data, server => client 14:54:06.590890 'WE ROOLZ: 101647\r\n' 14:54:06.590900 Received DATA (on stdin) 14:54:06.590908 > 3 bytes data, server => client 14:54:06.590916 '.\r\n' 14:54:06.633295 < 6 bytes data, client => server 14:54:06.633330 'QUIT\r\n' 14:54:06.633530 Received DATA (on stdin) 14:54:06.633540 > 34 bytes data, server => client 14:54:06.633549 '+OK curl POP3 server signing off\r\n' 14:54:06.634153 ====> Client disconnect 14:54:06.634274 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 872 === End of file server.cmd === Start of file valgrind872 ==120891== ==120891== Process terminating with default action of signal 4 (SIGILL) ==120891== Illegal opcode at address 0x4014B6F ==120891== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120891== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120891== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120891== by 0x4004266: main (tool_main.c:199) === End of file valgrind872 setenv HOME = /startdir/src/build-curl/tests/log/7 test 0741...[IPFS malformed gw URL from multiline gateway file, first line no url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind741 ../src/curl -q --output log/7/curl741.out --include --trace-ascii log/7/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout741 2> log/7/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/7/ dir after test 741 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind741 ../src/curl -q --output log/7/curl741.out --include --trace-ascii log/7/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout741 2> log/7/stderr741 === End of file commands.log === Start of file http_server.log 14:54:00.626095 ====> Client connect 14:54:00.626119 accept_connection 3 returned 4 14:54:00.626133 accept_connection 3 returned 0 14:54:00.626144 Read 93 bytes 14:54:00.626153 Process 93 bytes request 14:54:00.626162 Got request: GET /verifiedserver HTTP/1.1 14:54:00.626170 Are-we-friendly question received 14:54:00.626188 Wrote request (93 bytes) input to log/7/server.input 14:54:00.626201 Identifying ourselves as friends 14:54:00.626241 Response sent (56 bytes) and written to log/7/server.response 14:54:00.626250 special request received, no persistency 14:54:00.626257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 46380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 741 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind741 ==115008== ==115008== Process terminating with default action of signal 4 (SIGILL) ==115008== Illegal opcode at address 0x4014B6F ==115008== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==115008== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==115008== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==115008== by 0x4004266: main (tool_main.c:199) === End of file valgrind741 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/pop3_server.pid" --logfile "log/12/pop3_server.log" --logdir "log/12" --portfile "log/12/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44115 (log/12/server/pop3_server.port) RUN: POP3 server is PID 120235 port 44115 * pid pop3 => 120235 120235 test 0860...[POP3 NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:44115 -u user:secret -X NOOP -I > log/12/stdout860 2> log/12/stderr860 860: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 860 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:44115 -u user:secret -X NOOP -I > log/12/stdout860 2> log/12/stderr860 === End of file commands.log === Start of file pop3_server.log 14:54:05.606433 POP3 server listens on port IPv4/44115 14:54:05.606495 logged pid 120235 in log/12/server/pop3_server.pid 14:54:05.606682 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.689021 Running IPv4 version 14:54:05.689099 Listening on port 44115 14:54:05.689126 Wrote pid 120237 to log/12/server/pop3_sockfilt.pid 14:54:05.689147 Wrote port 44115 to log/12/server/pop3_server.port 14:54:05.689165 Received PING (on stdin) === End of file pop3_sockfilt.log ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind864 ../src/curl -q --output log/21/curl864.out --include --trace-ascii log/21/trace864 --trace-time pop3://127.0.0.1:43035/864 -u user:secret > log/21/stdout864 2> log/21/stderr864 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:42553 -u user:secret -X UIDL > log/11/stdout861 2> log/11/stderr861 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind862 ../src/curl -q --output log/16/curl862.out --include --trace-ascii log/16/trace862 --trace-time pop3://127.0.0.1:35287 -u user:secret -X 'TOP 862 0' > log/16/stdout862 2> log/16/stderr862 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind863 ../src/curl -q --output log/3/curl863.out --include --trace-ascii log/3/trace863 --trace-time pop3://127.0.0.1:45547 -u user:secret -X RSET -I > log/3/stdout863 2> log/3/stderr863 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind866 ../src/curl -q --output log/19/curl866.out --include --trace-ascii log/19/trace866 --trace-time pop3://127.0.0.1:40999/866 -u user:secret > log/19/stdout866 2> log/19/stderr866 = Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==120943== ==120943== Process terminating with default action of signal 4 (SIGILL) ==120943== Illegal opcode at address 0x4014B6F ==120943== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==120943== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==120943== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==120943== by 0x4004266: main (tool_main.c:199) === End of file valgrind860 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/pop3_server.pid" --logfile "log/11/pop3_server.log" --logdir "log/11" --portfile "log/11/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42553 (log/11/server/pop3_server.port) RUN: POP3 server is PID 120240 port 42553 * pid pop3 => 120240 120240 test 0861...[POP3 UIDL (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:42553 -u user:secret -X UIDL > log/11/stdout861 2> log/11/stderr861 861: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 861 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:42553 -u user:secret -X UIDL > log/11/stdout861 2> log/11/stderr861 === End of file commands.log === Start of file pop3_server.log 14:54:05.707931 POP3 server listens on port IPv4/42553 14:54:05.707985 logged pid 120240 in log/11/server/pop3_server.pid 14:54:05.708002 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.790475 Running IPv4 version 14:54:05.790531 Listening on port 42553 14:54:05.790559 Wrote pid 120271 to log/11/server/pop3_sockfilt.pid 14:54:05.790581 Wrote port 42553 to log/11/server/pop3_server.port 14:54:05.790676 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA UIDL USER Testnum 861 === End of file server.cmd === Start of file valgrind861 ==121000== ==121000== Process terminating with default action of signal 4 (SIGILL) ==121000== Illegal opcode at address 0x4014B6F ==121000== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121000== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121000== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121000== by 0x4004266: main (tool_main.c:199) === End of file valgrind861 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/pop3_server.pid" --logfile "log/21/pop3_server.log" --logdir "log/21" --portfile "log/21/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43035 (log/21/server/pop3_server.port) RUN: POP3 server is PID 120247 port 43035 * pid pop3 => 120247 120247 test 0864...[POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind864 ../src/curl -q --output log/21/curl864.out --include --trace-ascii log/21/trace864 --trace-time pop3://127.0.0.1:43035/864 -u user:secret > log/21/stdout864 2> log/21/stderr864 864: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 864 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind864 ../src/curl -q --output log/21/curl864.out --include --trace-ascii log/21/trace864 --trace-time pop3://127.0.0.1:43035/864 -u user:secret > log/21/stdout864 2> log/21/stderr864 === End of file commands.log === Start of file pop3_server.log 14:54:05.718640 POP3 server listens on port IPv4/43035 14:54:05.718708 logged pid 120247 in log/21/server/pop3_server.pid 14:54:05.718728 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.801267 Running IPv4 version 14:54:05.801316 Listening on port 43035 14:54:05.801345 Wrote pid 120293 to log/21/server/pop3_sockfilt.pid 14:54:05.801368 Wrote port 43035 to log/21/server/pop3_server.port 14:54:05.801384 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA APOP REPLY welcome +OK curl POP3 server ready to serve <1972.987654321\@curl> Testnum 864 === End of file server.cmd === Start of file valgrind864 ==121022== ==121022== Process terminating with default action of signal 4 (SIGILL) ==121022== Illegal opcode at address 0x4014B6F ==121022== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121022== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121022== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121022== by 0x4004266: main (tool_main.c:199) === End of file valgrind864 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/pop3_server.pid" --logfile "log/16/pop3_server.log" --logdir "log/16" --portfile "log/16/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35287 (log/16/server/pop3_server.port) RUN: POP3 server is PID 120241 port 35287 * pid pop3 => 120241 120241 test 0862...[POP3 retrieve message header (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind862 ../src/curl -q --output log/16/curl862.out --include --trace-ascii log/16/trace862 --trace-time pop3://127.0.0.1:35287 -u user:secret -X 'TOP 862 0' > log/16/stdout862 2> log/16/stderr862 862: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 862 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind862 ../src/curl -q --output log/16/curl862.out --include --trace-ascii log/16/trace862 --trace-time pop3://127.0.0.1:35287 -u user:secret -X 'TOP 862 0' > log/16/stdout862 2> log/16/stderr862 === End of file commands.log === Start of file pop3_server.log 14:54:05.716024 POP3 server listens on port IPv4/35287 14:54:05.716088 logged pid 120241 in log/16/server/pop3_server.pid 14:54:05.716109 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.798647 Running IPv4 version 14:54:05.798695 Listening on port 35287 14:54:05.798723 Wrote pid 120289 to log/16/server/pop3_sockfilt.pid 14:54:05.798745 Wrote port 35287 to log/16/server/pop3_server.port 14:54:05.798762 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 862 === End of file server.cmd === Start of file valgrind862 ==121009== ==121009== Process terminating with default action of signal 4 (SIGILL) ==121009== Illegal opcode at address 0x4014B6F ==121009== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121009== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121009== by 0x4004266: UnknownInlinedFun (tool_opeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind865 ../src/curl -q --output log/9/curl865.out --include --trace-ascii log/9/trace865 --trace-time pop3://127.0.0.1:44283/865 -u user:secret > log/9/stdout865 2> log/9/stderr865 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind868 ../src/curl -q --output log/20/curl868.out --include --trace-ascii log/20/trace868 --trace-time pop3://127.0.0.1:42545/868 -u testuser:testpass > log/20/stdout868 2> log/20/stderr868 rate.c:2160) ==121009== by 0x4004266: main (tool_main.c:199) === End of file valgrind862 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/pop3_server.pid" --logfile "log/3/pop3_server.log" --logdir "log/3" --portfile "log/3/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45547 (log/3/server/pop3_server.port) RUN: POP3 server is PID 120243 port 45547 * pid pop3 => 120243 120243 test 0863...[POP3 RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind863 ../src/curl -q --output log/3/curl863.out --include --trace-ascii log/3/trace863 --trace-time pop3://127.0.0.1:45547 -u user:secret -X RSET -I > log/3/stdout863 2> log/3/stderr863 863: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 863 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind863 ../src/curl -q --output log/3/curl863.out --include --trace-ascii log/3/trace863 --trace-time pop3://127.0.0.1:45547 -u user:secret -X RSET -I > log/3/stdout863 2> log/3/stderr863 === End of file commands.log === Start of file pop3_server.log 14:54:05.715709 POP3 server listens on port IPv4/45547 14:54:05.715764 logged pid 120243 in log/3/server/pop3_server.pid 14:54:05.715782 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.798339 Running IPv4 version 14:54:05.798390 Listening on port 45547 14:54:05.798416 Wrote pid 120288 to log/3/server/pop3_sockfilt.pid 14:54:05.798438 Wrote port 45547 to log/3/server/pop3_server.port 14:54:05.798453 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 863 === End of file server.cmd === Start of file valgrind863 ==121018== ==121018== Process terminating with default action of signal 4 (SIGILL) ==121018== Illegal opcode at address 0x4014B6F ==121018== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121018== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121018== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121018== by 0x4004266: main (tool_main.c:199) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/pop3_server.pid" --logfile "log/19/pop3_server.log" --logdir "log/19" --portfile "log/19/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40999 (log/19/server/pop3_server.port) RUN: POP3 server is PID 120296 port 40999 * pid pop3 => 120296 120296 test 0866...[POP3 login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind866 ../src/curl -q --output log/19/curl866.out --include --trace-ascii log/19/trace866 --trace-time pop3://127.0.0.1:40999/866 -u user:secret > log/19/stdout866 2> log/19/stderr866 866: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 866 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind866 ../src/curl -q --output log/19/curl866.out --include --trace-ascii log/19/trace866 --trace-time pop3://127.0.0.1:40999/866 -u user:secret > log/19/stdout866 2> log/19/stderr866 === End of file commands.log === Start of file pop3_server.log 14:54:05.768057 POP3 server listens on port IPv4/40999 14:54:05.768119 logged pid 120296 in log/19/server/pop3_server.pid 14:54:05.768139 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.850665 Running IPv4 version 14:54:05.850727 Listening on port 40999 14:54:05.850755 Wrote pid 120298 to log/19/server/pop3_sockfilt.pid 14:54:05.850775 Wrote port 40999 to log/19/server/pop3_server.port 14:54:05.850790 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 866 === End of file server.cmd === Start of file valgrind866 ==121218== ==121218== Process terminating with default action of signal 4 (SIGILL) ==121218== Illegal opcode at address 0x4014B6F ==121218== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121218== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121218== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121218== by 0x4004266: main (tool_main.c:199) === End of file valgrind866 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/pop3_server.pid" --logfile "log/9/pop3_server.log" --logdir "log/9" --portfile "log/9/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44283 (log/9/server/pop3_server.port) RUN: POP3 server is PID 120294 port 44283 * pid pop3 => 120294 120294 test 0865...[POP3 plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind865 ../src/curl -q --output log/9/curl865.out --include --trace-ascii log/9/trace865 --trace-time pop3://127.0.0.1:44283/865 -u user:secret > log/9/stdout865 2> log/9/stderr865 865: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 865 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind865 ../src/curl -q --output log/9/curl865.out --include --trace-ascii log/9/trace865 --trace-time pop3://127.0.0.1:44283/865 -u user:secret > log/9/stdout865 2> log/9/stderr865 === End of file commands.log === Start of file pop3_server.log 14:54:05.747843 POP3 server listens on port IPv4/44283 14:54:05.747917 logged pid 120294 in log/9/server/pop3_server.pid 14:54:05.747939 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.830457 Running IPv4 version 14:54:05.830508 Listening on port 44283 14:54:05.830534 Wrote pid 120297 to log/9/server/pop3_sockfilt.pid 14:54:05.830555 Wrote port 44283 to log/9/server/pop3_server.port 14:54:05.830570 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 865 === End of file server.cmd === Start of file valgrind865 ==121166== ==121166== Process terminating with default action of signal 4 (SIGILL) ==121166== Illegal opcode at address 0x4014B6F ==121166== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121166== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121166== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121166== by 0x4004266: main (tool_main.c:199) === End of file valgrind865 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/pop3_server.pid" --logfile "log/20/pop3_server.log" --logdir "log/20" --portfile "log/20/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 4254CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:36513/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind875 ../src/curl -q --output log/14/curl875.out --include --trace-ascii log/14/trace875 --trace-time pop3://127.0.0.1:45135/%0d%0a/875 > log/14/stdout875 2> log/14/stderr875 5 (log/20/server/pop3_server.port) RUN: POP3 server is PID 120315 port 42545 * pid pop3 => 120315 120315 test 0868...[POP3 NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind868 ../src/curl -q --output log/20/curl868.out --include --trace-ascii log/20/trace868 --trace-time pop3://127.0.0.1:42545/868 -u testuser:testpass > log/20/stdout868 2> log/20/stderr868 868: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 868 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind868 ../src/curl -q --output log/20/curl868.out --include --trace-ascii log/20/trace868 --trace-time pop3://127.0.0.1:42545/868 -u testuser:testpass > log/20/stdout868 2> log/20/stderr868 === End of file commands.log === Start of file pop3_server.log 14:54:05.821590 POP3 server listens on port IPv4/42545 14:54:05.821645 logged pid 120315 in log/20/server/pop3_server.pid 14:54:05.821665 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.904219 Running IPv4 version 14:54:05.904272 Listening on port 42545 14:54:05.904298 Wrote pid 120317 to log/20/server/pop3_sockfilt.pid 14:54:05.904318 Wrote port 42545 to log/20/server/pop3_server.port 14:54:05.904333 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 868 === End of file server.cmd === Start of file valgrind868 ==121297== ==121297== Process terminating with default action of signal 4 (SIGILL) ==121297== Illegal opcode at address 0x4014B6F ==121297== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121297== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121297== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121297== by 0x4004266: main (tool_main.c:199) === End of file valgrind868 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/pop3_server.pid" --logfile "log/8/pop3_server.log" --logdir "log/8" --portfile "log/8/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36513 (log/8/server/pop3_server.port) RUN: POP3 server is PID 120316 port 36513 * pid pop3 => 120316 120316 test 0870...[POP3 OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:36513/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 870: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 870 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:36513/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 === End of file commands.log === Start of file pop3_server.log 14:54:05.823126 POP3 server listens on port IPv4/36513 14:54:05.823188 logged pid 120316 in log/8/server/pop3_server.pid 14:54:05.823208 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:05.905746 Running IPv4 version 14:54:05.905790 Listening on port 36513 14:54:05.905817 Wrote pid 120318 to log/8/server/pop3_sockfilt.pid 14:54:05.905839 Wrote port 36513 to log/8/server/pop3_server.port 14:54:05.905855 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful Testnum 870 === End of file server.cmd === Start of file valgrind870 ==121298== ==121298== Process terminating with default action of signal 4 (SIGILL) ==121298== Illegal opcode at address 0x4014B6F ==121298== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121298== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121298== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121298== by 0x4004266: main (tool_main.c:199) === End of file valgrind870 test 0875...[POP3 with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind875 ../src/curl -q --output log/14/curl875.out --include --trace-ascii log/14/trace875 --trace-time pop3://127.0.0.1:45135/%0d%0a/875 > log/14/stdout875 2> log/14/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/14/ dir after test 875 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind875 ../src/curl -q --output log/14/curl875.out --include --trace-ascii log/14/trace875 --trace-time pop3://127.0.0.1:45135/%0d%0a/875 > log/14/stdout875 2> log/14/stderr875 === End of file commands.log === Start of file pop3_server.log 14:54:06.874620 ====> Client connect 14:54:06.874768 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:06.875054 < "CAPA" 14:54:06.875099 > "-ERR Unrecognized command[CR][LF]" 14:54:06.875272 < "RETR verifiedserver" 14:54:06.875302 return proof we are we 14:54:06.875328 > "+OK Mail transfer starts[CR][LF]" 14:54:06.875346 > "WE ROOLZ: 120180[CR][LF]" 14:54:06.875364 > ".[CR][LF]" 14:54:06.917227 < "QUIT" 14:54:06.917284 > "+OK curl POP3 server signing off[CR][LF]" 14:54:06.917831 MAIN sockfilt said DISC 14:54:06.917878 ====> Client disconnected 14:54:06.917942 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.957343 ====> Client connect 14:54:06.957593 Received DATA (on stdin) 14:54:06.957608 > 178 bytes data, server => client 14:54:06.957621 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.957632 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.957642 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:06.957652 've \r\n' 14:54:06.957723 < 6 bytes data, client => server 14:54:06.957735 'CAPA\r\n' 14:54:06.957914 Received DATA (on stdin) 14:54:06.957927 > 27 bytes data, server => client 14:54:06.957938 '-ERR Unrecognized command\r\n' 14:54:06.957990 < 21 bytes data, client => server 14:54:06.958002 'RETR verifiedserver\r\n' 14:54:06.958176 Received DATA (on stdin) 14:54:06.958188 > 26 bytes data, server => client 14:54:06.958199 '+OK Mail transfer starts\r\n' 14:54:06.958220 Received DATA (on stdin) 14:54:06.958230 > 18 bytes data, server => client 14:54:06.958240 'WE ROOLZ: 120180\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind874 ../src/curl -q --output log/18/curl874.out --include --trace-ascii log/18/trace874 --trace-time pop3://127.0.0.1:44287/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout874 2> log/18/stderr874 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-time pop3://127.0.0.1:42565/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 14:54:06.958253 Received DATA (on stdin) 14:54:06.958263 > 3 bytes data, server => client 14:54:06.958273 '.\r\n' 14:54:06.999855 < 6 bytes data, client => server 14:54:06.999891 'QUIT\r\n' 14:54:07.000105 Received DATA (on stdin) 14:54:07.000120 > 34 bytes data, server => client 14:54:07.000132 '+OK curl POP3 server signing off\r\n' 14:54:07.000568 ====> Client disconnect 14:54:07.000757 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 875 === End of file server.cmd === Start of file valgrind875 ==121479== ==121479== Process terminating with default action of signal 4 (SIGILL) ==121479== Illegal opcode at address 0x4014B6F ==121479== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121479== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121479== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121479== by 0x4004266: main (tool_main.c:199) === End of file valgrind875 test 0874...[POP3 OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind874 ../src/curl -q --output log/18/curl874.out --include --trace-ascii log/18/trace874 --trace-time pop3://127.0.0.1:44287/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout874 2> log/18/stderr874 874: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 874 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind874 ../src/curl -q --output log/18/curl874.out --include --trace-ascii log/18/trace874 --trace-time pop3://127.0.0.1:44287/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout874 2> log/18/stderr874 === End of file commands.log === Start of file pop3_server.log 14:54:06.872098 ====> Client connect 14:54:06.872254 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:06.872569 < "CAPA" 14:54:06.872611 > "-ERR Unrecognized command[CR][LF]" 14:54:06.872790 < "RETR verifiedserver" 14:54:06.872819 return proof we are we 14:54:06.872842 > "+OK Mail transfer starts[CR][LF]" 14:54:06.872862 > "WE ROOLZ: 120183[CR][LF]" 14:54:06.872879 > ".[CR][LF]" 14:54:06.917227 < "QUIT" 14:54:06.917286 > "+OK curl POP3 server signing off[CR][LF]" 14:54:06.918088 MAIN sockfilt said DISC 14:54:06.918133 ====> Client disconnected 14:54:06.918192 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.954807 ====> Client connect 14:54:06.955084 Received DATA (on stdin) 14:54:06.955100 > 178 bytes data, server => client 14:54:06.955114 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.955127 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.955139 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:06.955149 've \r\n' 14:54:06.955227 < 6 bytes data, client => server 14:54:06.955242 'CAPA\r\n' 14:54:06.955429 Received DATA (on stdin) 14:54:06.955443 > 27 bytes data, server => client 14:54:06.955455 '-ERR Unrecognized command\r\n' 14:54:06.955510 < 21 bytes data, client => server 14:54:06.955523 'RETR verifiedserver\r\n' 14:54:06.955693 Received DATA (on stdin) 14:54:06.955706 > 26 bytes data, server => client 14:54:06.955718 '+OK Mail transfer starts\r\n' 14:54:06.955741 Received DATA (on stdin) 14:54:06.955753 > 18 bytes data, server => client 14:54:06.955764 'WE ROOLZ: 120183\r\n' 14:54:06.955778 Received DATA (on stdin) 14:54:06.955789 > 3 bytes data, server => client 14:54:06.955800 '.\r\n' 14:54:06.999854 < 6 bytes data, client => server 14:54:06.999891 'QUIT\r\n' 14:54:07.000107 Received DATA (on stdin) 14:54:07.000123 > 34 bytes data, server => client 14:54:07.000136 '+OK curl POP3 server signing off\r\n' 14:54:07.000829 ====> Client disconnect 14:54:07.001011 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH +OK Login successful Testnum 874 === End of file server.cmd === Start of file valgrind874 ==121482== ==121482== Process terminating with default action of signal 4 (SIGILL) ==121482== Illegal opcode at address 0x4014B6F ==121482== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121482== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121482== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121482== by 0x4004266: main (tool_main.c:199) === End of file valgrind874 test 0876...[POP3 CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-time pop3://127.0.0.1:42565/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 876: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 876 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-time pop3://127.0.0.1:42565/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 === End of file commands.log === Start of file pop3_server.log 14:54:06.882383 ====> Client connect 14:54:06.882539 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:06.882903 < "CAPA" 14:54:06.882946 > "-ERR Unrecognized command[CR][LF]" 14:54:06.883128 < "RETR verifiedserver" 14:54:06.883157 return proof we are we 14:54:06.883179 > "+OK Mail transfer starts[CR][LF]" 14:54:06.883198 > "WE ROOLZ: 120186[CR][LF]" 14:54:06.883216 > ".[CR][LF]" 14:54:06.927291 < "QUIT" 14:54:06.927354 > "+OK curl POP3 server signing off[CR][LF]" 14:54:06.928141 MAIN sockfilt said DISC 14:54:06.928196 ====> Client disconnected 14:54:06.928267 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.965090 ====> Client connect 14:54:06.965365 Received DATA (on stdin) 14:54:06.965382 > 178 bytes data, server => client 14:54:06.965395 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.965407 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.965419 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:06.965429 've \r\n' 14:54:06.965558 < 6 bytes data, client => server 14:54:06.965571 'CAPA\r\n' 14:54:06.965763 Received DATA (on stdin) 14:54:06.965776 > 27 bytes data, server => client 14:54:06.965788 '-ERR Unrecognized command\r\n' 14:54:06.965842 < 21 bytes data, client => server 14:54:06.965854 'RETR verifiedserver\r\n' 14:54:06.966029 Received DATA (on stdin) 14:54:06.966041 > 26 bytes data, server => client 14:54:06.966053 '+OK Mail transfer starts\r\n' 14:54:06.966074 Received DATA (on stdin) 14:54:06.966085 > 18 bytes data, server => client 14:54:06.966096 'WE ROOLZ: 120186\r\n' 14:54:06.966111 Received DATA (on stdin) 14:54:06.966122 > 3 bytes data, server => client 14:54:06.966133 '.\r\n' 14:54:07.009929 < 6 bytes data, client => server 14:54:07.009959 'QUIT\r\n' 14:54:07.010178 Received DATA (on stdin) 14:54:07.010195 > 34 bytes data, server => client 14:54:07.010209 '+OK curl POCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-time pop3://127.0.0.1:40731/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/stderr873 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-time pop3://127.0.0.1:45555/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind879 ../src/curl -q --output log/15/curl879.out --include --trace-ascii log/15/trace879 --trace-time pop3://127.0.0.1:40131/879 -u user:secret > log/15/stdout879 2> log/15/stderr879 P3 server signing off\r\n' 14:54:07.010823 ====> Client disconnect 14:54:07.011093 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 876 === End of file server.cmd === Start of file valgrind876 ==121526== ==121526== Process terminating with default action of signal 4 (SIGILL) ==121526== Illegal opcode at address 0x4014B6F ==121526== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121526== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121526== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121526== by 0x4004266: main (tool_main.c:199) === End of file valgrind876 test 0873...[POP3 NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-time pop3://127.0.0.1:40731/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/stderr873 873: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 873 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-time pop3://127.0.0.1:40731/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/stderr873 === End of file commands.log === Start of file pop3_server.log 14:54:06.860410 ====> Client connect 14:54:06.860586 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:06.861011 < "CAPA" 14:54:06.861050 > "-ERR Unrecognized command[CR][LF]" 14:54:06.861210 < "RETR verifiedserver" 14:54:06.861238 return proof we are we 14:54:06.861259 > "+OK Mail transfer starts[CR][LF]" 14:54:06.861280 > "WE ROOLZ: 120167[CR][LF]" 14:54:06.861298 > ".[CR][LF]" 14:54:06.907217 < "QUIT" 14:54:06.907269 > "+OK curl POP3 server signing off[CR][LF]" 14:54:06.908264 MAIN sockfilt said DISC 14:54:06.908291 ====> Client disconnected 14:54:06.908824 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.943117 ====> Client connect 14:54:06.943411 Received DATA (on stdin) 14:54:06.943429 > 178 bytes data, server => client 14:54:06.943444 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.943456 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.943468 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:06.943478 've \r\n' 14:54:06.943670 < 6 bytes data, client => server 14:54:06.943684 'CAPA\r\n' 14:54:06.943864 Received DATA (on stdin) 14:54:06.943876 > 27 bytes data, server => client 14:54:06.943887 '-ERR Unrecognized command\r\n' 14:54:06.943937 < 21 bytes data, client => server 14:54:06.943948 'RETR verifiedserver\r\n' 14:54:06.944109 Received DATA (on stdin) 14:54:06.944122 > 26 bytes data, server => client 14:54:06.944132 '+OK Mail transfer starts\r\n' 14:54:06.944152 Received DATA (on stdin) 14:54:06.944160 > 18 bytes data, server => client 14:54:06.944169 'WE ROOLZ: 120167\r\n' 14:54:06.944180 Received DATA (on stdin) 14:54:06.944188 > 3 bytes data, server => client 14:54:06.944197 '.\r\n' 14:54:06.989846 < 6 bytes data, client => server 14:54:06.989880 'QUIT\r\n' 14:54:06.990084 Received DATA (on stdin) 14:54:06.990098 > 34 bytes data, server => client 14:54:06.990111 '+OK curl POP3 server signing off\r\n' 14:54:06.991020 ====> Client disconnect 14:54:06.991249 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 873 === End of file server.cmd === Start of file valgrind873 ==121469== ==121469== Process terminating with default action of signal 4 (SIGILL) ==121469== Illegal opcode at address 0x4014B6F ==121469== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121469== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121469== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121469== by 0x4004266: main (tool_main.c:199) === End of file valgrind873 test 0880...[POP3 NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-time pop3://127.0.0.1:45555/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 880: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 880 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-time pop3://127.0.0.1:45555/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 === End of file commands.log === Start of file pop3_server.log 14:54:07.153360 ====> Client connect 14:54:07.153512 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.153892 < "CAPA" 14:54:07.153937 > "-ERR Unrecognized command[CR][LF]" 14:54:07.154118 < "RETR verifiedserver" 14:54:07.154146 return proof we are we 14:54:07.154168 > "+OK Mail transfer starts[CR][LF]" 14:54:07.154188 > "WE ROOLZ: 120201[CR][LF]" 14:54:07.154206 > ".[CR][LF]" 14:54:07.200519 < "QUIT" 14:54:07.200568 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.201975 MAIN sockfilt said DISC 14:54:07.202011 ====> Client disconnected 14:54:07.202076 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.236084 ====> Client connect 14:54:07.236400 Received DATA (on stdin) 14:54:07.236420 > 178 bytes data, server => client 14:54:07.236433 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.236446 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.236458 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.236469 've \r\n' 14:54:07.236541 < 6 bytes data, client => server 14:54:07.236555 'CAPA\r\n' 14:54:07.236754 Received DATA (on stdin) 14:54:07.236769 > 27 bytes data, server => client 14:54:07.236781 '-ERR Unrecognized command\r\n' 14:54:07.236836 < 21 bytes data, client => server 14:54:07.236850 'RETR verifiedserver\r\n' 14:54:07.237019 Received DATA (on stdin) 14:54:07.237032 > 26 bytes data, server => client 14:54:07.237044 '+OK Mail transfer starts\r\n' 14:54:07.237066 Received DATA (on stdin) 14:54:07.237077 > 18 bytes data, server => client 14:54:07.237089 'WE ROOLZ: 120201\r\n' 14:54:07.237104 Received DATA (on stdin) 14:54:07.237115 > 3 bytes data, server => client 14:54:07.237126 '.\r\n' 14:54:07.282214 < 6 bytes data, client => server 14:54:07.283861 'QUIT\r\nCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind884 ../src/curl -q --output log/6/curl884.out --include --trace-ascii log/6/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43111/884' > log/6/stdout884 2> log/6/stderr884 ' 14:54:07.283891 Received DATA (on stdin) 14:54:07.283907 > 34 bytes data, server => client 14:54:07.283919 '+OK curl POP3 server signing off\r\n' 14:54:07.284102 ====> Client disconnect 14:54:07.284952 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 880 === End of file server.cmd === Start of file valgrind880 ==121730== ==121730== Process terminating with default action of signal 4 (SIGILL) ==121730== Illegal opcode at address 0x4014B6F ==121730== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121730== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121730== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121730== by 0x4004266: main (tool_main.c:199) === End of file valgrind880 test 0879...[POP3 CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind879 ../src/curl -q --output log/15/curl879.out --include --trace-ascii log/15/trace879 --trace-time pop3://127.0.0.1:40131/879 -u user:secret > log/15/stdout879 2> log/15/stderr879 879: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 879 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind879 ../src/curl -q --output log/15/curl879.out --include --trace-ascii log/15/trace879 --trace-time pop3://127.0.0.1:40131/879 -u user:secret > log/15/stdout879 2> log/15/stderr879 === End of file commands.log === Start of file pop3_server.log 14:54:07.149472 ====> Client connect 14:54:07.149689 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.150011 < "CAPA" 14:54:07.150056 > "-ERR Unrecognized command[CR][LF]" 14:54:07.150253 < "RETR verifiedserver" 14:54:07.150284 return proof we are we 14:54:07.150308 > "+OK Mail transfer starts[CR][LF]" 14:54:07.150330 > "WE ROOLZ: 120203[CR][LF]" 14:54:07.150348 > ".[CR][LF]" 14:54:07.193979 < "QUIT" 14:54:07.194041 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.194850 MAIN sockfilt said DISC 14:54:07.194881 ====> Client disconnected 14:54:07.194957 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.232156 ====> Client connect 14:54:07.232518 Received DATA (on stdin) 14:54:07.232536 > 178 bytes data, server => client 14:54:07.232550 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.232563 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.232575 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.232585 've \r\n' 14:54:07.232660 < 6 bytes data, client => server 14:54:07.232675 'CAPA\r\n' 14:54:07.232874 Received DATA (on stdin) 14:54:07.232887 > 27 bytes data, server => client 14:54:07.232899 '-ERR Unrecognized command\r\n' 14:54:07.232955 < 21 bytes data, client => server 14:54:07.232969 'RETR verifiedserver\r\n' 14:54:07.233162 Received DATA (on stdin) 14:54:07.233176 > 26 bytes data, server => client 14:54:07.233188 '+OK Mail transfer starts\r\n' 14:54:07.233211 Received DATA (on stdin) 14:54:07.233222 > 18 bytes data, server => client 14:54:07.233234 'WE ROOLZ: 120203\r\n' 14:54:07.233248 Received DATA (on stdin) 14:54:07.233259 > 3 bytes data, server => client 14:54:07.233270 '.\r\n' 14:54:07.276603 < 6 bytes data, client => server 14:54:07.276630 'QUIT\r\n' 14:54:07.276861 Received DATA (on stdin) 14:54:07.276875 > 34 bytes data, server => client 14:54:07.276888 '+OK curl POP3 server signing off\r\n' 14:54:07.277604 ====> Client disconnect 14:54:07.277776 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 879 === End of file server.cmd === Start of file valgrind879 ==121716== ==121716== Process terminating with default action of signal 4 (SIGILL) ==121716== Illegal opcode at address 0x4014B6F ==121716== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121716== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121716== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121716== by 0x4004266: main (tool_main.c:199) === End of file valgrind879 test 0884...[POP3 external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind884 ../src/curl -q --output log/6/curl884.out --include --trace-ascii log/6/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43111/884' > log/6/stdout884 2> log/6/stderr884 884: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind884 ../src/curl -q --output log/6/curl884.out --include --trace-ascii log/6/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43111/884' > log/6/stdout884 2> log/6/stderr884 === End of file commands.log === Start of file pop3_server.log 14:54:07.262750 ====> Client connect 14:54:07.262980 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.263349 < "CAPA" 14:54:07.263395 > "-ERR Unrecognized command[CR][LF]" 14:54:07.263608 < "RETR verifiedserver" 14:54:07.263641 return proof we are we 14:54:07.263667 > "+OK Mail transfer starts[CR][LF]" 14:54:07.263689 > "WE ROOLZ: 120219[CR][LF]" 14:54:07.263707 > ".[CR][LF]" 14:54:07.310168 < "QUIT" 14:54:07.310250 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.311505 MAIN sockfilt said DISC 14:54:07.311556 ====> Client disconnected 14:54:07.311647 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.345409 ====> Client connect 14:54:07.345815 Received DATA (on stdin) 14:54:07.345838 > 178 bytes data, server => client 14:54:07.345853 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.345866 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.345878 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.345889 've \r\n' 14:54:07.345986 < 6 bytes data, client => server 14:54:07.346002 'CAPA\r\n' 14:54:07.346216 Received DATA (on stdin) 14:54:07.346231 > 27 bytes data, server => client 14:54:07.346243 '-ERR Unrecognized command\r\n' 14:54:07.346301 < 21 bytes data, client => server 14:54:07.346326 'RETR verifiedserver\r\n' 14:54:07.346522 Received DATA (on stdin) 14:54:07.346537 > 26 bytes data, server => client 14:54:07.346550 '+OK Mail transfer starts\r\n' 14:54:07.346575 Received DATA (on stdin) 14:54:07.346587 > 18 bytes data, server => client 14:54:07.346599 'WE ROOLZ: 120219\r\n' 14:54:07.346614 Received DATA (on stdin) 14:54:07.346625 > 3 bytes data, server => client 14:54:07.346636 '.\r\n' 14:54:07.392779 < 6 bytes data, client => server 14:54:07.392812 'QUIT\r\n' 14:54:07.393075 Received DATA (on stdin) 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind871 ../src/curl -q --output log/23/curl871.out --include --trace-ascii log/23/trace871 --trace-time pop3://127.0.0.1:32899/871 -u user:secret --sasl-ir > log/23/stdout871 2> log/23/stderr871 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind885 ../src/curl -q --output log/4/curl885.out --include --trace-ascii log/4/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35771/885' --sasl-ir > log/4/stdout885 2> log/4/stderr885 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind886 ../src/curl -q --output log/13/curl886.out --include --trace-ascii log/13/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37133/886' --sasl-ir > log/13/stdout886 2> log/13/stderr886 4:54:07.393094 > 34 bytes data, server => client 14:54:07.393107 '+OK curl POP3 server signing off\r\n' 14:54:07.394084 ====> Client disconnect 14:54:07.394472 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY = +OK Login successful Testnum 884 === End of file server.cmd === Start of file valgrind884 ==121878== ==121878== Process terminating with default action of signal 4 (SIGILL) ==121878== Illegal opcode at address 0x4014B6F ==121878== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121878== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121878== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121878== by 0x4004266: main (tool_main.c:199) === End of file valgrind884 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/pop3_server.pid" --logfile "log/23/pop3_server.log" --logdir "log/23" --portfile "log/23/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32899 (log/23/server/pop3_server.port) RUN: POP3 server is PID 120663 port 32899 * pid pop3 => 120663 120663 test 0871...[POP3 plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind871 ../src/curl -q --output log/23/curl871.out --include --trace-ascii log/23/trace871 --trace-time pop3://127.0.0.1:32899/871 -u user:secret --sasl-ir > log/23/stdout871 2> log/23/stderr871 871: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind871 ../src/curl -q --output log/23/curl871.out --include --trace-ascii log/23/trace871 --trace-time pop3://127.0.0.1:32899/871 -u user:secret --sasl-ir > log/23/stdout871 2> log/23/stderr871 === End of file commands.log === Start of file pop3_server.log 14:54:06.371512 POP3 server listens on port IPv4/32899 14:54:06.371568 logged pid 120663 in log/23/server/pop3_server.pid 14:54:06.371586 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.454130 Running IPv4 version 14:54:06.454188 Listening on port 32899 14:54:06.454216 Wrote pid 120669 to log/23/server/pop3_sockfilt.pid 14:54:06.454238 Wrote port 32899 to log/23/server/pop3_server.port 14:54:06.454254 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH +OK Login successful Testnum 871 === End of file server.cmd === Start of file valgrind871 ==121929== ==121929== Process terminating with default action of signal 4 (SIGILL) ==121929== Illegal opcode at address 0x4014B6F ==121929== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121929== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121929== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121929== by 0x4004266: main (tool_main.c:199) === End of file valgrind871 test 0885...[POP3 external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind885 ../src/curl -q --output log/4/curl885.out --include --trace-ascii log/4/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35771/885' --sasl-ir > log/4/stdout885 2> log/4/stderr885 885: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 885 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind885 ../src/curl -q --output log/4/curl885.out --include --trace-ascii log/4/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35771/885' --sasl-ir > log/4/stdout885 2> log/4/stderr885 === End of file commands.log === Start of file pop3_server.log 14:54:07.304236 ====> Client connect 14:54:07.304412 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.304734 < "CAPA" 14:54:07.304777 > "-ERR Unrecognized command[CR][LF]" 14:54:07.304953 < "RETR verifiedserver" 14:54:07.304982 return proof we are we 14:54:07.305004 > "+OK Mail transfer starts[CR][LF]" 14:54:07.305024 > "WE ROOLZ: 120217[CR][LF]" 14:54:07.305043 > ".[CR][LF]" 14:54:07.351185 < "QUIT" 14:54:07.351244 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.351729 MAIN sockfilt said DISC 14:54:07.351775 ====> Client disconnected 14:54:07.351857 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.386946 ====> Client connect 14:54:07.387238 Received DATA (on stdin) 14:54:07.387254 > 178 bytes data, server => client 14:54:07.387269 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.387281 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.387293 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.387304 've \r\n' 14:54:07.387383 < 6 bytes data, client => server 14:54:07.387399 'CAPA\r\n' 14:54:07.387593 Received DATA (on stdin) 14:54:07.387607 > 27 bytes data, server => client 14:54:07.387619 '-ERR Unrecognized command\r\n' 14:54:07.387674 < 21 bytes data, client => server 14:54:07.387688 'RETR verifiedserver\r\n' 14:54:07.387856 Received DATA (on stdin) 14:54:07.387870 > 26 bytes data, server => client 14:54:07.387882 '+OK Mail transfer starts\r\n' 14:54:07.387904 Received DATA (on stdin) 14:54:07.387915 > 18 bytes data, server => client 14:54:07.387926 'WE ROOLZ: 120217\r\n' 14:54:07.387941 Received DATA (on stdin) 14:54:07.387952 > 3 bytes data, server => client 14:54:07.387963 '.\r\n' 14:54:07.433802 < 6 bytes data, client => server 14:54:07.433838 'QUIT\r\n' 14:54:07.434064 Received DATA (on stdin) 14:54:07.434079 > 34 bytes data, server => client 14:54:07.434092 '+OK curl POP3 server signing off\r\n' 14:54:07.434462 ====> Client disconnect 14:54:07.434675 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 885 === End of file server.cmd === Start of file valgrind885 ==121934== ==121934== Process terminating with default action of signal 4 (SIGILL) ==121934== Illegal opcode at address 0x4014B6F ==121934== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121934== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121934== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121934== by 0x4004266: main (tool_main.c:199) === End of file valgrind885 test 0886...[POP3 external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind886 ../src/curl -q --output log/13/curl886.out --include --trace-ascii log/13/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37133/886' --sasl-ir > log/13/stdout886 2> log/13/stderr886 886: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 886 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind887 ../src/curl -q --output log/17/curl887.out --include --trace-ascii log/17/trace887 --trace-time pop3://127.0.0.1:38559/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout887 2> log/17/stderr887 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind888 ../src/curl -q --output log/10/curl888.out --include --trace-ascii log/10/trace888 --trace-time pop3://127.0.0.1:33159/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/10/stdout888 2> log/10/stderr888 d.supp --num-callers=16 --log-file=log/13/valgrind886 ../src/curl -q --output log/13/curl886.out --include --trace-ascii log/13/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37133/886' --sasl-ir > log/13/stdout886 2> log/13/stderr886 === End of file commands.log === Start of file pop3_server.log 14:54:07.314540 ====> Client connect 14:54:07.314731 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.315064 < "CAPA" 14:54:07.315109 > "-ERR Unrecognized command[CR][LF]" 14:54:07.315287 < "RETR verifiedserver" 14:54:07.315316 return proof we are we 14:54:07.315338 > "+OK Mail transfer starts[CR][LF]" 14:54:07.315360 > "WE ROOLZ: 120218[CR][LF]" 14:54:07.315381 > ".[CR][LF]" 14:54:07.360544 < "QUIT" 14:54:07.360605 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.361245 MAIN sockfilt said DISC 14:54:07.361289 ====> Client disconnected 14:54:07.361354 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.397235 ====> Client connect 14:54:07.397558 Received DATA (on stdin) 14:54:07.397575 > 178 bytes data, server => client 14:54:07.397589 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.397601 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.397613 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.397623 've \r\n' 14:54:07.397722 < 6 bytes data, client => server 14:54:07.397735 'CAPA\r\n' 14:54:07.397927 Received DATA (on stdin) 14:54:07.397941 > 27 bytes data, server => client 14:54:07.397953 '-ERR Unrecognized command\r\n' 14:54:07.398007 < 21 bytes data, client => server 14:54:07.398020 'RETR verifiedserver\r\n' 14:54:07.398199 Received DATA (on stdin) 14:54:07.398214 > 26 bytes data, server => client 14:54:07.398226 '+OK Mail transfer starts\r\n' 14:54:07.398252 Received DATA (on stdin) 14:54:07.398264 > 18 bytes data, server => client 14:54:07.398277 'WE ROOLZ: 120218\r\n' 14:54:07.398293 Received DATA (on stdin) 14:54:07.398305 > 3 bytes data, server => client 14:54:07.398316 '.\r\n' 14:54:07.443175 < 6 bytes data, client => server 14:54:07.443204 'QUIT\r\n' 14:54:07.443428 Received DATA (on stdin) 14:54:07.443443 > 34 bytes data, server => client 14:54:07.443457 '+OK curl POP3 server signing off\r\n' 14:54:07.443979 ====> Client disconnect 14:54:07.444176 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 886 === End of file server.cmd === Start of file valgrind886 ==121966== ==121966== Process terminating with default action of signal 4 (SIGILL) ==121966== Illegal opcode at address 0x4014B6F ==121966== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==121966== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==121966== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==121966== by 0x4004266: main (tool_main.c:199) === End of file valgrind886 test 0887...[POP3 OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind887 ../src/curl -q --output log/17/curl887.out --include --trace-ascii log/17/trace887 --trace-time pop3://127.0.0.1:38559/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout887 2> log/17/stderr887 887: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 887 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind887 ../src/curl -q --output log/17/curl887.out --include --trace-ascii log/17/trace887 --trace-time pop3://127.0.0.1:38559/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout887 2> log/17/stderr887 === End of file commands.log === Start of file pop3_server.log 14:54:07.332826 ====> Client connect 14:54:07.333203 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.333544 < "CAPA" 14:54:07.333587 > "-ERR Unrecognized command[CR][LF]" 14:54:07.333769 < "RETR verifiedserver" 14:54:07.333800 return proof we are we 14:54:07.333820 > "+OK Mail transfer starts[CR][LF]" 14:54:07.333838 > "WE ROOLZ: 120222[CR][LF]" 14:54:07.333855 > ".[CR][LF]" 14:54:07.381072 < "QUIT" 14:54:07.381142 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.381481 MAIN sockfilt said DISC 14:54:07.381535 ====> Client disconnected 14:54:07.381623 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.415500 ====> Client connect 14:54:07.416034 Received DATA (on stdin) 14:54:07.416054 > 178 bytes data, server => client 14:54:07.416068 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.416080 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.416092 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.416103 've \r\n' 14:54:07.416188 < 6 bytes data, client => server 14:54:07.416203 'CAPA\r\n' 14:54:07.416403 Received DATA (on stdin) 14:54:07.416417 > 27 bytes data, server => client 14:54:07.416429 '-ERR Unrecognized command\r\n' 14:54:07.416486 < 21 bytes data, client => server 14:54:07.416499 'RETR verifiedserver\r\n' 14:54:07.416668 Received DATA (on stdin) 14:54:07.416680 > 26 bytes data, server => client 14:54:07.416692 '+OK Mail transfer starts\r\n' 14:54:07.416715 Received DATA (on stdin) 14:54:07.416728 > 18 bytes data, server => client 14:54:07.416740 'WE ROOLZ: 120222\r\n' 14:54:07.416755 Received DATA (on stdin) 14:54:07.416766 > 3 bytes data, server => client 14:54:07.416777 '.\r\n' 14:54:07.463656 < 6 bytes data, client => server 14:54:07.463694 'QUIT\r\n' 14:54:07.463965 Received DATA (on stdin) 14:54:07.463981 > 34 bytes data, server => client 14:54:07.463995 '+OK curl POP3 server signing off\r\n' 14:54:07.464211 ====> Client disconnect 14:54:07.464408 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzg1NTkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==122035== ==122035== Process terminating with default action of signal 4 (SIGILL) ==122035== Illegal opcode at address 0x4014B6F ==122035== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122035== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122035== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122035== by 0x4004266: main (tool_main.c:199) === End of file valgrind887 test 0888...[POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind888 ../src/curl -q --output log/10/curl888.out --include --trace-ascii log/10/trace888 --trace-time pop3://127.0.0.1:33159/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/10/stdout888 2> log/10/stderr888 888: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 888 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind888 ../src/curl -q --output log/10/curl888.out --include --trace-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind890 ../src/curl -q --output log/12/curl890.out --include --trace-ascii log/12/trace890 --trace-time pop3://127.0.0.1:44115/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout890 2> log/12/stderr890 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind894 ../src/curl -q --output log/9/curl894.out --include --trace-ascii log/9/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:44283/894 > log/9/stdout894 2> log/9/stderr894 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind891 ../src/curl -q --output log/21/curl891.out --include --trace-ascii log/21/trace891 --trace-time pop3://127.0.0.1:43035/891 -u user:secret > log/21/stdout891 2> log/21/stderr891 ascii log/10/trace888 --trace-time pop3://127.0.0.1:33159/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/10/stdout888 2> log/10/stderr888 === End of file commands.log === Start of file pop3_server.log 14:54:07.515031 ====> Client connect 14:54:07.515194 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.515531 < "CAPA" 14:54:07.515573 > "-ERR Unrecognized command[CR][LF]" 14:54:07.515768 < "RETR verifiedserver" 14:54:07.515798 return proof we are we 14:54:07.515822 > "+OK Mail transfer starts[CR][LF]" 14:54:07.515843 > "WE ROOLZ: 101647[CR][LF]" 14:54:07.515861 > ".[CR][LF]" 14:54:07.557487 < "QUIT" 14:54:07.557545 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.558443 MAIN sockfilt said DISC 14:54:07.558473 ====> Client disconnected 14:54:07.558554 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.597731 ====> Client connect 14:54:07.598024 Received DATA (on stdin) 14:54:07.598042 > 178 bytes data, server => client 14:54:07.598057 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.598070 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.598082 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.598093 've \r\n' 14:54:07.598186 < 6 bytes data, client => server 14:54:07.598203 'CAPA\r\n' 14:54:07.598393 Received DATA (on stdin) 14:54:07.598409 > 27 bytes data, server => client 14:54:07.598422 '-ERR Unrecognized command\r\n' 14:54:07.598481 < 21 bytes data, client => server 14:54:07.598497 'RETR verifiedserver\r\n' 14:54:07.598678 Received DATA (on stdin) 14:54:07.598692 > 26 bytes data, server => client 14:54:07.598705 '+OK Mail transfer starts\r\n' 14:54:07.598730 Received DATA (on stdin) 14:54:07.598742 > 18 bytes data, server => client 14:54:07.598754 'WE ROOLZ: 101647\r\n' 14:54:07.598769 Received DATA (on stdin) 14:54:07.598781 > 3 bytes data, server => client 14:54:07.598793 '.\r\n' 14:54:07.640091 < 6 bytes data, client => server 14:54:07.640123 'QUIT\r\n' 14:54:07.640365 Received DATA (on stdin) 14:54:07.640380 > 34 bytes data, server => client 14:54:07.640393 '+OK curl POP3 server signing off\r\n' 14:54:07.641205 ====> Client disconnect 14:54:07.641378 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH +OK Login successful Testnum 888 === End of file server.cmd === Start of file valgrind888 ==122176== ==122176== Process terminating with default action of signal 4 (SIGILL) ==122176== Illegal opcode at address 0x4014B6F ==122176== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122176== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122176== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122176== by 0x4004266: main (tool_main.c:199) === End of file valgrind888 test 0890...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind890 ../src/curl -q --output log/12/curl890.out --include --trace-ascii log/12/trace890 --trace-time pop3://127.0.0.1:44115/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout890 2> log/12/stderr890 890: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 890 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind890 ../src/curl -q --output log/12/curl890.out --include --trace-ascii log/12/trace890 --trace-time pop3://127.0.0.1:44115/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout890 2> log/12/stderr890 === End of file commands.log === Start of file pop3_server.log 14:54:07.547726 ====> Client connect 14:54:07.547894 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.548223 < "CAPA" 14:54:07.548271 > "-ERR Unrecognized command[CR][LF]" 14:54:07.548469 < "RETR verifiedserver" 14:54:07.548502 return proof we are we 14:54:07.548526 > "+OK Mail transfer starts[CR][LF]" 14:54:07.548547 > "WE ROOLZ: 120235[CR][LF]" 14:54:07.548567 > ".[CR][LF]" 14:54:07.590620 < "QUIT" 14:54:07.590686 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.591163 MAIN sockfilt said DISC 14:54:07.591191 ====> Client disconnected 14:54:07.591270 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.630407 ====> Client connect 14:54:07.630722 Received DATA (on stdin) 14:54:07.630739 > 178 bytes data, server => client 14:54:07.630754 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.630766 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.630778 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.630789 've \r\n' 14:54:07.630872 < 6 bytes data, client => server 14:54:07.630889 'CAPA\r\n' 14:54:07.631092 Received DATA (on stdin) 14:54:07.631107 > 27 bytes data, server => client 14:54:07.631119 '-ERR Unrecognized command\r\n' 14:54:07.631179 < 21 bytes data, client => server 14:54:07.631194 'RETR verifiedserver\r\n' 14:54:07.631381 Received DATA (on stdin) 14:54:07.631396 > 26 bytes data, server => client 14:54:07.631408 '+OK Mail transfer starts\r\n' 14:54:07.631432 Received DATA (on stdin) 14:54:07.631444 > 18 bytes data, server => client 14:54:07.631456 'WE ROOLZ: 120235\r\n' 14:54:07.631470 Received DATA (on stdin) 14:54:07.631482 > 3 bytes data, server => client 14:54:07.631493 '.\r\n' 14:54:07.673210 < 6 bytes data, client => server 14:54:07.673252 'QUIT\r\n' 14:54:07.673509 Received DATA (on stdin) 14:54:07.673526 > 34 bytes data, server => client 14:54:07.673538 '+OK curl POP3 server signing off\r\n' 14:54:07.673916 ====> Client disconnect 14:54:07.674088 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 890 === End of file server.cmd === Start of file valgrind890 ==122226== ==122226== Process terminating with default action of signal 4 (SIGILL) ==122226== Illegal opcode at address 0x4014B6F ==122226== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122226== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122226== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122226== by 0x4004266: main (tool_main.c:199) === End of file valgrind890 test 0894...[POP3 with CR in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind894 ../src/curl -q --output log/9/curl894.out --include --trace-ascii log/9/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:44283/894 > log/9/stdout894 2> log/9/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/9/ dir after test 894 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind894 ../src/curl -q --output log/9/curl894.out --include --trace-ascii log/9/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:44283/894 > log/9/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind892 ../src/curl -q --output log/16/curl892.out --include --trace-ascii log/16/trace892 --trace-time pop3://127.0.0.1:35287/892 -u user:secret --sasl-authzid shared-mailbox > log/16/stdout892 2> log/16/stderr892 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind893 ../src/curl -q --output log/19/curl893.out --include --trace-ascii log/19/trace893 --trace-time pop3://127.0.0.1:40999/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/19/stdout893 2> log/19/stderr893 tdout894 2> log/9/stderr894 === End of file commands.log === Start of file pop3_server.log 14:54:07.701593 ====> Client connect 14:54:07.701773 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.702088 < "CAPA" 14:54:07.702278 > "-ERR Unrecognized command[CR][LF]" 14:54:07.702342 < "RETR verifiedserver" 14:54:07.702392 return proof we are we 14:54:07.702416 > "+OK Mail transfer starts[CR][LF]" 14:54:07.702436 > "WE ROOLZ: 120294[CR][LF]" 14:54:07.702454 > ".[CR][LF]" 14:54:07.747183 < "QUIT" 14:54:07.747242 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.748171 MAIN sockfilt said DISC 14:54:07.748203 ====> Client disconnected 14:54:07.748314 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.784312 ====> Client connect 14:54:07.784600 Received DATA (on stdin) 14:54:07.784616 > 178 bytes data, server => client 14:54:07.784629 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.784641 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.784653 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.784663 've \r\n' 14:54:07.784751 < 6 bytes data, client => server 14:54:07.784765 'CAPA\r\n' 14:54:07.784955 Received DATA (on stdin) 14:54:07.784972 > 27 bytes data, server => client 14:54:07.784984 '-ERR Unrecognized command\r\n' 14:54:07.785040 < 21 bytes data, client => server 14:54:07.785053 'RETR verifiedserver\r\n' 14:54:07.785269 Received DATA (on stdin) 14:54:07.785282 > 26 bytes data, server => client 14:54:07.785295 '+OK Mail transfer starts\r\n' 14:54:07.785318 Received DATA (on stdin) 14:54:07.785329 > 18 bytes data, server => client 14:54:07.785341 'WE ROOLZ: 120294\r\n' 14:54:07.785355 Received DATA (on stdin) 14:54:07.785407 > 3 bytes data, server => client 14:54:07.785420 '.\r\n' 14:54:07.829829 < 6 bytes data, client => server 14:54:07.829853 'QUIT\r\n' 14:54:07.830064 Received DATA (on stdin) 14:54:07.830081 > 34 bytes data, server => client 14:54:07.830095 '+OK curl POP3 server signing off\r\n' 14:54:07.830910 ====> Client disconnect 14:54:07.831055 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 894 === End of file server.cmd === Start of file valgrind894 ==122428== ==122428== Process terminating with default action of signal 4 (SIGILL) ==122428== Illegal opcode at address 0x4014B6F ==122428== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122428== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122428== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122428== by 0x4004266: main (tool_main.c:199) === End of file valgrind894 test 0891...[POP3 with short authentication response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind891 ../src/curl -q --output log/21/curl891.out --include --trace-ascii log/21/trace891 --trace-time pop3://127.0.0.1:43035/891 -u user:secret > log/21/stdout891 2> log/21/stderr891 891: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 891 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind891 ../src/curl -q --output log/21/curl891.out --include --trace-ascii log/21/trace891 --trace-time pop3://127.0.0.1:43035/891 -u user:secret > log/21/stdout891 2> log/21/stderr891 === End of file commands.log === Start of file pop3_server.log 14:54:07.692581 ====> Client connect 14:54:07.692739 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.693039 < "CAPA" 14:54:07.693081 > "-ERR Unrecognized command[CR][LF]" 14:54:07.693227 < "RETR verifiedserver" 14:54:07.693257 return proof we are we 14:54:07.693279 > "+OK Mail transfer starts[CR][LF]" 14:54:07.693299 > "WE ROOLZ: 120247[CR][LF]" 14:54:07.693317 > ".[CR][LF]" 14:54:07.733828 < "QUIT" 14:54:07.733885 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.734767 MAIN sockfilt said DISC 14:54:07.734805 ====> Client disconnected 14:54:07.734871 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.775277 ====> Client connect 14:54:07.775562 Received DATA (on stdin) 14:54:07.775577 > 178 bytes data, server => client 14:54:07.775590 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.775602 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.775614 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.775624 've \r\n' 14:54:07.775699 < 6 bytes data, client => server 14:54:07.775711 'CAPA\r\n' 14:54:07.775877 Received DATA (on stdin) 14:54:07.775888 > 27 bytes data, server => client 14:54:07.775899 '-ERR Unrecognized command\r\n' 14:54:07.775945 < 21 bytes data, client => server 14:54:07.775957 'RETR verifiedserver\r\n' 14:54:07.776132 Received DATA (on stdin) 14:54:07.776147 > 26 bytes data, server => client 14:54:07.776159 '+OK Mail transfer starts\r\n' 14:54:07.776185 Received DATA (on stdin) 14:54:07.776199 > 18 bytes data, server => client 14:54:07.776210 'WE ROOLZ: 120247\r\n' 14:54:07.776224 Received DATA (on stdin) 14:54:07.776235 > 3 bytes data, server => client 14:54:07.776246 '.\r\n' 14:54:07.816487 < 6 bytes data, client => server 14:54:07.816512 'QUIT\r\n' 14:54:07.816709 Received DATA (on stdin) 14:54:07.816729 > 34 bytes data, server => client 14:54:07.816742 '+OK curl POP3 server signing off\r\n' 14:54:07.817510 ====> Client disconnect 14:54:07.817693 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLYLF AUTH + Testnum 891 === End of file server.cmd === Start of file valgrind891 ==122373== ==122373== Process terminating with default action of signal 4 (SIGILL) ==122373== Illegal opcode at address 0x4014B6F ==122373== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122373== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122373== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122373== by 0x4004266: main (tool_main.c:199) === End of file valgrind891 test 0892...[POP3 plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind892 ../src/curl -q --output log/16/curl892.out --include --trace-ascii log/16/trace892 --trace-time pop3://127.0.0.1:35287/892 -u user:secret --sasl-authzid shared-mailbox > log/16/stdout892 2> log/16/stderr892 892: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 892 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind892 ../src/curl -q --output log/16/curl892.out --include --trace-ascii log/16/trace892 --trace-time pop3://127.0.0.1:35287/892 -u user:secret --sasl-authzid shared-mailbox > log/16/stdout892 2> log/16/stderr892 === End of file commands.log === Start of file pop3_server.log 14:54:07.695932 ====> Client connect 14:54:07.696069 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind895 ../src/curl -q --output log/20/curl895.out --include --trace-ascii log/20/trace895 --trace-time 'imap://127.0.0.1:45915/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/20/stdout895 2> log/20/stderr895 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind898 ../src/curl -q --output log/11/curl898.out --include --trace-ascii log/11/trace898 --trace-time -x http://127.0.0.1:33503 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/11/stdout898 2> log/11/stderr898 curl POP3 server ready to serve [CR][LF]" 14:54:07.696358 < "CAPA" 14:54:07.696393 > "-ERR Unrecognized command[CR][LF]" 14:54:07.696571 < "RETR verifiedserver" 14:54:07.696602 return proof we are we 14:54:07.696627 > "+OK Mail transfer starts[CR][LF]" 14:54:07.696647 > "WE ROOLZ: 120241[CR][LF]" 14:54:07.696665 > ".[CR][LF]" 14:54:07.740503 < "QUIT" 14:54:07.740559 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.741361 MAIN sockfilt said DISC 14:54:07.741389 ====> Client disconnected 14:54:07.741457 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.778656 ====> Client connect 14:54:07.778890 Received DATA (on stdin) 14:54:07.778903 > 178 bytes data, server => client 14:54:07.778914 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.778923 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.778932 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.778940 've \r\n' 14:54:07.779014 < 6 bytes data, client => server 14:54:07.779029 'CAPA\r\n' 14:54:07.779205 Received DATA (on stdin) 14:54:07.779217 > 27 bytes data, server => client 14:54:07.779229 '-ERR Unrecognized command\r\n' 14:54:07.779288 < 21 bytes data, client => server 14:54:07.779302 'RETR verifiedserver\r\n' 14:54:07.779479 Received DATA (on stdin) 14:54:07.779493 > 26 bytes data, server => client 14:54:07.779505 '+OK Mail transfer starts\r\n' 14:54:07.779530 Received DATA (on stdin) 14:54:07.779541 > 18 bytes data, server => client 14:54:07.779550 'WE ROOLZ: 120241\r\n' 14:54:07.779561 Received DATA (on stdin) 14:54:07.779570 > 3 bytes data, server => client 14:54:07.779579 '.\r\n' 14:54:07.823181 < 6 bytes data, client => server 14:54:07.823207 'QUIT\r\n' 14:54:07.823378 Received DATA (on stdin) 14:54:07.823394 > 34 bytes data, server => client 14:54:07.823407 '+OK curl POP3 server signing off\r\n' 14:54:07.824116 ====> Client disconnect 14:54:07.824272 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful Testnum 892 === End of file server.cmd === Start of file valgrind892 ==122399== ==122399== Process terminating with default action of signal 4 (SIGILL) ==122399== Illegal opcode at address 0x4014B6F ==122399== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122399== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122399== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122399== by 0x4004266: main (tool_main.c:199) === End of file valgrind892 test 0893...[POP3 plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind893 ../src/curl -q --output log/19/curl893.out --include --trace-ascii log/19/trace893 --trace-time pop3://127.0.0.1:40999/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/19/stdout893 2> log/19/stderr893 893: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 893 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind893 ../src/curl -q --output log/19/curl893.out --include --trace-ascii log/19/trace893 --trace-time pop3://127.0.0.1:40999/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/19/stdout893 2> log/19/stderr893 === End of file commands.log === Start of file pop3_server.log 14:54:07.696223 ====> Client connect 14:54:07.696381 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:07.696718 < "CAPA" 14:54:07.696763 > "-ERR Unrecognized command[CR][LF]" 14:54:07.696961 < "RETR verifiedserver" 14:54:07.696994 return proof we are we 14:54:07.697018 > "+OK Mail transfer starts[CR][LF]" 14:54:07.697039 > "WE ROOLZ: 120296[CR][LF]" 14:54:07.697058 > ".[CR][LF]" 14:54:07.740518 < "QUIT" 14:54:07.740577 > "+OK curl POP3 server signing off[CR][LF]" 14:54:07.741251 MAIN sockfilt said DISC 14:54:07.741295 ====> Client disconnected 14:54:07.741355 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.778942 ====> Client connect 14:54:07.779211 Received DATA (on stdin) 14:54:07.779228 > 178 bytes data, server => client 14:54:07.779243 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.779255 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.779267 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:07.779277 've \r\n' 14:54:07.779370 < 6 bytes data, client => server 14:54:07.779387 'CAPA\r\n' 14:54:07.779582 Received DATA (on stdin) 14:54:07.779597 > 27 bytes data, server => client 14:54:07.779609 '-ERR Unrecognized command\r\n' 14:54:07.779673 < 21 bytes data, client => server 14:54:07.779689 'RETR verifiedserver\r\n' 14:54:07.779873 Received DATA (on stdin) 14:54:07.779887 > 26 bytes data, server => client 14:54:07.779899 '+OK Mail transfer starts\r\n' 14:54:07.779923 Received DATA (on stdin) 14:54:07.779934 > 18 bytes data, server => client 14:54:07.779945 'WE ROOLZ: 120296\r\n' 14:54:07.779960 Received DATA (on stdin) 14:54:07.779972 > 3 bytes data, server => client 14:54:07.779983 '.\r\n' 14:54:07.823142 < 6 bytes data, client => server 14:54:07.823167 'QUIT\r\n' 14:54:07.823402 Received DATA (on stdin) 14:54:07.823422 > 34 bytes data, server => client 14:54:07.823435 '+OK curl POP3 server signing off\r\n' 14:54:07.823994 ====> Client disconnect 14:54:07.824176 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized Testnum 893 === End of file server.cmd === Start of file valgrind893 ==122401== ==122401== Process terminating with default action of signal 4 (SIGILL) ==122401== Illegal opcode at address 0x4014B6F ==122401== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122401== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122401== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122401== by 0x4004266: main (tool_main.c:199) === End of file valgrind893 test 0895...[IMAP with --login-options 'AUTH=*'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind895 ../src/curl -q --output log/20/curl895.out --include --trace-ascii log/20/trace895 --trace-time 'imap://127.0.0.1:45915/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/20/stdout895 2> log/20/stderr895 895: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 895 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind895 ../src/curl -q --output log/20/curl895.out --include --trace-ascii log/20/trace895 --trace-time 'imap://127.0.0.1:45915/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/20/stdout895 2> log/20/stderr895 === End of file commands.log === Start of file imap_server.log 14:54:07.724374 ====> Client connect 14:54:07.724511 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:07.724833 < "A001 CAPABILITY" 14:54:07.724875 > "A001 BAD CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind896 ../src/curl -q --output log/8/curl896.out --include --trace-ascii log/8/trace896 --trace-time 'imap://127.0.0.1:42141/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/8/stdout896 2> log/8/stderr896 ommand[CR][LF]" 14:54:07.725102 < "A002 LIST "verifiedserver" *" 14:54:07.725136 LIST_imap got "verifiedserver" * 14:54:07.725166 > "* LIST () "/" "WE ROOLZ: 117171"[CR][LF]" 14:54:07.725185 > "A002 OK LIST Completed[CR][LF]" 14:54:07.725200 return proof we are we 14:54:07.772070 < "A003 LOGOUT" 14:54:07.772129 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:07.772151 > "A003 OK LOGOUT completed[CR][LF]" 14:54:07.773179 MAIN sockfilt said DISC 14:54:07.773243 ====> Client disconnected 14:54:07.773312 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:07.807080 ====> Client connect 14:54:07.807340 Received DATA (on stdin) 14:54:07.807358 > 178 bytes data, server => client 14:54:07.807371 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.807383 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.807395 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:07.807405 'rve\r\n' 14:54:07.807487 < 17 bytes data, client => server 14:54:07.807504 'A001 CAPABILITY\r\n' 14:54:07.807693 Received DATA (on stdin) 14:54:07.807707 > 18 bytes data, server => client 14:54:07.807719 'A001 BAD Command\r\n' 14:54:07.807779 < 30 bytes data, client => server 14:54:07.807794 'A002 LIST "verifiedserver" *\r\n' 14:54:07.807963 Received DATA (on stdin) 14:54:07.807985 > 34 bytes data, server => client 14:54:07.807997 '* LIST () "/" "WE ROOLZ: 117171"\r\n' 14:54:07.808018 Received DATA (on stdin) 14:54:07.808027 > 24 bytes data, server => client 14:54:07.808036 'A002 OK LIST Completed\r\n' 14:54:07.854705 < 13 bytes data, client => server 14:54:07.854734 'A003 LOGOUT\r\n' 14:54:07.854968 Received DATA (on stdin) 14:54:07.854982 > 36 bytes data, server => client 14:54:07.854994 '* BYE curl IMAP server signing off\r\n' 14:54:07.855028 Received DATA (on stdin) 14:54:07.855043 > 26 bytes data, server => client 14:54:07.855055 'A003 OK LOGOUT completed\r\n' 14:54:07.855894 ====> Client disconnect 14:54:07.856218 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 895 === End of file server.cmd === Start of file valgrind895 ==122574== ==122574== Process terminating with default action of signal 4 (SIGILL) ==122574== Illegal opcode at address 0x4014B6F ==122574== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122574== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122574== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122574== by 0x4004266: main (tool_main.c:199) === End of file valgrind895 test 0898...[HTTP with custom auth and cookies redirected to HTTP on a diff port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind898 ../src/curl -q --output log/11/curl898.out --include --trace-ascii log/11/trace898 --trace-time -x http://127.0.0.1:33503 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/11/stdout898 2> log/11/stderr898 898: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 898 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind898 ../src/curl -q --output log/11/curl898.out --include --trace-ascii log/11/trace898 --trace-time -x http://127.0.0.1:33503 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/11/stdout898 2> log/11/stderr898 === End of file commands.log === Start of file http_server.log 14:54:07.847325 ====> Client connect 14:54:07.847352 accept_connection 3 returned 4 14:54:07.847366 accept_connection 3 returned 0 14:54:07.847378 Read 93 bytes 14:54:07.847387 Process 93 bytes request 14:54:07.847399 Got request: GET /verifiedserver HTTP/1.1 14:54:07.847407 Are-we-friendly question received 14:54:07.847424 Wrote request (93 bytes) input to log/11/server.input 14:54:07.847437 Identifying ourselves as friends 14:54:07.847487 Response sent (56 bytes) and written to log/11/server.response 14:54:07.847496 special request received, no persistency 14:54:07.847504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 55040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 898 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind898 ==122521== ==122521== Process terminating with default action of signal 4 (SIGILL) ==122521== Illegal opcode at address 0x4014B6F ==122521== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122521== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122521== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122521== by 0x4004266: main (tool_main.c:199) === End of file valgrind898 test 0896...[IMAP with --login-options 'AUTH=dummy' (failing)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind896 ../src/curl -q --output log/8/curl896.out --include --trace-ascii log/8/trace896 --trace-time 'imap://127.0.0.1:42141/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/8/stdout896 2> log/8/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/8/ dir after test 896 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind896 ../src/curl -q --output log/8/curl896.out --include --trace-ascii log/8/trace896 --trace-time 'imap://127.0.0.1:42141/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/8/stdout896 2> log/8/stderr896 === End of file commands.log === Start of file imap_server.log 14:54:07.747146 ====> Client connect 14:54:07.747278 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:07.747569 < "A001 CAPABILITY" 14:54:07.747605 > "A001 BAD Command[CR][LF]" 14:54:07.747775 < "A002 LIST "verifiedserver" *" 14:54:07.747801 LIST_imap got "verifiedserver" * 14:54:07.747826 > "* LIST () "/" "WE ROOLZ: 117227"[CR][LF]" 14:54:07.747844 > "A002 OK LIST Completed[CR][LF]" 14:54:07.747858 return proof we are we 14:54:07.793912 < "A003 LOGOUT" 14:54:07.793974 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:07.793996 > "A003 OK LOGOUT completed[CR][LF]" 14:54:07.794559 MAIN sockfilt said DISC 14:54:07.794588 ====> Client disconnected 14:54:07.794659 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:07.829859 ====> Client connect 14:54:07.830103 Received DATA (on stdin) 14:54:07.830120 > 178 bytes data, server => client 14:54:07.830135 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:07.830147 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:07.830160 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:07.830170 'rve\r\n' 14:54:07.830245 < 17 byteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind897 ../src/curl -q --output log/3/curl897.out --include --trace-ascii log/3/trace897 --trace-time 'imap://127.0.0.1:37717/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/3/head-897 > log/3/stdout897 2> log/3/stderr897 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind877 ../src/curl -q --output log/1/curl877.out --include --trace-ascii log/1/trace877 --trace-time pop3://127.0.0.1:37659/877 -u testuser:testpass > log/1/stdout877 2> log/1/stderr877 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind899 ../src/curl -q --output log/14/curl899.out --include --trace-ascii log/14/trace899 --trace-time http://first:secret@127.0.0.1:46043/899 -L > log/14/stdout899 2> log/14/stderr899 s data, client => server 14:54:07.830258 'A001 CAPABILITY\r\n' 14:54:07.830421 Received DATA (on stdin) 14:54:07.830435 > 18 bytes data, server => client 14:54:07.830446 'A001 BAD Command\r\n' 14:54:07.830501 < 30 bytes data, client => server 14:54:07.830514 'A002 LIST "verifiedserver" *\r\n' 14:54:07.830670 Received DATA (on stdin) 14:54:07.830682 > 34 bytes data, server => client 14:54:07.830694 '* LIST () "/" "WE ROOLZ: 117227"\r\n' 14:54:07.830715 Received DATA (on stdin) 14:54:07.830726 > 24 bytes data, server => client 14:54:07.830738 'A002 OK LIST Completed\r\n' 14:54:07.876546 < 13 bytes data, client => server 14:54:07.876579 'A003 LOGOUT\r\n' 14:54:07.876812 Received DATA (on stdin) 14:54:07.876826 > 36 bytes data, server => client 14:54:07.876843 '* BYE curl IMAP server signing off\r\n' 14:54:07.876869 Received DATA (on stdin) 14:54:07.876881 > 26 bytes data, server => client 14:54:07.876893 'A003 OK LOGOUT completed\r\n' 14:54:07.877317 ====> Client disconnect 14:54:07.877472 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 896 === End of file server.cmd === Start of file valgrind896 ==122654== ==122654== Process terminating with default action of signal 4 (SIGILL) ==122654== Illegal opcode at address 0x4014B6F ==122654== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122654== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122654== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122654== by 0x4004266: main (tool_main.c:199) === End of file valgrind896 test 0897...[IMAP and envelope meta data after body transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind897 ../src/curl -q --output log/3/curl897.out --include --trace-ascii log/3/trace897 --trace-time 'imap://127.0.0.1:37717/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/3/head-897 > log/3/stdout897 2> log/3/stderr897 897: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 897 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind897 ../src/curl -q --output log/3/curl897.out --include --trace-ascii log/3/trace897 --trace-time 'imap://127.0.0.1:37717/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/3/head-897 > log/3/stdout897 2> log/3/stderr897 === End of file commands.log === Start of file imap_server.log 14:54:07.758248 ====> Client connect 14:54:07.758379 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:07.758688 < "A001 CAPABILITY" 14:54:07.758726 > "A001 BAD Command[CR][LF]" 14:54:07.758916 < "A002 LIST "verifiedserver" *" 14:54:07.758945 LIST_imap got "verifiedserver" * 14:54:07.758970 > "* LIST () "/" "WE ROOLZ: 117524"[CR][LF]" 14:54:07.758989 > "A002 OK LIST Completed[CR][LF]" 14:54:07.759008 return proof we are we 14:54:07.800712 < "A003 LOGOUT" 14:54:07.800767 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:07.800787 > "A003 OK LOGOUT completed[CR][LF]" 14:54:07.800959 MAIN sockfilt said DISC 14:54:07.800981 ====> Client disconnected 14:54:07.801040 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:06.840967 ====> Client connect 14:54:06.841209 Received DATA (on stdin) 14:54:06.841227 > 178 bytes data, server => client 14:54:06.841241 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:06.841253 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:06.841266 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:06.841276 'rve\r\n' 14:54:06.841354 < 17 bytes data, client => server 14:54:06.841370 'A001 CAPABILITY\r\n' 14:54:06.841544 Received DATA (on stdin) 14:54:06.841558 > 18 bytes data, server => client 14:54:06.841571 'A001 BAD Command\r\n' 14:54:06.841631 < 30 bytes data, client => server 14:54:06.841647 'A002 LIST "verifiedserver" *\r\n' 14:54:06.841822 Received DATA (on stdin) 14:54:06.841836 > 34 bytes data, server => client 14:54:06.841848 '* LIST () "/" "WE ROOLZ: 117524"\r\n' 14:54:06.841872 Received DATA (on stdin) 14:54:06.841884 > 24 bytes data, server => client 14:54:06.841896 'A002 OK LIST Completed\r\n' 14:54:06.883359 < 13 bytes data, client => server 14:54:06.883385 'A003 LOGOUT\r\n' 14:54:06.883601 Received DATA (on stdin) 14:54:06.883618 > 36 bytes data, server => client 14:54:06.883630 '* BYE curl IMAP server signing off\r\n' 14:54:06.883655 Received DATA (on stdin) 14:54:06.883666 > 26 bytes data, server => client 14:54:06.883678 'A003 OK LOGOUT completed\r\n' 14:54:06.883731 ====> Client disconnect 14:54:06.883853 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd POSTFETCH extra stuff sent in the envelope after the body Testnum 897 === End of file server.cmd === Start of file valgrind897 ==122689== ==122689== Process terminating with default action of signal 4 (SIGILL) ==122689== Illegal opcode at address 0x4014B6F ==122689== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122689== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122689== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122689== by 0x4004266: main (tool_main.c:199) === End of file valgrind897 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/pop3_server.pid" --logfile "log/1/pop3_server.log" --logdir "log/1" --portfile "log/1/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37659 (log/1/server/pop3_server.port) RUN: POP3 server is PID 121450 port 37659 * pid pop3 => 121450 121450 test 0877...[POP3 NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind877 ../src/curl -q --output log/1/curl877.out --include --trace-ascii log/1/trace877 --trace-time pop3://127.0.0.1:37659/877 -u testuser:testpass > log/1/stdout877 2> log/1/stderr877 877: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 877 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind877 ../src/curl -q --output log/1/curl877.out --include --trace-ascii log/1/trace877 --trace-time pop3://127.0.0.1:37659/877 -u testuser:testpass > log/1/stdout877 2> log/1/stderr877 === End of file commands.log === Start of file pop3_server.log 14:54:06.901425 POP3 server listens on port IPv4/37659 14:54:06.901501 logged pid 121450 in log/1/server/pop3_server.pid 14:54:06.901526 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:06.983830 Running IPv4 version 14:54:06.983927 Listening on port 37659 14:54:06.983995 Wrote pid 121467 to log/1/server/pop3_sockfilt.pid 14:54:06.984026 Wrote port 37659 to log/1/server/pop3_server.port 14:54:06.984152 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 877 === End of file server.cmd === Start of file valgrind877 ==122836== ==122836== Process terminating with default action of signal 4 (SIGILL) ==122836== Illegal opcode at address 0x4014B6F ==122836== atCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind883 ../src/curl -q --output log/22/curl883.out --include --trace-ascii log/22/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36039/883' > log/22/stdout883 2> log/22/stderr883 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind910 ../src/curl -q --output log/17/curl910.out --include --trace-ascii log/17/trace910 --trace-time smtp://127.0.0.1:35643/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout910 2> log/17/stderr910 0x4014B6F: getparameter (tool_getparam.c:2830) ==122836== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122836== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122836== by 0x4004266: main (tool_main.c:199) === End of file valgrind877 test 0899...[URL with credentials redirects to URL with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind899 ../src/curl -q --output log/14/curl899.out --include --trace-ascii log/14/trace899 --trace-time http://first:secret@127.0.0.1:46043/899 -L > log/14/stdout899 2> log/14/stderr899 899: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 899 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind899 ../src/curl -q --output log/14/curl899.out --include --trace-ascii log/14/trace899 --trace-time http://first:secret@127.0.0.1:46043/899 -L > log/14/stdout899 2> log/14/stderr899 === End of file commands.log === Start of file http_server.log 14:54:07.940221 ====> Client connect 14:54:07.940254 accept_connection 3 returned 4 14:54:07.940271 accept_connection 3 returned 0 14:54:07.940287 Read 93 bytes 14:54:07.940297 Process 93 bytes request 14:54:07.940312 Got request: GET /verifiedserver HTTP/1.1 14:54:07.940321 Are-we-friendly question received 14:54:07.940345 Wrote request (93 bytes) input to log/14/server.input 14:54:07.940363 Identifying ourselves as friends 14:54:07.940415 Response sent (56 bytes) and written to log/14/server.response 14:54:07.940426 special request received, no persistency 14:54:07.940436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 46184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 899 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind899 ==122820== ==122820== Process terminating with default action of signal 4 (SIGILL) ==122820== Illegal opcode at address 0x4014B6F ==122820== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122820== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122820== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122820== by 0x4004266: main (tool_main.c:199) === End of file valgrind899 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/pop3_server.pid" --logfile "log/22/pop3_server.log" --logdir "log/22" --portfile "log/22/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36039 (log/22/server/pop3_server.port) RUN: POP3 server is PID 121759 port 36039 * pid pop3 => 121759 121759 test 0883...[POP3 external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind883 ../src/curl -q --output log/22/curl883.out --include --trace-ascii log/22/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36039/883' > log/22/stdout883 2> log/22/stderr883 883: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 883 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind883 ../src/curl -q --output log/22/curl883.out --include --trace-ascii log/22/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36039/883' > log/22/stdout883 2> log/22/stderr883 === End of file commands.log === Start of file pop3_server.log 14:54:07.270483 POP3 server listens on port IPv4/36039 14:54:07.270576 logged pid 121759 in log/22/server/pop3_server.pid 14:54:07.270605 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.352991 Running IPv4 version 14:54:07.353103 Listening on port 36039 14:54:07.353150 Wrote pid 121829 to log/22/server/pop3_sockfilt.pid 14:54:07.353181 Wrote port 36039 to log/22/server/pop3_server.port 14:54:07.353205 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY dXNlcg== +OK Login successful Testnum 883 === End of file server.cmd === Start of file valgrind883 ==122957== ==122957== Process terminating with default action of signal 4 (SIGILL) ==122957== Illegal opcode at address 0x4014B6F ==122957== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==122957== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==122957== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==122957== by 0x4004266: main (tool_main.c:199) === End of file valgrind883 test 0910...[SMTP without terminating CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind910 ../src/curl -q --output log/17/curl910.out --include --trace-ascii log/17/trace910 --trace-time smtp://127.0.0.1:35643/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout910 2> log/17/stderr910 910: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind910 ../src/curl -q --output log/17/curl910.out --include --trace-ascii log/17/trace910 --trace-time smtp://127.0.0.1:35643/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout910 2> log/17/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 14:54:08.307660 ====> Client connect 14:54:08.307799 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:08.308036 < "EHLO verifiedserver" 14:54:08.308070 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:08.308200 < "HELP" 14:54:08.308222 > "214 WE ROOLZ: 109366[CR][LF]" 14:54:08.308234 return proof we are we 14:54:08.308404 < "QUIT" 14:54:08.308427 > "221 curl ESMTP server signing off[CR][LF]" 14:54:08.308928 MAIN sockfilt said DISC 14:54:08.308954 ====> Client disconnected 14:54:08.309010 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.390380 ====> Client connect 14:54:08.390617 Received DATA (on stdin) 14:54:08.390629 > 160 bytes data, server => client 14:54:08.390642 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:08.390651 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:08.390659 '_ {| |___ \r\n220 \___|\___/|_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind911 ../src/curl -q --output log/10/curl911.out --include --trace-ascii log/10/trace911 --trace-time smtp://127.0.0.1:36285/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout911 2> log/10/stderr911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind889 ../src/curl -q --output log/7/curl889.out --include --trace-ascii log/7/trace889 --trace-time pop3://127.0.0.1:38729/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout889 2> log/7/stderr889 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind921 ../src/curl -q --output log/1/curl921.out --include --trace-ascii log/1/trace921 --trace-time smtp://127.0.0.1:44549/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/1/stdout921 2> log/1/stderr921 | \_\_____|\r\n' 14:54:08.390716 < 21 bytes data, client => server 14:54:08.390726 'EHLO verifiedserver\r\n' 14:54:08.390881 Received DATA (on stdin) 14:54:08.390891 > 53 bytes data, server => client 14:54:08.390900 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:08.390942 < 6 bytes data, client => server 14:54:08.390951 'HELP\r\n' 14:54:08.391041 Received DATA (on stdin) 14:54:08.391050 > 22 bytes data, server => client 14:54:08.391059 '214 WE ROOLZ: 109366\r\n' 14:54:08.391144 < 6 bytes data, client => server 14:54:08.391155 'QUIT\r\n' 14:54:08.391235 Received DATA (on stdin) 14:54:08.391244 > 35 bytes data, server => client 14:54:08.391253 '221 curl ESMTP server signing off\r\n' 14:54:08.391689 ====> Client disconnect 14:54:08.391823 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-910 From: different To: another body === End of file stdin-for-910 === Start of file valgrind910 ==123031== ==123031== Process terminating with default action of signal 4 (SIGILL) ==123031== Illegal opcode at address 0x4014B6F ==123031== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123031== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123031== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123031== by 0x4004266: main (tool_main.c:199) === End of file valgrind910 test 0911...[SMTP with no mail data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind911 ../src/curl -q --output log/10/curl911.out --include --trace-ascii log/10/trace911 --trace-time smtp://127.0.0.1:36285/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout911 2> log/10/stderr911 911: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind911 ../src/curl -q --output log/10/curl911.out --include --trace-ascii log/10/trace911 --trace-time smtp://127.0.0.1:36285/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout911 2> log/10/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 14:54:08.499459 ====> Client connect 14:54:08.499623 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:08.499928 < "EHLO verifiedserver" 14:54:08.499970 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:08.500142 < "HELP" 14:54:08.500171 > "214 WE ROOLZ: 109299[CR][LF]" 14:54:08.500225 return proof we are we 14:54:08.500463 < "QUIT" 14:54:08.500498 > "221 curl ESMTP server signing off[CR][LF]" 14:54:08.501366 MAIN sockfilt said DISC 14:54:08.501400 ====> Client disconnected 14:54:08.501469 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.582169 ====> Client connect 14:54:08.582446 Received DATA (on stdin) 14:54:08.582463 > 160 bytes data, server => client 14:54:08.582476 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:08.582488 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:08.582499 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:08.582578 < 21 bytes data, client => server 14:54:08.582594 'EHLO verifiedserver\r\n' 14:54:08.582787 Received DATA (on stdin) 14:54:08.582801 > 53 bytes data, server => client 14:54:08.582814 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:08.582869 < 6 bytes data, client => server 14:54:08.582882 'HELP\r\n' 14:54:08.583046 Received DATA (on stdin) 14:54:08.583061 > 22 bytes data, server => client 14:54:08.583073 '214 WE ROOLZ: 109299\r\n' 14:54:08.583196 < 6 bytes data, client => server 14:54:08.583212 'QUIT\r\n' 14:54:08.583361 Received DATA (on stdin) 14:54:08.583379 > 35 bytes data, server => client 14:54:08.583392 '221 curl ESMTP server signing off\r\n' 14:54:08.584120 ====> Client disconnect 14:54:08.584289 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==123112== ==123112== Process terminating with default action of signal 4 (SIGILL) ==123112== Illegal opcode at address 0x4014B6F ==123112== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123112== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123112== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123112== by 0x4004266: main (tool_main.c:199) === End of file valgrind911 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/pop3_server.pid" --logfile "log/7/pop3_server.log" --logdir "log/7" --portfile "log/7/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38729 (log/7/server/pop3_server.port) RUN: POP3 server is PID 122154 port 38729 * pid pop3 => 122154 122154 test 0889...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind889 ../src/curl -q --output log/7/curl889.out --include --trace-ascii log/7/trace889 --trace-time pop3://127.0.0.1:38729/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout889 2> log/7/stderr889 889: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 889 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind889 ../src/curl -q --output log/7/curl889.out --include --trace-ascii log/7/trace889 --trace-time pop3://127.0.0.1:38729/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout889 2> log/7/stderr889 === End of file commands.log === Start of file pop3_server.log 14:54:07.565152 POP3 server listens on port IPv4/38729 14:54:07.565215 logged pid 122154 in log/7/server/pop3_server.pid 14:54:07.565235 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:07.647743 Running IPv4 version 14:54:07.647808 Listening on port 38729 14:54:07.647847 Wrote pid 122174 to log/7/server/pop3_sockfilt.pid 14:54:07.647872 Wrote port 38729 to log/7/server/pop3_server.port 14:54:07.647890 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzg3MjkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==123156== ==123156== Process terminating with default action of signal 4 (SIGILL) ==123156== Illegal opcode at address 0x4014B6F ==123156== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123156== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123156== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123156== by 0x4004266: main (tool_main.c:199) === End of file valgrind889 test 0921...[SMTP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --nuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind920 ../src/curl -q --output log/3/curl920.out --include --trace-ascii log/3/trace920 --trace-time smtp://127.0.0.1:35267/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/3/stdout920 2> log/3/stderr920 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind901 ../src/curl -q --output log/5/curl901.out --include --trace-ascii log/5/trace901 --trace-time smtp://127.0.0.1:44721/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout901 2> log/5/stderr901 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind902 ../src/curl -q --output log/24/curl902.out --include --trace-ascii log/24/trace902 --trace-time smtp://127.0.0.1:36587/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/24/stdout902 2> log/24/stderr902 m-callers=16 --log-file=log/1/valgrind921 ../src/curl -q --output log/1/curl921.out --include --trace-ascii log/1/trace921 --trace-time smtp://127.0.0.1:44549/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/1/stdout921 2> log/1/stderr921 921: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 921 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind921 ../src/curl -q --output log/1/curl921.out --include --trace-ascii log/1/trace921 --trace-time smtp://127.0.0.1:44549/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/1/stdout921 2> log/1/stderr921 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 921 === End of file server.cmd === Start of file smtp_server.log 14:54:08.734475 ====> Client connect 14:54:08.734605 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:08.734860 < "EHLO verifiedserver" 14:54:08.734894 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:08.735017 < "HELP" 14:54:08.735038 > "214 WE ROOLZ: 109499[CR][LF]" 14:54:08.735048 return proof we are we 14:54:08.735212 < "QUIT" 14:54:08.735233 > "221 curl ESMTP server signing off[CR][LF]" 14:54:08.736021 MAIN sockfilt said DISC 14:54:08.736042 ====> Client disconnected 14:54:08.736085 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.817175 ====> Client connect 14:54:08.817422 Received DATA (on stdin) 14:54:08.817435 > 160 bytes data, server => client 14:54:08.817445 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:08.817453 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:08.817461 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:08.817546 < 21 bytes data, client => server 14:54:08.817555 'EHLO verifiedserver\r\n' 14:54:08.817703 Received DATA (on stdin) 14:54:08.817713 > 53 bytes data, server => client 14:54:08.817722 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:08.817761 < 6 bytes data, client => server 14:54:08.817770 'HELP\r\n' 14:54:08.817854 Received DATA (on stdin) 14:54:08.817863 > 22 bytes data, server => client 14:54:08.817871 '214 WE ROOLZ: 109499\r\n' 14:54:08.817957 < 6 bytes data, client => server 14:54:08.817967 'QUIT\r\n' 14:54:08.818041 Received DATA (on stdin) 14:54:08.818049 > 35 bytes data, server => client 14:54:08.818057 '221 curl ESMTP server signing off\r\n' 14:54:08.818788 ====> Client disconnect 14:54:08.818895 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-921 mail body === End of file stdin-for-921 === Start of file valgrind921 ==123269== ==123269== Process terminating with default action of signal 4 (SIGILL) ==123269== Illegal opcode at address 0x4014B6F ==123269== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123269== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123269== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123269== by 0x4004266: main (tool_main.c:199) === End of file valgrind921 test 0920...[SMTP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind920 ../src/curl -q --output log/3/curl920.out --include --trace-ascii log/3/trace920 --trace-time smtp://127.0.0.1:35267/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/3/stdout920 2> log/3/stderr920 920: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 920 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind920 ../src/curl -q --output log/3/curl920.out --include --trace-ascii log/3/trace920 --trace-time smtp://127.0.0.1:35267/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/3/stdout920 2> log/3/stderr920 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 920 === End of file server.cmd === Start of file smtp_server.log 14:54:08.732639 ====> Client connect 14:54:08.732757 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:08.732975 < "EHLO verifiedserver" 14:54:08.733006 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:08.733127 < "HELP" 14:54:08.733149 > "214 WE ROOLZ: 109365[CR][LF]" 14:54:08.733159 return proof we are we 14:54:08.733302 < "QUIT" 14:54:08.733323 > "221 curl ESMTP server signing off[CR][LF]" 14:54:08.733592 MAIN sockfilt said DISC 14:54:08.733624 ====> Client disconnected 14:54:08.733680 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.815373 ====> Client connect 14:54:08.815574 Received DATA (on stdin) 14:54:08.815585 > 160 bytes data, server => client 14:54:08.815595 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:08.815603 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:08.815611 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:08.815671 < 21 bytes data, client => server 14:54:08.815681 'EHLO verifiedserver\r\n' 14:54:08.815815 Received DATA (on stdin) 14:54:08.815825 > 53 bytes data, server => client 14:54:08.815834 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:08.815873 < 6 bytes data, client => server 14:54:08.815882 'HELP\r\n' 14:54:08.815966 Received DATA (on stdin) 14:54:08.815975 > 22 bytes data, server => client 14:54:08.815983 '214 WE ROOLZ: 109365\r\n' 14:54:08.816047 < 6 bytes data, client => server 14:54:08.816057 'QUIT\r\n' 14:54:08.816131 Received DATA (on stdin) 14:54:08.816140 > 35 bytes data, server => client 14:54:08.816149 '221 curl ESMTP server signing off\r\n' 14:54:08.816339 ====> Client disconnect 14:54:08.816494 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-920 mail body === End of file stdin-for-920 === Start of file valgrind920 ==123263== ==123263== Process terminating with default action of signal 4 (SIGILL) ==123263== Illegal opcode at address 0x4014B6F ==123263== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123263== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123263== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123263== by 0x4004266: main (tool_main.c:199) === End of file valgrind920 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/smtp_server.pid" --logfile "log/5/smtp_server.log" --logdir "log/5" --portfile "log/5/server/smtp_server.port" --srcdir "/startdir/src/curl/tesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind900 ../src/curl -q --output log/18/curl900.out --include --trace-ascii log/18/trace900 --trace-time smtp://127.0.0.1:38283/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout900 2> log/18/stderr900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind924 ../src/curl -q --output log/17/curl924.out --include --trace-ascii log/17/trace924 --trace-time smtp://127.0.0.1:35643/924 --mail-rcpt smith > log/17/stdout924 2> log/17/stderr924 ts" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44721 (log/5/server/smtp_server.port) RUN: SMTP server is PID 122806 port 44721 * pid smtp => 122806 122806 test 0901...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind901 ../src/curl -q --output log/5/curl901.out --include --trace-ascii log/5/trace901 --trace-time smtp://127.0.0.1:44721/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout901 2> log/5/stderr901 901: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind901 ../src/curl -q --output log/5/curl901.out --include --trace-ascii log/5/trace901 --trace-time smtp://127.0.0.1:44721/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout901 2> log/5/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 14:54:07.891471 SMTP server listens on port IPv4/44721 14:54:07.891556 logged pid 122806 in log/5/server/smtp_server.pid 14:54:07.891585 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:07.973867 Running IPv4 version 14:54:07.973935 Listening on port 44721 14:54:07.973968 Wrote pid 122856 to log/5/server/smtp_sockfilt.pid 14:54:07.973992 Wrote port 44721 to log/5/server/smtp_server.port 14:54:07.974009 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-901 From: different To: another . . . body === End of file stdin-for-901 === Start of file valgrind901 ==123392== ==123392== Process terminating with default action of signal 4 (SIGILL) ==123392== Illegal opcode at address 0x4014B6F ==123392== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123392== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123392== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123392== by 0x4004266: main (tool_main.c:199) === End of file valgrind901 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/smtp_server.pid" --logfile "log/24/smtp_server.log" --logdir "log/24" --portfile "log/24/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36587 (log/24/server/smtp_server.port) RUN: SMTP server is PID 122841 port 36587 * pid smtp => 122841 122841 test 0902...[RFC821-only SMTP server (EHLO not supported)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind902 ../src/curl -q --output log/24/curl902.out --include --trace-ascii log/24/trace902 --trace-time smtp://127.0.0.1:36587/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/24/stdout902 2> log/24/stderr902 902: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind902 ../src/curl -q --output log/24/curl902.out --include --trace-ascii log/24/trace902 --trace-time smtp://127.0.0.1:36587/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/24/stdout902 2> log/24/stderr902 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 902 === End of file server.cmd === Start of file smtp_server.log 14:54:07.925287 SMTP server listens on port IPv4/36587 14:54:07.925392 logged pid 122841 in log/24/server/smtp_server.pid 14:54:07.925424 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:07.007751 Running IPv4 version 14:54:07.007861 Listening on port 36587 14:54:07.007910 Wrote pid 122921 to log/24/server/smtp_sockfilt.pid 14:54:07.007946 Wrote port 36587 to log/24/server/smtp_server.port 14:54:07.007973 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-902 From: different To: another body === End of file stdin-for-902 === Start of file valgrind902 ==123468== ==123468== Process terminating with default action of signal 4 (SIGILL) ==123468== Illegal opcode at address 0x4014B6F ==123468== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123468== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123468== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123468== by 0x4004266: main (tool_main.c:199) === End of file valgrind902 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/smtp_server.pid" --logfile "log/18/smtp_server.log" --logdir "log/18" --portfile "log/18/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38283 (log/18/server/smtp_server.port) RUN: SMTP server is PID 122773 port 38283 * pid smtp => 122773 122773 test 0900...[SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind900 ../src/curl -q --output log/18/curl900.out --include --trace-ascii log/18/trace900 --trace-time smtp://127.0.0.1:38283/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout900 2> log/18/stderr900 900: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind900 ../src/curl -q --output log/18/curl900.out --include --trace-ascii log/18/trace900 --trace-time smtp://127.0.0.1:38283/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout900 2> log/18/stderr900 === End of file commands.log === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 14:54:07.878165 SMTP server listens on port IPv4/38283 14:54:07.878259 logged pid 122773 in log/18/server/smtp_server.pid 14:54:07.878288 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:07.960346 Running IPv4 version 14:54:07.960513 Listening on port 38283 14:54:07.960560 Wrote pid 122828 to log/18/server/smtp_sockfilt.pid 14:54:07.960600 Wrote port 38283 to log/18/server/smtp_server.port 14:54:07.960880 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-900 From: different To: another body === End of file stdin-for-900 === Start of file valgrind900 ==123369== ==123369== Process terminating with default action of signal 4 (SIGILL) ==123369== Illegal opcode at address 0x4014B6F ==123369== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123369== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123369== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123369== by 0x4004266: main (tool_main.c:199) === End of file valgrind900 test 0924...[SMTP ambiguous VRFY] ../libtool --mode=execute /usCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind904 ../src/curl -q --output log/15/curl904.out --include --trace-ascii log/15/trace904 --trace-time smtp://127.0.0.1:43909/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout904 2> log/15/stderr904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind903 ../src/curl -q --output log/2/curl903.out --include --trace-ascii log/2/trace903 --trace-time smtp://127.0.0.1:36991/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout903 2> log/2/stderr903 r/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind924 ../src/curl -q --output log/17/curl924.out --include --trace-ascii log/17/trace924 --trace-time smtp://127.0.0.1:35643/924 --mail-rcpt smith > log/17/stdout924 2> log/17/stderr924 924: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 924 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind924 ../src/curl -q --output log/17/curl924.out --include --trace-ascii log/17/trace924 --trace-time smtp://127.0.0.1:35643/924 --mail-rcpt smith > log/17/stdout924 2> log/17/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 14:54:09.009852 ====> Client connect 14:54:09.009962 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.010166 < "EHLO verifiedserver" 14:54:09.010314 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.010546 < "HELP" 14:54:09.010575 > "214 WE ROOLZ: 109366[CR][LF]" 14:54:09.010587 return proof we are we 14:54:09.010791 < "QUIT" 14:54:09.010812 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.011470 MAIN sockfilt said DISC 14:54:09.011491 ====> Client disconnected 14:54:09.011540 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.092570 ====> Client connect 14:54:09.092778 Received DATA (on stdin) 14:54:09.092789 > 160 bytes data, server => client 14:54:09.092799 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.092808 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.092816 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.092869 < 21 bytes data, client => server 14:54:09.092879 'EHLO verifiedserver\r\n' 14:54:09.093111 Received DATA (on stdin) 14:54:09.093132 > 53 bytes data, server => client 14:54:09.093145 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.093246 < 6 bytes data, client => server 14:54:09.093267 'HELP\r\n' 14:54:09.093395 Received DATA (on stdin) 14:54:09.093404 > 22 bytes data, server => client 14:54:09.093413 '214 WE ROOLZ: 109366\r\n' 14:54:09.093521 < 6 bytes data, client => server 14:54:09.093532 'QUIT\r\n' 14:54:09.093620 Received DATA (on stdin) 14:54:09.093629 > 35 bytes data, server => client 14:54:09.093638 '221 curl ESMTP server signing off\r\n' 14:54:09.094242 ====> Client disconnect 14:54:09.094346 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==123540== ==123540== Process terminating with default action of signal 4 (SIGILL) ==123540== Illegal opcode at address 0x4014B6F ==123540== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123540== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123540== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123540== by 0x4004266: main (tool_main.c:199) === End of file valgrind924 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/smtp_server.pid" --logfile "log/15/smtp_server.log" --logdir "log/15" --portfile "log/15/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43909 (log/15/server/smtp_server.port) RUN: SMTP server is PID 122938 port 43909 * pid smtp => 122938 122938 test 0904...[SMTP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind904 ../src/curl -q --output log/15/curl904.out --include --trace-ascii log/15/trace904 --trace-time smtp://127.0.0.1:43909/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout904 2> log/15/stderr904 904: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind904 ../src/curl -q --output log/15/curl904.out --include --trace-ascii log/15/trace904 --trace-time smtp://127.0.0.1:43909/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout904 2> log/15/stderr904 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 VXNlcm5hbWU6 REPLY dXNlcg== 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 904 === End of file server.cmd === Start of file smtp_server.log 14:54:08.177987 SMTP server listens on port IPv4/43909 14:54:08.178069 logged pid 122938 in log/15/server/smtp_server.pid 14:54:08.178097 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.260350 Running IPv4 version 14:54:08.260458 Listening on port 43909 14:54:08.260588 Wrote pid 122941 to log/15/server/smtp_sockfilt.pid 14:54:08.260639 Wrote port 43909 to log/15/server/smtp_server.port 14:54:08.260673 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-904 mail body === End of file stdin-for-904 === Start of file valgrind904 ==123593== ==123593== Process terminating with default action of signal 4 (SIGILL) ==123593== Illegal opcode at address 0x4014B6F ==123593== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123593== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123593== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123593== by 0x4004266: main (tool_main.c:199) === End of file valgrind904 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/smtp_server.pid" --logfile "log/2/smtp_server.log" --logdir "log/2" --portfile "log/2/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36991 (log/2/server/smtp_server.port) RUN: SMTP server is PID 122939 port 36991 * pid smtp => 122939 122939 test 0903...[SMTP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind903 ../src/curl -q --output log/2/curl903.out --include --trace-ascii log/2/trace903 --trace-time smtp://127.0.0.1:36991/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout903 2> log/2/stderr903 903: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 903 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind903 ../src/curl -q --output log/2/curl903.out --include --trace-ascii log/2/trace903 --trace-time smtp://127.0.0.1:36991/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout903 2> log/2/stderr903 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 903 === End of file server.cmd === Start of file smtp_server.log 14:54:08.177296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind905 ../src/curl -q --output log/6/curl905.out --include --trace-ascii log/6/trace905 --trace-time smtp://127.0.0.1:33615/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout905 2> log/6/stderr905 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind925 ../src/curl -q --output log/10/curl925.out --include --trace-ascii log/10/trace925 --trace-time smtp://127.0.0.1:36285/925 --mail-rcpt user@example.net > log/10/stdout925 2> log/10/stderr925 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:37667/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 SMTP server listens on port IPv4/36991 14:54:08.177414 logged pid 122939 in log/2/server/smtp_server.pid 14:54:08.177447 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.259788 Running IPv4 version 14:54:08.259882 Listening on port 36991 14:54:08.259928 Wrote pid 122940 to log/2/server/smtp_sockfilt.pid 14:54:08.259962 Wrote port 36991 to log/2/server/smtp_server.port 14:54:08.259989 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-903 mail body === End of file stdin-for-903 === Start of file valgrind903 ==123595== ==123595== Process terminating with default action of signal 4 (SIGILL) ==123595== Illegal opcode at address 0x4014B6F ==123595== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123595== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123595== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123595== by 0x4004266: main (tool_main.c:199) === End of file valgrind903 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/smtp_server.pid" --logfile "log/6/smtp_server.log" --logdir "log/6" --portfile "log/6/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33615 (log/6/server/smtp_server.port) RUN: SMTP server is PID 122942 port 33615 * pid smtp => 122942 122942 test 0905...[SMTP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind905 ../src/curl -q --output log/6/curl905.out --include --trace-ascii log/6/trace905 --trace-time smtp://127.0.0.1:33615/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout905 2> log/6/stderr905 905: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind905 ../src/curl -q --output log/6/curl905.out --include --trace-ascii log/6/trace905 --trace-time smtp://127.0.0.1:33615/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout905 2> log/6/stderr905 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated Testnum 905 === End of file server.cmd === Start of file smtp_server.log 14:54:08.212362 SMTP server listens on port IPv4/33615 14:54:08.212437 logged pid 122942 in log/6/server/smtp_server.pid 14:54:08.212464 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.294907 Running IPv4 version 14:54:08.294990 Listening on port 33615 14:54:08.295037 Wrote pid 122950 to log/6/server/smtp_sockfilt.pid 14:54:08.295066 Wrote port 33615 to log/6/server/smtp_server.port 14:54:08.295089 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-905 mail body === End of file stdin-for-905 === Start of file valgrind905 ==123698== ==123698== Process terminating with default action of signal 4 (SIGILL) ==123698== Illegal opcode at address 0x4014B6F ==123698== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123698== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123698== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123698== by 0x4004266: main (tool_main.c:199) === End of file valgrind905 test 0925...[SMTP external VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind925 ../src/curl -q --output log/10/curl925.out --include --trace-ascii log/10/trace925 --trace-time smtp://127.0.0.1:36285/925 --mail-rcpt user@example.net > log/10/stdout925 2> log/10/stderr925 925: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 925 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind925 ../src/curl -q --output log/10/curl925.out --include --trace-ascii log/10/trace925 --trace-time smtp://127.0.0.1:36285/925 --mail-rcpt user@example.net > log/10/stdout925 2> log/10/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 14:54:09.198634 ====> Client connect 14:54:09.198743 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.198953 < "EHLO verifiedserver" 14:54:09.198983 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.199111 < "HELP" 14:54:09.199134 > "214 WE ROOLZ: 109299[CR][LF]" 14:54:09.199146 return proof we are we 14:54:09.199312 < "QUIT" 14:54:09.199332 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.199882 MAIN sockfilt said DISC 14:54:09.199904 ====> Client disconnected 14:54:09.199952 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.281353 ====> Client connect 14:54:09.281560 Received DATA (on stdin) 14:54:09.281572 > 160 bytes data, server => client 14:54:09.281582 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.281591 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.281599 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.281656 < 21 bytes data, client => server 14:54:09.281666 'EHLO verifiedserver\r\n' 14:54:09.281793 Received DATA (on stdin) 14:54:09.281803 > 53 bytes data, server => client 14:54:09.281813 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.281854 < 6 bytes data, client => server 14:54:09.281862 'HELP\r\n' 14:54:09.281953 Received DATA (on stdin) 14:54:09.281962 > 22 bytes data, server => client 14:54:09.281971 '214 WE ROOLZ: 109299\r\n' 14:54:09.282053 < 6 bytes data, client => server 14:54:09.282064 'QUIT\r\n' 14:54:09.282141 Received DATA (on stdin) 14:54:09.282150 > 35 bytes data, server => client 14:54:09.282158 '221 curl ESMTP server signing off\r\n' 14:54:09.282652 ====> Client disconnect 14:54:09.282759 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==123740== ==123740== Process terminating with default action of signal 4 (SIGILL) ==123740== Illegal opcode at address 0x4014B6F ==123740== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123740== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123740== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123740== by 0x4004266: main (tool_main.c:199) === End of file valgrind925 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/smtp_server.pid" --logfile "log/23/smtp_server.log" --logdir "log/23" --portfile "log/23/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37667 (log/23/server/smtp_server.port) RUN: SMTP server is PID 122954 port 37667 * pid smtp => 122954 122954 test 0906...[SMTP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind906 ../src/curl -q --output log/23/curl906.out --includeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind908 ../src/curl -q --output log/4/curl908.out --include --trace-ascii log/4/trace908 --trace-time smtp://127.0.0.1:41259/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/4/stdout908 2> log/4/stderr908 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind909 ../src/curl -q --output log/13/curl909.out --include --trace-ascii log/13/trace909 --trace-time smtp://127.0.0.1:39289/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test909.eml > log/13/stdout909 2> log/13/stderr909 --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:37667/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 906: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:37667/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 14:54:08.256469 SMTP server listens on port IPv4/37667 14:54:08.256593 logged pid 122954 in log/23/server/smtp_server.pid 14:54:08.256637 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.338808 Running IPv4 version 14:54:08.338892 Listening on port 37667 14:54:08.338933 Wrote pid 122973 to log/23/server/smtp_sockfilt.pid 14:54:08.338964 Wrote port 37667 to log/23/server/smtp_server.port 14:54:08.339141 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-906 mail body === End of file stdin-for-906 === Start of file valgrind906 ==123803== ==123803== Process terminating with default action of signal 4 (SIGILL) ==123803== Illegal opcode at address 0x4014B6F ==123803== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123803== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123803== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123803== by 0x4004266: main (tool_main.c:199) === End of file valgrind906 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/smtp_server.pid" --logfile "log/4/smtp_server.log" --logdir "log/4" --portfile "log/4/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41259 (log/4/server/smtp_server.port) RUN: SMTP server is PID 122955 port 41259 * pid smtp => 122955 122955 test 0908...[SMTP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind908 ../src/curl -q --output log/4/curl908.out --include --trace-ascii log/4/trace908 --trace-time smtp://127.0.0.1:41259/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/4/stdout908 2> log/4/stderr908 908: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 908 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind908 ../src/curl -q --output log/4/curl908.out --include --trace-ascii log/4/trace908 --trace-time smtp://127.0.0.1:41259/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/4/stdout908 2> log/4/stderr908 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 908 === End of file server.cmd === Start of file smtp_server.log 14:54:08.261564 SMTP server listens on port IPv4/41259 14:54:08.261639 logged pid 122955 in log/4/server/smtp_server.pid 14:54:08.261663 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.344149 Running IPv4 version 14:54:08.344207 Listening on port 41259 14:54:08.344244 Wrote pid 122984 to log/4/server/smtp_sockfilt.pid 14:54:08.344272 Wrote port 41259 to log/4/server/smtp_server.port 14:54:08.344291 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-908 mail body === End of file stdin-for-908 === Start of file valgrind908 ==123828== ==123828== Process terminating with default action of signal 4 (SIGILL) ==123828== Illegal opcode at address 0x4014B6F ==123828== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123828== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123828== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123828== by 0x4004266: main (tool_main.c:199) === End of file valgrind908 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/smtp_server.pid" --logfile "log/13/smtp_server.log" --logdir "log/13" --portfile "log/13/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39289 (log/13/server/smtp_server.port) RUN: SMTP server is PID 123000 port 39289 * pid smtp => 123000 123000 test 0909...[SMTP without SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind909 ../src/curl -q --output log/13/curl909.out --include --trace-ascii log/13/trace909 --trace-time smtp://127.0.0.1:39289/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test909.eml > log/13/stdout909 2> log/13/stderr909 909: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind909 ../src/curl -q --output log/13/curl909.out --include --trace-ascii log/13/trace909 --trace-time smtp://127.0.0.1:39289/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test909.eml > log/13/stdout909 2> log/13/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 14:54:08.300620 SMTP server listens on port IPv4/39289 14:54:08.300701 logged pid 123000 in log/13/server/smtp_server.pid 14:54:08.300728 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.383157 Running IPv4 version 14:54:08.383245 Listening on port 39289 14:54:08.383283 Wrote pid 123020 to log/13/server/smtp_sockfilt.pid 14:54:08.383312 Wrote port 39289 to log/13/server/smtp_server.port 14:54:08.383334 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test909.eml From: different To: another body === End of file test909.eml === Start of file valgrind909 ==123918== ==123918== Process terminating with default action of signal 4 (SIGILL) ==123918== Illegal opcode at address 0x4014B6F ==123918== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==123918== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==123918== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind928 ../src/curl -q --output log/3/curl928.out --include --trace-ascii log/3/trace928 --trace-time smtp://127.0.0.1:35267/928 > log/3/stdout928 2> log/3/stderr928 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind927 ../src/curl -q --output log/1/curl927.out --include --trace-ascii log/1/trace927 --trace-time smtp://127.0.0.1:44549/927 --mail-rcpt Friends -X EXPN > log/1/stdout927 2> log/1/stderr927 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind912 ../src/curl -q --output log/12/curl912.out --include --trace-ascii log/12/trace912 --trace-time smtp://127.0.0.1:35737/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/12/test912.eml > log/12/stdout912 2> log/12/stderr912 by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==123918== by 0x4004266: main (tool_main.c:199) === End of file valgrind909 test 0928...[SMTP HELP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind928 ../src/curl -q --output log/3/curl928.out --include --trace-ascii log/3/trace928 --trace-time smtp://127.0.0.1:35267/928 > log/3/stdout928 2> log/3/stderr928 928: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 928 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind928 ../src/curl -q --output log/3/curl928.out --include --trace-ascii log/3/trace928 --trace-time smtp://127.0.0.1:35267/928 > log/3/stdout928 2> log/3/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 14:54:09.427476 ====> Client connect 14:54:09.427609 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.427901 < "EHLO verifiedserver" 14:54:09.427947 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.428110 < "HELP" 14:54:09.428141 > "214 WE ROOLZ: 109365[CR][LF]" 14:54:09.428155 return proof we are we 14:54:09.428367 < "QUIT" 14:54:09.428392 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.428756 MAIN sockfilt said DISC 14:54:09.428816 ====> Client disconnected 14:54:09.428888 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.510186 ====> Client connect 14:54:09.510434 Received DATA (on stdin) 14:54:09.510449 > 160 bytes data, server => client 14:54:09.510462 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.510474 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.510484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.510561 < 21 bytes data, client => server 14:54:09.510576 'EHLO verifiedserver\r\n' 14:54:09.510764 Received DATA (on stdin) 14:54:09.510776 > 53 bytes data, server => client 14:54:09.510788 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.510840 < 6 bytes data, client => server 14:54:09.510852 'HELP\r\n' 14:54:09.510966 Received DATA (on stdin) 14:54:09.510982 > 22 bytes data, server => client 14:54:09.510993 '214 WE ROOLZ: 109365\r\n' 14:54:09.511096 < 6 bytes data, client => server 14:54:09.511110 'QUIT\r\n' 14:54:09.511205 Received DATA (on stdin) 14:54:09.511217 > 35 bytes data, server => client 14:54:09.511228 '221 curl ESMTP server signing off\r\n' 14:54:09.511486 ====> Client disconnect 14:54:09.511708 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==124031== ==124031== Process terminating with default action of signal 4 (SIGILL) ==124031== Illegal opcode at address 0x4014B6F ==124031== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124031== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124031== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124031== by 0x4004266: main (tool_main.c:199) === End of file valgrind928 test 0927...[SMTP mailing list EXPN (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind927 ../src/curl -q --output log/1/curl927.out --include --trace-ascii log/1/trace927 --trace-time smtp://127.0.0.1:44549/927 --mail-rcpt Friends -X EXPN > log/1/stdout927 2> log/1/stderr927 927: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 927 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind927 ../src/curl -q --output log/1/curl927.out --include --trace-ascii log/1/trace927 --trace-time smtp://127.0.0.1:44549/927 --mail-rcpt Friends -X EXPN > log/1/stdout927 2> log/1/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 14:54:09.411014 ====> Client connect 14:54:09.411143 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.411417 < "EHLO verifiedserver" 14:54:09.411454 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.411622 < "HELP" 14:54:09.411651 > "214 WE ROOLZ: 109499[CR][LF]" 14:54:09.411666 return proof we are we 14:54:09.411880 < "QUIT" 14:54:09.411907 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.412601 MAIN sockfilt said DISC 14:54:09.412670 ====> Client disconnected 14:54:09.412750 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.493727 ====> Client connect 14:54:09.493969 Received DATA (on stdin) 14:54:09.493985 > 160 bytes data, server => client 14:54:09.493999 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.494011 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.494022 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.494098 < 21 bytes data, client => server 14:54:09.494112 'EHLO verifiedserver\r\n' 14:54:09.494270 Received DATA (on stdin) 14:54:09.494284 > 53 bytes data, server => client 14:54:09.494296 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.494349 < 6 bytes data, client => server 14:54:09.494361 'HELP\r\n' 14:54:09.494478 Received DATA (on stdin) 14:54:09.494491 > 22 bytes data, server => client 14:54:09.494502 '214 WE ROOLZ: 109499\r\n' 14:54:09.494593 < 6 bytes data, client => server 14:54:09.494607 'QUIT\r\n' 14:54:09.494720 Received DATA (on stdin) 14:54:09.494733 > 35 bytes data, server => client 14:54:09.494745 '221 curl ESMTP server signing off\r\n' 14:54:09.495350 ====> Client disconnect 14:54:09.495575 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==124012== ==124012== Process terminating with default action of signal 4 (SIGILL) ==124012== Illegal opcode at address 0x4014B6F ==124012== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124012== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124012== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124012== by 0x4004266: main (tool_main.c:199) === End of file valgrind927 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/smtp_server.pid" --logfile "log/12/smtp_server.log" --logdir "log/12" --portfile "log/12/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35737 (log/12/server/smtp_server.port) RUN: SMTP server is PID 123096 port 35737 * pid smtp => 123096 123096 test 0912...[SMTP with SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind912 ../src/curl -q --output log/12/curl912.out --include --trace-ascii log/12/trace912 --trace-time smtp://127.0.0.1:35737/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/12/test912.eml > log/12/stdout912 2> log/12/stderr912 912: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:43299/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind917 ../src/curl -q --output log/20/curl917.out --include --trace-ascii log/20/trace917 --trace-time smtp://127.0.0.1:35695/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout917 2> log/20/stderr917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:43783/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 32 == Contents of files in the log/12/ dir after test 912 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind912 ../src/curl -q --output log/12/curl912.out --include --trace-ascii log/12/trace912 --trace-time smtp://127.0.0.1:35737/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/12/test912.eml > log/12/stdout912 2> log/12/stderr912 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 912 === End of file server.cmd === Start of file smtp_server.log 14:54:08.513408 SMTP server listens on port IPv4/35737 14:54:08.513468 logged pid 123096 in log/12/server/smtp_server.pid 14:54:08.513486 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.596016 Running IPv4 version 14:54:08.596072 Listening on port 35737 14:54:08.596102 Wrote pid 123115 to log/12/server/smtp_sockfilt.pid 14:54:08.596124 Wrote port 35737 to log/12/server/smtp_server.port 14:54:08.596141 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test912.eml From: different To: another body === End of file test912.eml === Start of file valgrind912 ==124110== ==124110== Process terminating with default action of signal 4 (SIGILL) ==124110== Illegal opcode at address 0x4014B6F ==124110== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124110== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124110== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124110== by 0x4004266: main (tool_main.c:199) === End of file valgrind912 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/smtp_server.pid" --logfile "log/8/smtp_server.log" --logdir "log/8" --portfile "log/8/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43299 (log/8/server/smtp_server.port) RUN: SMTP server is PID 123220 port 43299 * pid smtp => 123220 123220 test 0919...[SMTP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:43299/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 919: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:43299/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 235 Authenticated Testnum 919 === End of file server.cmd === Start of file smtp_server.log 14:54:08.636786 SMTP server listens on port IPv4/43299 14:54:08.636909 logged pid 123220 in log/8/server/smtp_server.pid 14:54:08.636933 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.719295 Running IPv4 version 14:54:08.719338 Listening on port 43299 14:54:08.719366 Wrote pid 123225 to log/8/server/smtp_sockfilt.pid 14:54:08.719388 Wrote port 43299 to log/8/server/smtp_server.port 14:54:08.719490 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-919 mail body === End of file stdin-for-919 === Start of file valgrind919 ==124550== ==124550== Process terminating with default action of signal 4 (SIGILL) ==124550== Illegal opcode at address 0x4014B6F ==124550== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124550== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124550== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124550== by 0x4004266: main (tool_main.c:199) === End of file valgrind919 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/smtp_server.pid" --logfile "log/20/smtp_server.log" --logdir "log/20" --portfile "log/20/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35695 (log/20/server/smtp_server.port) RUN: SMTP server is PID 123218 port 35695 * pid smtp => 123218 123218 test 0917...[SMTP with multiple --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind917 ../src/curl -q --output log/20/curl917.out --include --trace-ascii log/20/trace917 --trace-time smtp://127.0.0.1:35695/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout917 2> log/20/stderr917 917: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind917 ../src/curl -q --output log/20/curl917.out --include --trace-ascii log/20/trace917 --trace-time smtp://127.0.0.1:35695/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout917 2> log/20/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 14:54:08.634034 SMTP server listens on port IPv4/35695 14:54:08.634100 logged pid 123218 in log/20/server/smtp_server.pid 14:54:08.634122 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.716625 Running IPv4 version 14:54:08.716685 Listening on port 35695 14:54:08.716712 Wrote pid 123223 to log/20/server/smtp_sockfilt.pid 14:54:08.716734 Wrote port 35695 to log/20/server/smtp_server.port 14:54:08.716753 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-917 From: different To: another body === End of file stdin-for-917 === Start of file valgrind917 ==124544== ==124544== Process terminating with default action of signal 4 (SIGILL) ==124544== Illegal opcode at address 0x4014B6F ==124544== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124544== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124544== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124544== by 0x4004266: main (tool_main.c:199) === End of file valgrind917 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/smtp_server.pid" --logfile "log/9/smtp_server.log" --logdir "log/9" --portfile "log/9/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43783 (log/9/server/smtp_server.port) RUN: SMTP server is PID 123193 port 43783 * pid smtp => 123193 123193 test 0913...[SMTP with large message SIZE] ../libtool --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind914 ../src/curl -q --output log/21/curl914.out --include --trace-ascii log/21/trace914 --trace-time smtp://127.0.0.1:46579/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/21/test914.eml > log/21/stdout914 2> log/21/stderr914 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:41845/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind931 ../src/curl -q --output log/5/curl931.out --include --trace-ascii log/5/trace931 --trace-time smtp://127.0.0.1:44721/%0d%0a/931 > log/5/stdout931 2> log/5/stderr931 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind930 ../src/curl -q --output log/18/curl930.out --include --trace-ascii log/18/trace930 --trace-time smtp://127.0.0.1:38283/930 -X RSET -I > log/18/stdout930 2> log/18/stderr930 mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:43783/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 913: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:43783/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 === End of file commands.log === Start of file server.cmd CAPA "SIZE 32" Testnum 913 === End of file server.cmd === Start of file smtp_server.log 14:54:08.589004 SMTP server listens on port IPv4/43783 14:54:08.589065 logged pid 123193 in log/9/server/smtp_server.pid 14:54:08.589086 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.671587 Running IPv4 version 14:54:08.671662 Listening on port 43783 14:54:08.671692 Wrote pid 123213 to log/9/server/smtp_sockfilt.pid 14:54:08.671715 Wrote port 43783 to log/9/server/smtp_server.port 14:54:08.671732 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test913.eml From: different To: another body === End of file test913.eml === Start of file valgrind913 ==124202== ==124202== Process terminating with default action of signal 4 (SIGILL) ==124202== Illegal opcode at address 0x4014B6F ==124202== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124202== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124202== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124202== by 0x4004266: main (tool_main.c:199) === End of file valgrind913 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/smtp_server.pid" --logfile "log/21/smtp_server.log" --logdir "log/21" --portfile "log/21/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46579 (log/21/server/smtp_server.port) RUN: SMTP server is PID 123195 port 46579 * pid smtp => 123195 123195 test 0914...[SMTP invalid --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind914 ../src/curl -q --output log/21/curl914.out --include --trace-ascii log/21/trace914 --trace-time smtp://127.0.0.1:46579/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/21/test914.eml > log/21/stdout914 2> log/21/stderr914 914: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind914 ../src/curl -q --output log/21/curl914.out --include --trace-ascii log/21/trace914 --trace-time smtp://127.0.0.1:46579/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/21/test914.eml > log/21/stdout914 2> log/21/stderr914 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 914 === End of file server.cmd === Start of file smtp_server.log 14:54:08.591511 SMTP server listens on port IPv4/46579 14:54:08.591592 logged pid 123195 in log/21/server/smtp_server.pid 14:54:08.591615 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.673965 Running IPv4 version 14:54:08.674042 Listening on port 46579 14:54:08.674082 Wrote pid 123214 to log/21/server/smtp_sockfilt.pid 14:54:08.674112 Wrote port 46579 to log/21/server/smtp_server.port 14:54:08.674239 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test914.eml From: different To: another body === End of file test914.eml === Start of file valgrind914 ==124210== ==124210== Process terminating with default action of signal 4 (SIGILL) ==124210== Illegal opcode at address 0x4014B6F ==124210== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124210== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124210== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124210== by 0x4004266: main (tool_main.c:199) === End of file valgrind914 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/smtp_server.pid" --logfile "log/19/smtp_server.log" --logdir "log/19" --portfile "log/19/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41845 (log/19/server/smtp_server.port) RUN: SMTP server is PID 123208 port 41845 * pid smtp => 123208 123208 test 0916...[SMTP with invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:41845/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 916: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:41845/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 14:54:08.597855 SMTP server listens on port IPv4/41845 14:54:08.597922 logged pid 123208 in log/19/server/smtp_server.pid 14:54:08.597943 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.680354 Running IPv4 version 14:54:08.680419 Listening on port 41845 14:54:08.680447 Wrote pid 123216 to log/19/server/smtp_sockfilt.pid 14:54:08.680470 Wrote port 41845 to log/19/server/smtp_server.port 14:54:08.680594 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-916 From: different To: another body === End of file stdin-for-916 === Start of file valgrind916 ==124253== ==124253== Process terminating with default action of signal 4 (SIGILL) ==124253== Illegal opcode at address 0x4014B6F ==124253== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124253== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124253== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124253== by 0x4004266: main (tool_main.c:199) === End of file valgrind916 test 0931...[SMTP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind931 ../src/curl -q --output log/5/curl931.out --include --trace-ascii log/5/trace931 --trace-time smtp://127.0.0.1:44721/%0d%0a/931 > log/5/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind918 ../src/curl -q --output log/11/curl918.out --include --trace-ascii log/11/trace918 --trace-time smtp://127.0.0.1:43549/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/11/stdout918 2> log/11/stderr918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind929 ../src/curl -q --output log/24/curl929.out --include --trace-ascii log/24/trace929 --trace-time smtp://127.0.0.1:36587/929 -X NOOP -I > log/24/stdout929 2> log/24/stderr929 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind915 ../src/curl -q --output log/16/curl915.out --include --trace-ascii log/16/trace915 --trace-time smtp://127.0.0.1:43147/915 --mail-rcpt recipient@example.com -T - log/16/stdout915 2> log/16/stderr915 stdout931 2> log/5/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/5/ dir after test 931 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind931 ../src/curl -q --output log/5/curl931.out --include --trace-ascii log/5/trace931 --trace-time smtp://127.0.0.1:44721/%0d%0a/931 > log/5/stdout931 2> log/5/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 14:54:09.584930 ====> Client connect 14:54:09.585069 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.585303 < "EHLO verifiedserver" 14:54:09.585340 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.585509 < "HELP" 14:54:09.585540 > "214 WE ROOLZ: 122806[CR][LF]" 14:54:09.585556 return proof we are we 14:54:09.585778 < "QUIT" 14:54:09.585809 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.586634 MAIN sockfilt said DISC 14:54:09.586664 ====> Client disconnected 14:54:09.586723 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.667646 ====> Client connect 14:54:09.667889 Received DATA (on stdin) 14:54:09.667901 > 160 bytes data, server => client 14:54:09.667911 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.667920 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.667929 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.667990 < 21 bytes data, client => server 14:54:09.668000 'EHLO verifiedserver\r\n' 14:54:09.668156 Received DATA (on stdin) 14:54:09.668170 > 53 bytes data, server => client 14:54:09.668182 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.668233 < 6 bytes data, client => server 14:54:09.668245 'HELP\r\n' 14:54:09.668369 Received DATA (on stdin) 14:54:09.668382 > 22 bytes data, server => client 14:54:09.668392 '214 WE ROOLZ: 122806\r\n' 14:54:09.668480 < 6 bytes data, client => server 14:54:09.668494 'QUIT\r\n' 14:54:09.668623 Received DATA (on stdin) 14:54:09.668636 > 35 bytes data, server => client 14:54:09.668648 '221 curl ESMTP server signing off\r\n' 14:54:09.669391 ====> Client disconnect 14:54:09.669483 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==124357== ==124357== Process terminating with default action of signal 4 (SIGILL) ==124357== Illegal opcode at address 0x4014B6F ==124357== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124357== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124357== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124357== by 0x4004266: main (tool_main.c:199) === End of file valgrind931 test 0930...[SMTP RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind930 ../src/curl -q --output log/18/curl930.out --include --trace-ascii log/18/trace930 --trace-time smtp://127.0.0.1:38283/930 -X RSET -I > log/18/stdout930 2> log/18/stderr930 930: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 930 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind930 ../src/curl -q --output log/18/curl930.out --include --trace-ascii log/18/trace930 --trace-time smtp://127.0.0.1:38283/930 -X RSET -I > log/18/stdout930 2> log/18/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 14:54:09.569481 ====> Client connect 14:54:09.569598 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.570739 < "EHLO verifiedserver" 14:54:09.570795 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.571185 < "HELP" 14:54:09.571219 > "214 WE ROOLZ: 122773[CR][LF]" 14:54:09.571234 return proof we are we 14:54:09.571431 < "QUIT" 14:54:09.571464 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.571860 MAIN sockfilt said DISC 14:54:09.571903 ====> Client disconnected 14:54:09.571969 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.652211 ====> Client connect 14:54:09.652415 Received DATA (on stdin) 14:54:09.652428 > 160 bytes data, server => client 14:54:09.652437 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.652446 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.652454 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.652670 < 21 bytes data, client => server 14:54:09.652684 'EHLO verifiedserver\r\n' 14:54:09.653805 Received DATA (on stdin) 14:54:09.653824 > 53 bytes data, server => client 14:54:09.653837 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.653895 < 6 bytes data, client => server 14:54:09.653909 'HELP\r\n' 14:54:09.654046 Received DATA (on stdin) 14:54:09.654058 > 22 bytes data, server => client 14:54:09.654069 '214 WE ROOLZ: 122773\r\n' 14:54:09.654155 < 6 bytes data, client => server 14:54:09.654170 'QUIT\r\n' 14:54:09.654294 Received DATA (on stdin) 14:54:09.654307 > 35 bytes data, server => client 14:54:09.654318 '221 curl ESMTP server signing off\r\n' 14:54:09.654595 ====> Client disconnect 14:54:09.654792 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==124234== ==124234== Process terminating with default action of signal 4 (SIGILL) ==124234== Illegal opcode at address 0x4014B6F ==124234== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124234== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124234== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124234== by 0x4004266: main (tool_main.c:199) === End of file valgrind930 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/smtp_server.pid" --logfile "log/11/smtp_server.log" --logdir "log/11" --portfile "log/11/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43549 (log/11/server/smtp_server.port) RUN: SMTP server is PID 123219 port 43549 * pid smtp => 123219 123219 test 0918...[SMTP with multiple and invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind918 ../src/curl -q --output log/11/curl918.out --include --trace-ascii log/11/trace918 --trace-time smtp://127.0.0.1:43549/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/11/stdout918 2> log/11/stderr918 918: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind918 ../src/curl -q --output log/11/curl918.out --include --trace-ascii log/11/trace918 --trace-time smtp://127.0.0.1:43549/918 --mail-rcpt recipient.one@example.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind922 ../src/curl -q --output log/14/curl922.out --include --trace-ascii log/14/trace922 --trace-time smtp://127.0.0.1:45789/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout922 2> log/14/stderr922 om --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/11/stdout918 2> log/11/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 14:54:08.634402 SMTP server listens on port IPv4/43549 14:54:08.634455 logged pid 123219 in log/11/server/smtp_server.pid 14:54:08.634473 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.717007 Running IPv4 version 14:54:08.717077 Listening on port 43549 14:54:08.717107 Wrote pid 123224 to log/11/server/smtp_sockfilt.pid 14:54:08.717129 Wrote port 43549 to log/11/server/smtp_server.port 14:54:08.717145 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-918 From: different To: another body === End of file stdin-for-918 === Start of file valgrind918 ==124545== ==124545== Process terminating with default action of signal 4 (SIGILL) ==124545== Illegal opcode at address 0x4014B6F ==124545== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124545== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124545== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124545== by 0x4004266: main (tool_main.c:199) === End of file valgrind918 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/smtp_server.pid" --logfile "log/16/smtp_server.log" --logdir "log/16" --portfile "log/16/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43147 (log/16/server/smtp_server.port) RUN: SMTP server is PID 123210 port 43147 * pid smtp => 123210 123210 test 0915...[SMTP without --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind915 ../src/curl -q --output log/16/curl915.out --include --trace-ascii log/16/trace915 --trace-time smtp://127.0.0.1:43147/915 --mail-rcpt recipient@example.com -T - log/16/stdout915 2> log/16/stderr915 915: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 915 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind915 ../src/curl -q --output log/16/curl915.out --include --trace-ascii log/16/trace915 --trace-time smtp://127.0.0.1:43147/915 --mail-rcpt recipient@example.com -T - log/16/stdout915 2> log/16/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 14:54:08.604884 SMTP server listens on port IPv4/43147 14:54:08.604951 logged pid 123210 in log/16/server/smtp_server.pid 14:54:08.604972 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.687383 Running IPv4 version 14:54:08.687440 Listening on port 43147 14:54:08.687468 Wrote pid 123217 to log/16/server/smtp_sockfilt.pid 14:54:08.687492 Wrote port 43147 to log/16/server/smtp_server.port 14:54:08.687615 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-915 From: different To: another body === End of file stdin-for-915 === Start of file valgrind915 ==124256== ==124256== Process terminating with default action of signal 4 (SIGILL) ==124256== Illegal opcode at address 0x4014B6F ==124256== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124256== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124256== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124256== by 0x4004266: main (tool_main.c:199) === End of file valgrind915 test 0929...[SMTP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind929 ../src/curl -q --output log/24/curl929.out --include --trace-ascii log/24/trace929 --trace-time smtp://127.0.0.1:36587/929 -X NOOP -I > log/24/stdout929 2> log/24/stderr929 929: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 929 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind929 ../src/curl -q --output log/24/curl929.out --include --trace-ascii log/24/trace929 --trace-time smtp://127.0.0.1:36587/929 -X NOOP -I > log/24/stdout929 2> log/24/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 14:54:09.568537 ====> Client connect 14:54:09.568658 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.568883 < "EHLO verifiedserver" 14:54:09.568912 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.569037 < "HELP" 14:54:09.569060 > "214 WE ROOLZ: 122841[CR][LF]" 14:54:09.569071 return proof we are we 14:54:09.569216 < "QUIT" 14:54:09.569237 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.569676 MAIN sockfilt said DISC 14:54:09.569697 ====> Client disconnected 14:54:09.569739 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.651249 ====> Client connect 14:54:08.651475 Received DATA (on stdin) 14:54:08.651487 > 160 bytes data, server => client 14:54:08.651496 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:08.651504 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:08.651512 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:08.651572 < 21 bytes data, client => server 14:54:08.651581 'EHLO verifiedserver\r\n' 14:54:08.651722 Received DATA (on stdin) 14:54:08.651731 > 53 bytes data, server => client 14:54:08.651740 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:08.651780 < 6 bytes data, client => server 14:54:08.651788 'HELP\r\n' 14:54:08.651877 Received DATA (on stdin) 14:54:08.651886 > 22 bytes data, server => client 14:54:08.651894 '214 WE ROOLZ: 122841\r\n' 14:54:08.651960 < 6 bytes data, client => server 14:54:08.651970 'QUIT\r\n' 14:54:08.652057 Received DATA (on stdin) 14:54:08.652066 > 35 bytes data, server => client 14:54:08.652074 '221 curl ESMTP server signing off\r\n' 14:54:08.652443 ====> Client disconnect 14:54:08.652547 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==124228== ==124228== Process terminating with default action of signal 4 (SIGILL) ==124228== Illegal opcode at address 0x4014B6F ==124228== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124228== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124228== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124228== by 0x4004266: main (tool_main.c:199) === End of file valgrind929 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/smtp_server.pid" --logfile "log/14/smtp_server.log" --logdir "log/14" --portfile "log/14/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45789 (log/14/server/smtp_server.port) RUN: SMTP server is PID 123239 port 45789 * pid smtp => 123239 123239 test 0922...[SMTP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind932 ../src/curl -q --output log/17/curl932.out --include --trace-ascii log/17/trace932 --trace-time smtp://127.0.0.1:35643/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/17/stdout932 2> log/17/stderr932 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind923 ../src/curl -q --output log/22/curl923.out --include --trace-ascii log/22/trace923 --trace-time smtp://127.0.0.1:35439/923 --mail-rcpt recipient > log/22/stdout923 2> log/22/stderr923 ute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind922 ../src/curl -q --output log/14/curl922.out --include --trace-ascii log/14/trace922 --trace-time smtp://127.0.0.1:45789/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout922 2> log/14/stderr922 922: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 922 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind922 ../src/curl -q --output log/14/curl922.out --include --trace-ascii log/14/trace922 --trace-time smtp://127.0.0.1:45789/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout922 2> log/14/stderr922 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 235 Authenticated Testnum 922 === End of file server.cmd === Start of file smtp_server.log 14:54:08.750360 SMTP server listens on port IPv4/45789 14:54:08.750419 logged pid 123239 in log/14/server/smtp_server.pid 14:54:08.750438 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.832911 Running IPv4 version 14:54:08.832972 Listening on port 45789 14:54:08.833016 Wrote pid 123297 to log/14/server/smtp_sockfilt.pid 14:54:08.833040 Wrote port 45789 to log/14/server/smtp_server.port 14:54:08.833102 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-922 mail body === End of file stdin-for-922 === Start of file valgrind922 ==124750== ==124750== Process terminating with default action of signal 4 (SIGILL) ==124750== Illegal opcode at address 0x4014B6F ==124750== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124750== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124750== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124750== by 0x4004266: main (tool_main.c:199) === End of file valgrind922 test 0932...[SMTP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind932 ../src/curl -q --output log/17/curl932.out --include --trace-ascii log/17/trace932 --trace-time smtp://127.0.0.1:35643/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/17/stdout932 2> log/17/stderr932 932: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 932 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind932 ../src/curl -q --output log/17/curl932.out --include --trace-ascii log/17/trace932 --trace-time smtp://127.0.0.1:35643/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/17/stdout932 2> log/17/stderr932 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 932 === End of file server.cmd === Start of file smtp_server.log 14:54:09.740292 ====> Client connect 14:54:09.740442 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:09.740721 < "EHLO verifiedserver" 14:54:09.740762 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:09.740928 < "HELP" 14:54:09.740957 > "214 WE ROOLZ: 109366[CR][LF]" 14:54:09.740971 return proof we are we 14:54:09.741178 < "QUIT" 14:54:09.741203 > "221 curl ESMTP server signing off[CR][LF]" 14:54:09.741957 MAIN sockfilt said DISC 14:54:09.741986 ====> Client disconnected 14:54:09.742046 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.822973 ====> Client connect 14:54:09.823266 Received DATA (on stdin) 14:54:09.823281 > 160 bytes data, server => client 14:54:09.823294 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.823305 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.823315 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.823389 < 21 bytes data, client => server 14:54:09.823402 'EHLO verifiedserver\r\n' 14:54:09.823581 Received DATA (on stdin) 14:54:09.823594 > 53 bytes data, server => client 14:54:09.823606 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.823656 < 6 bytes data, client => server 14:54:09.823667 'HELP\r\n' 14:54:09.823783 Received DATA (on stdin) 14:54:09.823794 > 22 bytes data, server => client 14:54:09.823805 '214 WE ROOLZ: 109366\r\n' 14:54:09.823908 < 6 bytes data, client => server 14:54:09.823921 'QUIT\r\n' 14:54:09.824015 Received DATA (on stdin) 14:54:09.824026 > 35 bytes data, server => client 14:54:09.824038 '221 curl ESMTP server signing off\r\n' 14:54:09.824607 ====> Client disconnect 14:54:09.824858 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==124768== ==124768== Process terminating with default action of signal 4 (SIGILL) ==124768== Illegal opcode at address 0x4014B6F ==124768== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124768== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124768== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124768== by 0x4004266: main (tool_main.c:199) === End of file valgrind932 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/smtp_server.pid" --logfile "log/22/smtp_server.log" --logdir "log/22" --portfile "log/22/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35439 (log/22/server/smtp_server.port) RUN: SMTP server is PID 123520 port 35439 * pid smtp => 123520 123520 test 0923...[SMTP VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind923 ../src/curl -q --output log/22/curl923.out --include --trace-ascii log/22/trace923 --trace-time smtp://127.0.0.1:35439/923 --mail-rcpt recipient > log/22/stdout923 2> log/22/stderr923 923: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 923 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind923 ../src/curl -q --output log/22/curl923.out --include --trace-ascii log/22/trace923 --trace-time smtp://127.0.0.1:35439/923 --mail-rcpt recipient > log/22/stdout923 2> log/22/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 14:54:08.999687 SMTP server listens on port IPv4/35439 14:54:08.999743 logged pid 123520 in log/22/server/smtp_server.pid 14:54:08.999762 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:08.082301 Running IPv4 version 14:54:08.082349 Listening on port 35439 14:54:08.082386 Wrote pid 123523 to log/22/server/smtp_sockfilt.pid 14:54:08.082410 Wrote port 35439 to log/22/server/smtp_server.port 14:54:08.082427 Received PING (onCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind933 ../src/curl -q --output log/15/curl933.out --include --trace-ascii log/15/trace933 --trace-time smtp://127.0.0.1:43909/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/15/stdout933 2> log/15/stderr933 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind936 ../src/curl -q --output log/6/curl936.out --include --trace-ascii log/6/trace936 --trace-time smtp://127.0.0.1:33615/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout936 2> log/6/stderr936 stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==124869== ==124869== Process terminating with default action of signal 4 (SIGILL) ==124869== Illegal opcode at address 0x4014B6F ==124869== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124869== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124869== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124869== by 0x4004266: main (tool_main.c:199) === End of file valgrind923 test 0933...[SMTP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind933 ../src/curl -q --output log/15/curl933.out --include --trace-ascii log/15/trace933 --trace-time smtp://127.0.0.1:43909/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/15/stdout933 2> log/15/stderr933 933: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 933 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind933 ../src/curl -q --output log/15/curl933.out --include --trace-ascii log/15/trace933 --trace-time smtp://127.0.0.1:43909/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/15/stdout933 2> log/15/stderr933 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 933 === End of file server.cmd === Start of file smtp_server.log 14:54:10.013973 ====> Client connect 14:54:10.014178 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.015476 < "EHLO verifiedserver" 14:54:10.015526 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.015700 < "HELP" 14:54:10.015731 > "214 WE ROOLZ: 122938[CR][LF]" 14:54:10.015746 return proof we are we 14:54:10.015991 < "QUIT" 14:54:10.016021 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.016988 MAIN sockfilt said DISC 14:54:10.017016 ====> Client disconnected 14:54:10.022459 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.093026 ====> Client connect 14:54:10.097892 Received DATA (on stdin) 14:54:10.097924 > 160 bytes data, server => client 14:54:10.097940 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.097954 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.097966 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.098102 < 21 bytes data, client => server 14:54:10.098117 'EHLO verifiedserver\r\n' 14:54:10.098345 Received DATA (on stdin) 14:54:10.098359 > 53 bytes data, server => client 14:54:10.098372 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.098427 < 6 bytes data, client => server 14:54:10.098439 'HELP\r\n' 14:54:10.098560 Received DATA (on stdin) 14:54:10.098572 > 22 bytes data, server => client 14:54:10.098584 '214 WE ROOLZ: 122938\r\n' 14:54:10.098715 < 6 bytes data, client => server 14:54:10.098730 'QUIT\r\n' 14:54:10.098835 Received DATA (on stdin) 14:54:10.098847 > 35 bytes data, server => client 14:54:10.098860 '221 curl ESMTP server signing off\r\n' 14:54:10.099742 ====> Client disconnect 14:54:10.105329 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==124945== ==124945== Process terminating with default action of signal 4 (SIGILL) ==124945== Illegal opcode at address 0x4014B6F ==124945== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124945== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124945== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124945== by 0x4004266: main (tool_main.c:199) === End of file valgrind933 test 0936...[SMTP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind936 ../src/curl -q --output log/6/curl936.out --include --trace-ascii log/6/trace936 --trace-time smtp://127.0.0.1:33615/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout936 2> log/6/stderr936 936: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 936 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind936 ../src/curl -q --output log/6/curl936.out --include --trace-ascii log/6/trace936 --trace-time smtp://127.0.0.1:33615/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout936 2> log/6/stderr936 === End of file commands.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 936 === End of file server.cmd === Start of file smtp_server.log 14:54:10.041528 ====> Client connect 14:54:10.041704 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.042056 < "EHLO verifiedserver" 14:54:10.042101 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.042291 < "HELP" 14:54:10.042325 > "214 WE ROOLZ: 122942[CR][LF]" 14:54:10.042341 return proof we are we 14:54:10.042579 < "QUIT" 14:54:10.042612 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.043477 MAIN sockfilt said DISC 14:54:10.043509 ====> Client disconnected 14:54:10.043599 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.124229 ====> Client connect 14:54:10.124533 Received DATA (on stdin) 14:54:10.124551 > 160 bytes data, server => client 14:54:10.124565 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.124582 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.124594 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.124674 < 21 bytes data, client => server 14:54:10.124691 'EHLO verifiedserver\r\n' 14:54:10.124920 Received DATA (on stdin) 14:54:10.124935 > 53 bytes data, server => client 14:54:10.124948 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.125006 < 6 bytes data, client => server 14:54:10.125022 'HELP\r\n' 14:54:10.125154 Received DATA (on stdin) 14:54:10.125168 > 22 bytes data, server => client 14:54:10.125180 '214 WE ROOLZ: 122942\r\n' 14:54:10.125296 < 6 bytes data, client => server 14:54:10.125313 'QUIT\r\n' 14:54:10.125428 Received DATA (on stdin) 14:54:10.125441 > 35 bytes data, server => client 14:54:10.125453 '221 curl ESMTP server signing off\r\n' 14:54:10.126230 ====> Client disconnect 14:54:10.128577 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-936 mail body === End of file stdin-for-936 === Start of file valgrind936 ==125013== ==125013== Process terminating with default action of signal 4 (SIGILL) ==125013== Illegal opcode at address 0x4014B6F ==125013== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125013== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind935 ../src/curl -q --output log/2/curl935.out --include --trace-ascii log/2/trace935 --trace-time smtp://127.0.0.1:36991/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout935 2> log/2/stderr935 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind940 ../src/curl -q --output log/23/curl940.out --include --trace-ascii log/23/trace940 --trace-time smtp://127.0.0.1:37667/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout940 2> log/23/stderr940 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind939 ../src/curl -q --output log/10/curl939.out --include --trace-ascii log/10/trace939 --trace-time smtp://127.0.0.1:36285/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout939 2> log/10/stderr939 017) ==125013== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125013== by 0x4004266: main (tool_main.c:199) === End of file valgrind936 test 0935...[SMTP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind935 ../src/curl -q --output log/2/curl935.out --include --trace-ascii log/2/trace935 --trace-time smtp://127.0.0.1:36991/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout935 2> log/2/stderr935 935: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 935 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind935 ../src/curl -q --output log/2/curl935.out --include --trace-ascii log/2/trace935 --trace-time smtp://127.0.0.1:36991/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout935 2> log/2/stderr935 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 935 === End of file server.cmd === Start of file smtp_server.log 14:54:10.020316 ====> Client connect 14:54:10.020493 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.020789 < "EHLO verifiedserver" 14:54:10.020829 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.020994 < "HELP" 14:54:10.021023 > "214 WE ROOLZ: 122939[CR][LF]" 14:54:10.021037 return proof we are we 14:54:10.021250 < "QUIT" 14:54:10.021278 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.022112 MAIN sockfilt said DISC 14:54:10.022140 ====> Client disconnected 14:54:10.022198 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.103008 ====> Client connect 14:54:10.103316 Received DATA (on stdin) 14:54:10.103332 > 160 bytes data, server => client 14:54:10.103346 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.103357 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.103368 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.103448 < 21 bytes data, client => server 14:54:10.103462 'EHLO verifiedserver\r\n' 14:54:10.103646 Received DATA (on stdin) 14:54:10.103658 > 53 bytes data, server => client 14:54:10.103670 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.103723 < 6 bytes data, client => server 14:54:10.103734 'HELP\r\n' 14:54:10.103850 Received DATA (on stdin) 14:54:10.103861 > 22 bytes data, server => client 14:54:10.103872 '214 WE ROOLZ: 122939\r\n' 14:54:10.103976 < 6 bytes data, client => server 14:54:10.103990 'QUIT\r\n' 14:54:10.104091 Received DATA (on stdin) 14:54:10.104103 > 35 bytes data, server => client 14:54:10.104115 '221 curl ESMTP server signing off\r\n' 14:54:10.104870 ====> Client disconnect 14:54:10.105013 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-935 mail body === End of file stdin-for-935 === Start of file valgrind935 ==124948== ==124948== Process terminating with default action of signal 4 (SIGILL) ==124948== Illegal opcode at address 0x4014B6F ==124948== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==124948== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==124948== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==124948== by 0x4004266: main (tool_main.c:199) === End of file valgrind935 test 0940...[SMTP with username and password but no AUTH capability] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind940 ../src/curl -q --output log/23/curl940.out --include --trace-ascii log/23/trace940 --trace-time smtp://127.0.0.1:37667/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout940 2> log/23/stderr940 940: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 940 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind940 ../src/curl -q --output log/23/curl940.out --include --trace-ascii log/23/trace940 --trace-time smtp://127.0.0.1:37667/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout940 2> log/23/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 14:54:10.073749 ====> Client connect 14:54:10.073929 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.074268 < "EHLO verifiedserver" 14:54:10.074315 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.074504 < "HELP" 14:54:10.074537 > "214 WE ROOLZ: 122954[CR][LF]" 14:54:10.074553 return proof we are we 14:54:10.074770 < "QUIT" 14:54:10.074801 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.074986 MAIN sockfilt said DISC 14:54:10.075031 ====> Client disconnected 14:54:10.075094 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.156437 ====> Client connect 14:54:10.156760 Received DATA (on stdin) 14:54:10.156779 > 160 bytes data, server => client 14:54:10.156793 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.156806 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.156818 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.156902 < 21 bytes data, client => server 14:54:10.156920 'EHLO verifiedserver\r\n' 14:54:10.157136 Received DATA (on stdin) 14:54:10.157151 > 53 bytes data, server => client 14:54:10.157164 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.157222 < 6 bytes data, client => server 14:54:10.157236 'HELP\r\n' 14:54:10.157369 Received DATA (on stdin) 14:54:10.157383 > 22 bytes data, server => client 14:54:10.157394 '214 WE ROOLZ: 122954\r\n' 14:54:10.157493 < 6 bytes data, client => server 14:54:10.157508 'QUIT\r\n' 14:54:10.157613 Received DATA (on stdin) 14:54:10.157626 > 35 bytes data, server => client 14:54:10.157638 '221 curl ESMTP server signing off\r\n' 14:54:10.157724 ====> Client disconnect 14:54:10.157912 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-940 mail body === End of file stdin-for-940 === Start of file valgrind940 ==125104== ==125104== Process terminating with default action of signal 4 (SIGILL) ==125104== Illegal opcode at address 0x4014B6F ==125104== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125104== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125104== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125104== by 0x4004266: main (tool_main.c:199) === End of file valgrind940 test 0939...[RFC821-only SMTP with username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind939 ../src/curl -q --outputCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind941 ../src/curl -q --output log/4/curl941.out --include --trace-ascii log/4/trace941 --trace-time smtp://127.0.0.1:41259/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/upload941 --crlf > log/4/stdout941 2> log/4/stderr941 log/10/curl939.out --include --trace-ascii log/10/trace939 --trace-time smtp://127.0.0.1:36285/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout939 2> log/10/stderr939 939: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 939 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind939 ../src/curl -q --output log/10/curl939.out --include --trace-ascii log/10/trace939 --trace-time smtp://127.0.0.1:36285/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout939 2> log/10/stderr939 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 939 === End of file server.cmd === Start of file smtp_server.log 14:54:10.062501 ====> Client connect 14:54:10.062643 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.062922 < "EHLO verifiedserver" 14:54:10.062961 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.063122 < "HELP" 14:54:10.063151 > "214 WE ROOLZ: 109299[CR][LF]" 14:54:10.063165 return proof we are we 14:54:10.063376 < "QUIT" 14:54:10.063402 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.064242 MAIN sockfilt said DISC 14:54:10.064271 ====> Client disconnected 14:54:10.064335 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.145211 ====> Client connect 14:54:10.145465 Received DATA (on stdin) 14:54:10.145479 > 160 bytes data, server => client 14:54:10.145492 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.145503 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.145514 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.145592 < 21 bytes data, client => server 14:54:10.145605 'EHLO verifiedserver\r\n' 14:54:10.145776 Received DATA (on stdin) 14:54:10.145789 > 53 bytes data, server => client 14:54:10.145800 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.145851 < 6 bytes data, client => server 14:54:10.145862 'HELP\r\n' 14:54:10.145975 Received DATA (on stdin) 14:54:10.145987 > 22 bytes data, server => client 14:54:10.145998 '214 WE ROOLZ: 109299\r\n' 14:54:10.146106 < 6 bytes data, client => server 14:54:10.146119 'QUIT\r\n' 14:54:10.146213 Received DATA (on stdin) 14:54:10.146225 > 35 bytes data, server => client 14:54:10.146236 '221 curl ESMTP server signing off\r\n' 14:54:10.147005 ====> Client disconnect 14:54:10.147149 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-939 mail body === End of file stdin-for-939 === Start of file valgrind939 ==125069== ==125069== Process terminating with default action of signal 4 (SIGILL) ==125069== Illegal opcode at address 0x4014B6F ==125069== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125069== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125069== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125069== by 0x4004266: main (tool_main.c:199) === End of file valgrind939 test 0941...[SMTP with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind941 ../src/curl -q --output log/4/curl941.out --include --trace-ascii log/4/trace941 --trace-time smtp://127.0.0.1:41259/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/upload941 --crlf > log/4/stdout941 2> log/4/stderr941 941: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 941 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind941 ../src/curl -q --output log/4/curl941.out --include --trace-ascii log/4/trace941 --trace-time smtp://127.0.0.1:41259/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/upload941 --crlf > log/4/stdout941 2> log/4/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 14:54:10.114725 ====> Client connect 14:54:10.114904 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.115265 < "EHLO verifiedserver" 14:54:10.115308 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.115469 < "HELP" 14:54:10.115499 > "214 WE ROOLZ: 122955[CR][LF]" 14:54:10.115628 return proof we are we 14:54:10.115757 < "QUIT" 14:54:10.115802 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.116321 MAIN sockfilt said DISC 14:54:10.116363 ====> Client disconnected 14:54:10.116432 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.197407 ====> Client connect 14:54:10.197729 Received DATA (on stdin) 14:54:10.197744 > 160 bytes data, server => client 14:54:10.197756 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.197768 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.197778 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.197895 < 21 bytes data, client => server 14:54:10.197909 'EHLO verifiedserver\r\n' 14:54:10.198124 Received DATA (on stdin) 14:54:10.198136 > 53 bytes data, server => client 14:54:10.198147 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.198199 < 6 bytes data, client => server 14:54:10.198210 'HELP\r\n' 14:54:10.198321 Received DATA (on stdin) 14:54:10.198333 > 22 bytes data, server => client 14:54:10.198343 '214 WE ROOLZ: 122955\r\n' 14:54:10.198466 < 6 bytes data, client => server 14:54:10.198481 'QUIT\r\n' 14:54:10.198623 Received DATA (on stdin) 14:54:10.198644 > 35 bytes data, server => client 14:54:10.198657 '221 curl ESMTP server signing off\r\n' 14:54:10.199068 ====> Client disconnect 14:54:10.199253 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file upload941 From: different To: another email headers and body with Unix newlines meant to be converted with the --crlf option 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind942 ../src/curl -q --output log/13/curl942.out --include --trace-ascii log/13/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:39289/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout942 2> log/13/stderr942 345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file upload941 === Start of file valgrind941 ==125270== ==125270== Process terminating with default action of signal 4 (SIGILL) ==125270== Illegal opcode at address 0x4014B6F ==125270== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125270== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125270== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125270== by 0x4004266: main (tool_main.c:199) === End of file valgrind941 test 0942...[SMTP external authenticatiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind926 ../src/curl -q --output log/7/curl926.out --include --trace-ascii log/7/trace926 --trace-time smtp://127.0.0.1:41719/926 --mail-rcpt recipient > log/7/stdout926 2> log/7/stderr926 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind943 ../src/curl -q --output log/3/curl943.out --include --trace-ascii log/3/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35267/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout943 2> log/3/stderr943 on] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind942 ../src/curl -q --output log/13/curl942.out --include --trace-ascii log/13/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:39289/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout942 2> log/13/stderr942 942: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 942 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind942 ../src/curl -q --output log/13/curl942.out --include --trace-ascii log/13/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:39289/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout942 2> log/13/stderr942 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY dXNlcg== 235 Authenticated Testnum 942 === End of file server.cmd === Start of file smtp_server.log 14:54:10.180350 ====> Client connect 14:54:10.180542 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.180884 < "EHLO verifiedserver" 14:54:10.180929 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.181511 < "HELP" 14:54:10.181547 > "214 WE ROOLZ: 123000[CR][LF]" 14:54:10.181564 return proof we are we 14:54:10.182112 < "QUIT" 14:54:10.182147 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.183074 MAIN sockfilt said DISC 14:54:10.183104 ====> Client disconnected 14:54:10.183181 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.263033 ====> Client connect 14:54:10.263372 Received DATA (on stdin) 14:54:10.263390 > 160 bytes data, server => client 14:54:10.263404 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.263416 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.263427 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.263524 < 21 bytes data, client => server 14:54:10.263539 'EHLO verifiedserver\r\n' 14:54:10.264125 Received DATA (on stdin) 14:54:10.264146 > 53 bytes data, server => client 14:54:10.264159 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.264221 < 6 bytes data, client => server 14:54:10.264236 'HELP\r\n' 14:54:10.264379 Received DATA (on stdin) 14:54:10.264392 > 22 bytes data, server => client 14:54:10.264405 '214 WE ROOLZ: 123000\r\n' 14:54:10.264532 < 6 bytes data, client => server 14:54:10.264550 'QUIT\r\n' 14:54:10.264963 Received DATA (on stdin) 14:54:10.264977 > 35 bytes data, server => client 14:54:10.264990 '221 curl ESMTP server signing off\r\n' 14:54:10.265829 ====> Client disconnect 14:54:10.266003 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-942 mail body === End of file stdin-for-942 === Start of file valgrind942 ==125342== ==125342== Process terminating with default action of signal 4 (SIGILL) ==125342== Illegal opcode at address 0x4014B6F ==125342== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125342== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125342== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125342== by 0x4004266: main (tool_main.c:199) === End of file valgrind942 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/smtp_server.pid" --logfile "log/7/smtp_server.log" --logdir "log/7" --portfile "log/7/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41719 (log/7/server/smtp_server.port) RUN: SMTP server is PID 123708 port 41719 * pid smtp => 123708 123708 test 0926...[SMTP unknown user VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind926 ../src/curl -q --output log/7/curl926.out --include --trace-ascii log/7/trace926 --trace-time smtp://127.0.0.1:41719/926 --mail-rcpt recipient > log/7/stdout926 2> log/7/stderr926 926: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 926 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind926 ../src/curl -q --output log/7/curl926.out --include --trace-ascii log/7/trace926 --trace-time smtp://127.0.0.1:41719/926 --mail-rcpt recipient > log/7/stdout926 2> log/7/stderr926 === End of file commands.log === Start of file server.cmd REPLY VRFY 550 Unknown user Testnum 926 === End of file server.cmd === Start of file smtp_server.log 14:54:09.216042 SMTP server listens on port IPv4/41719 14:54:09.216110 logged pid 123708 in log/7/server/smtp_server.pid 14:54:09.216131 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.298439 Running IPv4 version 14:54:09.298508 Listening on port 41719 14:54:09.298559 Wrote pid 123770 to log/7/server/smtp_sockfilt.pid 14:54:09.298583 Wrote port 41719 to log/7/server/smtp_server.port 14:54:09.298773 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==125355== ==125355== Process terminating with default action of signal 4 (SIGILL) ==125355== Illegal opcode at address 0x4014B6F ==125355== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125355== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125355== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125355== by 0x4004266: main (tool_main.c:199) === End of file valgrind926 test 0943...[SMTP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind943 ../src/curl -q --output log/3/curl943.out --include --trace-ascii log/3/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35267/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout943 2> log/3/stderr943 943: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 943 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind943 ../src/curl -q --output log/3/curl943.out --include --trace-ascii log/3/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35267/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout943 2> log/3/stderr943 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY = 235 Authenticated Testnum 943 === End of file server.cmd === Start of file smtp_server.log 14:54:10.429810 ====> Client connect 14:54:10.429953 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.430237 < "EHLO verifiedserver" 14:54:10.430276 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.430442 < "HELP" 14:54:1CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/3/stdout971 2> log/3/stderr971 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35737/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/stderr945 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind944 ../src/curl -q --output log/1/curl944.out --include --trace-ascii log/1/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44549/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/1/stdout944 2> log/1/stderr944 0.430470 > "214 WE ROOLZ: 109365[CR][LF]" 14:54:10.430485 return proof we are we 14:54:10.430702 < "QUIT" 14:54:10.430729 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.431642 MAIN sockfilt said DISC 14:54:10.431669 ====> Client disconnected 14:54:10.431728 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.512518 ====> Client connect 14:54:10.512778 Received DATA (on stdin) 14:54:10.512793 > 160 bytes data, server => client 14:54:10.512806 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.512818 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.512830 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.512902 < 21 bytes data, client => server 14:54:10.512915 'EHLO verifiedserver\r\n' 14:54:10.513091 Received DATA (on stdin) 14:54:10.513104 > 53 bytes data, server => client 14:54:10.513117 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.513172 < 6 bytes data, client => server 14:54:10.513183 'HELP\r\n' 14:54:10.513297 Received DATA (on stdin) 14:54:10.513309 > 22 bytes data, server => client 14:54:10.513320 '214 WE ROOLZ: 109365\r\n' 14:54:10.513430 < 6 bytes data, client => server 14:54:10.513444 'QUIT\r\n' 14:54:10.513541 Received DATA (on stdin) 14:54:10.513553 > 35 bytes data, server => client 14:54:10.513565 '221 curl ESMTP server signing off\r\n' 14:54:10.514407 ====> Client disconnect 14:54:10.514540 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-943 mail body === End of file stdin-for-943 === Start of file valgrind943 ==125512== ==125512== Process terminating with default action of signal 4 (SIGILL) ==125512== Illegal opcode at address 0x4014B6F ==125512== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125512== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125512== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125512== by 0x4004266: main (tool_main.c:199) === End of file valgrind943 test 0971...[Verify that options-in-versions and docs/cmdline-opts are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/3/stdout971 2> log/3/stderr971 valgrind SKIPPED -r-----e--- OK (902 out of 1725, remaining: 01:13, took 0.023s, duration: 01:20) test 0945...[SMTP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35737/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/stderr945 945: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 945 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:35737/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/stderr945 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 945 === End of file server.cmd === Start of file smtp_server.log 14:54:10.445352 ====> Client connect 14:54:10.445519 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.445811 < "EHLO verifiedserver" 14:54:10.445851 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.446012 < "HELP" 14:54:10.446040 > "214 WE ROOLZ: 123096[CR][LF]" 14:54:10.446054 return proof we are we 14:54:10.446264 < "QUIT" 14:54:10.446292 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.447425 MAIN sockfilt said DISC 14:54:10.447459 ====> Client disconnected 14:54:10.447512 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.528064 ====> Client connect 14:54:10.528343 Received DATA (on stdin) 14:54:10.528358 > 160 bytes data, server => client 14:54:10.528372 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.528384 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.528395 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.528466 < 21 bytes data, client => server 14:54:10.528479 'EHLO verifiedserver\r\n' 14:54:10.528665 Received DATA (on stdin) 14:54:10.528678 > 53 bytes data, server => client 14:54:10.528691 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.528742 < 6 bytes data, client => server 14:54:10.528754 'HELP\r\n' 14:54:10.528865 Received DATA (on stdin) 14:54:10.528877 > 22 bytes data, server => client 14:54:10.528888 '214 WE ROOLZ: 123096\r\n' 14:54:10.528992 < 6 bytes data, client => server 14:54:10.529006 'QUIT\r\n' 14:54:10.529104 Received DATA (on stdin) 14:54:10.529116 > 35 bytes data, server => client 14:54:10.529128 '221 curl ESMTP server signing off\r\n' 14:54:10.529768 ====> Client disconnect 14:54:10.530327 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-945 mail body === End of file stdin-for-945 === Start of file valgrind945 ==125570== ==125570== Process terminating with default action of signal 4 (SIGILL) ==125570== Illegal opcode at address 0x4014B6F ==125570== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125570== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125570== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125570== by 0x4004266: main (tool_main.c:199) === End of file valgrind945 test 0944...[SMTP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind944 ../src/curl -q --output log/1/curl944.out --include --trace-ascii log/1/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44549/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/1/stdout944 2> log/1/stderr944 944: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 944 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind944 ../src/curl -q --output log/1/curl944.out --include --trace-ascii log/1/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44549/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/1/stdout944 2> log/1/stderr944 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 944 === End of file server.cmd === Start of file smtp_server.log 14:54:10.434026 ====> Client connect 14:54:10.434182 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.442775 < "EHLO verifiedserver" 14:54:10.442831 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.443026 < "HELP" 14:54:10CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind954 ../src/curl -q --output log/16/curl954.out --include --trace-ascii log/16/trace954 --trace-time smtp://127.0.0.1:43147/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout954 2> log/16/stderr954 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind947 ../src/curl -q --output log/20/curl947.out --include --trace-ascii log/20/trace947 --trace-time smtp://127.0.0.1:35695/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/20/stdout947 2> log/20/stderr947 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind946 ../src/curl -q --output log/8/curl946.out --include --trace-ascii log/8/trace946 --trace-time smtp://127.0.0.1:43299/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/8/stdout946 2> log/8/stderr946 .443059 > "214 WE ROOLZ: 109499[CR][LF]" 14:54:10.443076 return proof we are we 14:54:10.443327 < "QUIT" 14:54:10.443357 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.444720 MAIN sockfilt said DISC 14:54:10.444750 ====> Client disconnected 14:54:10.444808 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.516346 ====> Client connect 14:54:10.517012 Received DATA (on stdin) 14:54:10.517032 > 160 bytes data, server => client 14:54:10.517046 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.517058 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.517070 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.525413 < 21 bytes data, client => server 14:54:10.525437 'EHLO verifiedserver\r\n' 14:54:10.525652 Received DATA (on stdin) 14:54:10.525667 > 53 bytes data, server => client 14:54:10.525681 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.525743 < 6 bytes data, client => server 14:54:10.525758 'HELP\r\n' 14:54:10.525890 Received DATA (on stdin) 14:54:10.525904 > 22 bytes data, server => client 14:54:10.525916 '214 WE ROOLZ: 109499\r\n' 14:54:10.526043 < 6 bytes data, client => server 14:54:10.526060 'QUIT\r\n' 14:54:10.526171 Received DATA (on stdin) 14:54:10.526185 > 35 bytes data, server => client 14:54:10.526197 '221 curl ESMTP server signing off\r\n' 14:54:10.527482 ====> Client disconnect 14:54:10.527626 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-944 mail body === End of file stdin-for-944 === Start of file valgrind944 ==125564== ==125564== Process terminating with default action of signal 4 (SIGILL) ==125564== Illegal opcode at address 0x4014B6F ==125564== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125564== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125564== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125564== by 0x4004266: main (tool_main.c:199) === End of file valgrind944 test 0954...[SMTP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind954 ../src/curl -q --output log/16/curl954.out --include --trace-ascii log/16/trace954 --trace-time smtp://127.0.0.1:43147/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout954 2> log/16/stderr954 954: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 954 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind954 ../src/curl -q --output log/16/curl954.out --include --trace-ascii log/16/trace954 --trace-time smtp://127.0.0.1:43147/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout954 2> log/16/stderr954 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 501 Not authorized Testnum 954 === End of file server.cmd === Start of file smtp_server.log 14:54:10.647461 ====> Client connect 14:54:10.647623 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.647927 < "EHLO verifiedserver" 14:54:10.647971 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.648156 < "HELP" 14:54:10.648189 > "214 WE ROOLZ: 123210[CR][LF]" 14:54:10.648205 return proof we are we 14:54:10.648435 < "QUIT" 14:54:10.648466 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.649150 MAIN sockfilt said DISC 14:54:10.649181 ====> Client disconnected 14:54:10.649242 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.730185 ====> Client connect 14:54:10.730449 Received DATA (on stdin) 14:54:10.730466 > 160 bytes data, server => client 14:54:10.730479 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.730491 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.730502 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.730574 < 21 bytes data, client => server 14:54:10.730591 'EHLO verifiedserver\r\n' 14:54:10.730790 Received DATA (on stdin) 14:54:10.730804 > 53 bytes data, server => client 14:54:10.730818 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.730875 < 6 bytes data, client => server 14:54:10.730889 'HELP\r\n' 14:54:10.731018 Received DATA (on stdin) 14:54:10.731032 > 22 bytes data, server => client 14:54:10.731044 '214 WE ROOLZ: 123210\r\n' 14:54:10.731152 < 6 bytes data, client => server 14:54:10.731169 'QUIT\r\n' 14:54:10.731282 Received DATA (on stdin) 14:54:10.731296 > 35 bytes data, server => client 14:54:10.731308 '221 curl ESMTP server signing off\r\n' 14:54:10.731901 ====> Client disconnect 14:54:10.732064 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-954 mail body === End of file stdin-for-954 === Start of file valgrind954 ==126059== ==126059== Process terminating with default action of signal 4 (SIGILL) ==126059== Illegal opcode at address 0x4014B6F ==126059== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126059== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126059== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126059== by 0x4004266: main (tool_main.c:199) === End of file valgrind954 test 0947...[SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind947 ../src/curl -q --output log/20/curl947.out --include --trace-ascii log/20/trace947 --trace-time smtp://127.0.0.1:35695/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/20/stdout947 2> log/20/stderr947 947: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 947 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind947 ../src/curl -q --output log/20/curl947.out --include --trace-ascii log/20/trace947 --trace-time smtp://127.0.0.1:35695/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/20/stdout947 2> log/20/stderr947 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 235 Authenticated Testnum 947 === End of file server.cmd === Start of file smtp_server.log 14:54:10.552955 ====> Client connect 14:54:10.553105 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.553395 < "EHLO verifiedserver" 14:54:10.553439 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.553908 < "HELP" 14:54:10.554011 > "214 WE ROOLZ: 123218[CR][LF]" 14:54:10.554050 return proof we are we 14:54:10.554553 < "QUIT" 14:54:10.554583 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.555301 MAIN sockfilt said DISC 14:54:10.555329 ====> Client disconnected 14:54:10.555385 Awaiting input === End of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind948 ../src/curl -q --output log/9/curl948.out --include --trace-ascii log/9/trace948 --trace-time smtp://127.0.0.1:43783/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/9/stdout948 2> log/9/stderr948 e smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.635676 ====> Client connect 14:54:10.635928 Received DATA (on stdin) 14:54:10.635944 > 160 bytes data, server => client 14:54:10.635957 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.635970 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.635981 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.636058 < 21 bytes data, client => server 14:54:10.636073 'EHLO verifiedserver\r\n' 14:54:10.636255 Received DATA (on stdin) 14:54:10.636269 > 53 bytes data, server => client 14:54:10.636282 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.636359 < 6 bytes data, client => server 14:54:10.636374 'HELP\r\n' 14:54:10.636766 Received DATA (on stdin) 14:54:10.636857 > 22 bytes data, server => client 14:54:10.636870 '214 WE ROOLZ: 123218\r\n' 14:54:10.637268 < 6 bytes data, client => server 14:54:10.637288 'QUIT\r\n' 14:54:10.637396 Received DATA (on stdin) 14:54:10.637409 > 35 bytes data, server => client 14:54:10.637421 '221 curl ESMTP server signing off\r\n' 14:54:10.638059 ====> Client disconnect 14:54:10.638201 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-947 mail body === End of file stdin-for-947 === Start of file valgrind947 ==125711== ==125711== Process terminating with default action of signal 4 (SIGILL) ==125711== Illegal opcode at address 0x4014B6F ==125711== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125711== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125711== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125711== by 0x4004266: main (tool_main.c:199) === End of file valgrind947 test 0946...[SMTP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind946 ../src/curl -q --output log/8/curl946.out --include --trace-ascii log/8/trace946 --trace-time smtp://127.0.0.1:43299/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/8/stdout946 2> log/8/stderr946 946: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 946 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind946 ../src/curl -q --output log/8/curl946.out --include --trace-ascii log/8/trace946 --trace-time smtp://127.0.0.1:43299/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/8/stdout946 2> log/8/stderr946 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDMyOTkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 14:54:10.541556 ====> Client connect 14:54:10.541729 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.541976 < "EHLO verifiedserver" 14:54:10.542037 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.542254 < "HELP" 14:54:10.542288 > "214 WE ROOLZ: 123220[CR][LF]" 14:54:10.542304 return proof we are we 14:54:10.542543 < "QUIT" 14:54:10.542572 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.542938 MAIN sockfilt said DISC 14:54:10.542965 ====> Client disconnected 14:54:10.543020 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.624125 ====> Client connect 14:54:10.624520 Received DATA (on stdin) 14:54:10.624540 > 160 bytes data, server => client 14:54:10.624553 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.624566 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.624577 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.624655 < 21 bytes data, client => server 14:54:10.624669 'EHLO verifiedserver\r\n' 14:54:10.624856 Received DATA (on stdin) 14:54:10.624871 > 53 bytes data, server => client 14:54:10.624884 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.624943 < 6 bytes data, client => server 14:54:10.624956 'HELP\r\n' 14:54:10.625124 Received DATA (on stdin) 14:54:10.625138 > 22 bytes data, server => client 14:54:10.625149 '214 WE ROOLZ: 123220\r\n' 14:54:10.625266 < 6 bytes data, client => server 14:54:10.625387 'QUIT\r\n' 14:54:10.625402 Received DATA (on stdin) 14:54:10.625414 > 35 bytes data, server => client 14:54:10.625426 '221 curl ESMTP server signing off\r\n' 14:54:10.625697 ====> Client disconnect 14:54:10.625838 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-946 mail body === End of file stdin-for-946 === Start of file valgrind946 ==125690== ==125690== Process terminating with default action of signal 4 (SIGILL) ==125690== Illegal opcode at address 0x4014B6F ==125690== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125690== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125690== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125690== by 0x4004266: main (tool_main.c:199) === End of file valgrind946 test 0948...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind948 ../src/curl -q --output log/9/curl948.out --include --trace-ascii log/9/trace948 --trace-time smtp://127.0.0.1:43783/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/9/stdout948 2> log/9/stderr948 948: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind948 ../src/curl -q --output log/9/curl948.out --include --trace-ascii log/9/trace948 --trace-time smtp://127.0.0.1:43783/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/9/stdout948 2> log/9/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDM3ODMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 948 === End of file server.cmd === Start of file smtp_server.log 14:54:10.590664 ====> Client connect 14:54:10.590817 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.591062 < "EHLO verifiedserver" 14:54:10.591096 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.591232 < "HELP" 14:54:10.591258 > "214 WE ROOLZ: 123193[CR][LF]" 14:54:10.591269 return proof we are we 14:54:10.591452 < "QUIT" 14:54:10.591482 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.592089 MAIN sockfilt said DISC 14:54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind952 ../src/curl -q --output log/11/curl952.out --include --trace-ascii log/11/trace952 --trace-time smtp://127.0.0.1:43549/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout952 2> log/11/stderr952 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:38283/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 :10.592117 ====> Client disconnected 14:54:10.592175 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.673377 ====> Client connect 14:54:10.673637 Received DATA (on stdin) 14:54:10.673650 > 160 bytes data, server => client 14:54:10.673661 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.673670 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.673679 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.673743 < 21 bytes data, client => server 14:54:10.673754 'EHLO verifiedserver\r\n' 14:54:10.673907 Received DATA (on stdin) 14:54:10.673918 > 53 bytes data, server => client 14:54:10.673928 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.673971 < 6 bytes data, client => server 14:54:10.673980 'HELP\r\n' 14:54:10.674077 Received DATA (on stdin) 14:54:10.674087 > 22 bytes data, server => client 14:54:10.674096 '214 WE ROOLZ: 123193\r\n' 14:54:10.674182 < 6 bytes data, client => server 14:54:10.674193 'QUIT\r\n' 14:54:10.674295 Received DATA (on stdin) 14:54:10.674308 > 35 bytes data, server => client 14:54:10.674319 '221 curl ESMTP server signing off\r\n' 14:54:10.674846 ====> Client disconnect 14:54:10.674991 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-948 mail body === End of file stdin-for-948 === Start of file valgrind948 ==125795== ==125795== Process terminating with default action of signal 4 (SIGILL) ==125795== Illegal opcode at address 0x4014B6F ==125795== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125795== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125795== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125795== by 0x4004266: main (tool_main.c:199) === End of file valgrind948 test 0952...[SMTP data with single dot-only line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind952 ../src/curl -q --output log/11/curl952.out --include --trace-ascii log/11/trace952 --trace-time smtp://127.0.0.1:43549/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout952 2> log/11/stderr952 952: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 952 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind952 ../src/curl -q --output log/11/curl952.out --include --trace-ascii log/11/trace952 --trace-time smtp://127.0.0.1:43549/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout952 2> log/11/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 14:54:10.642808 ====> Client connect 14:54:10.642973 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.643393 < "EHLO verifiedserver" 14:54:10.643440 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.643675 < "HELP" 14:54:10.643712 > "214 WE ROOLZ: 123219[CR][LF]" 14:54:10.643729 return proof we are we 14:54:10.643980 < "QUIT" 14:54:10.644011 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.644926 MAIN sockfilt said DISC 14:54:10.644960 ====> Client disconnected 14:54:10.645029 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.725519 ====> Client connect 14:54:10.725804 Received DATA (on stdin) 14:54:10.725822 > 160 bytes data, server => client 14:54:10.725836 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.725848 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.725860 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.726038 < 21 bytes data, client => server 14:54:10.726054 'EHLO verifiedserver\r\n' 14:54:10.726260 Received DATA (on stdin) 14:54:10.726275 > 53 bytes data, server => client 14:54:10.726288 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.726386 < 6 bytes data, client => server 14:54:10.726402 'HELP\r\n' 14:54:10.726543 Received DATA (on stdin) 14:54:10.726557 > 22 bytes data, server => client 14:54:10.726569 '214 WE ROOLZ: 123219\r\n' 14:54:10.726699 < 6 bytes data, client => server 14:54:10.726714 'QUIT\r\n' 14:54:10.726826 Received DATA (on stdin) 14:54:10.726839 > 35 bytes data, server => client 14:54:10.726851 '221 curl ESMTP server signing off\r\n' 14:54:10.727678 ====> Client disconnect 14:54:10.727847 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-952 . === End of file stdin-for-952 === Start of file valgrind952 ==126041== ==126041== Process terminating with default action of signal 4 (SIGILL) ==126041== Illegal opcode at address 0x4014B6F ==126041== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126041== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126041== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126041== by 0x4004266: main (tool_main.c:199) === End of file valgrind952 test 0951...[SMTP data with dot as first character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:38283/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 951: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 951 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:38283/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 14:54:10.633894 ====> Client connect 14:54:10.634052 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.634322 < "EHLO verifiedserver" 14:54:10.634366 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.634523 < "HELP" 14:54:10.634554 > "214 WE ROOLZ: 122773[CR][LF]" 14:54:10.634566 return proof we are we 14:54:10.634809 < "QUIT" 14:54:10.634841 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.635695 MAIN sockfilt said DISC 14:54:10.635726 ====> Client disconnected 14:54:10.635787 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.716600 ====> Client connect 14:54:10.716886 Received DATA (on stdin) 14:54:10.716903 > 160 bytes data, server => client 14:54:10.716914 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.716923 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.716931 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.716997 < 21 bytes data, client => server 14:54:10.717009 'EHLO verifiedserver\r\n' 14:54:10.717178 Received DATA (on stdin) 14:54:10.717189 > 53 bytes data, server => client 14:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:41845/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind949 ../src/curl -q --output log/21/curl949.out --include --trace-ascii log/21/trace949 --trace-time smtp://127.0.0.1:46579/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/21/stdout949 2> log/21/stderr949 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:36587/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/stderr953 54:10.717198 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.717247 < 6 bytes data, client => server 14:54:10.717256 'HELP\r\n' 14:54:10.717376 Received DATA (on stdin) 14:54:10.717387 > 22 bytes data, server => client 14:54:10.717396 '214 WE ROOLZ: 122773\r\n' 14:54:10.717485 < 6 bytes data, client => server 14:54:10.717500 'QUIT\r\n' 14:54:10.717652 Received DATA (on stdin) 14:54:10.717663 > 35 bytes data, server => client 14:54:10.717672 '221 curl ESMTP server signing off\r\n' 14:54:10.718457 ====> Client disconnect 14:54:10.718604 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-951 .This first line starts with a dot === End of file stdin-for-951 === Start of file valgrind951 ==125977== ==125977== Process terminating with default action of signal 4 (SIGILL) ==125977== Illegal opcode at address 0x4014B6F ==125977== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125977== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125977== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125977== by 0x4004266: main (tool_main.c:199) === End of file valgrind951 test 0950...[SMTP VRFY with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:41845/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 950: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 950 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:41845/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 14:54:10.631473 ====> Client connect 14:54:10.631630 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.631911 < "EHLO verifiedserver" 14:54:10.631943 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.632078 < "HELP" 14:54:10.632103 > "214 WE ROOLZ: 123208[CR][LF]" 14:54:10.632115 return proof we are we 14:54:10.632334 < "QUIT" 14:54:10.632364 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.633179 MAIN sockfilt said DISC 14:54:10.633209 ====> Client disconnected 14:54:10.633271 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.714193 ====> Client connect 14:54:10.714457 Received DATA (on stdin) 14:54:10.714473 > 160 bytes data, server => client 14:54:10.714487 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.714499 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.714510 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.714588 < 21 bytes data, client => server 14:54:10.714601 'EHLO verifiedserver\r\n' 14:54:10.714754 Received DATA (on stdin) 14:54:10.714765 > 53 bytes data, server => client 14:54:10.714774 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.714817 < 6 bytes data, client => server 14:54:10.714827 'HELP\r\n' 14:54:10.714922 Received DATA (on stdin) 14:54:10.714932 > 22 bytes data, server => client 14:54:10.714942 '214 WE ROOLZ: 123208\r\n' 14:54:10.715057 < 6 bytes data, client => server 14:54:10.715072 'QUIT\r\n' 14:54:10.715178 Received DATA (on stdin) 14:54:10.715191 > 35 bytes data, server => client 14:54:10.715203 '221 curl ESMTP server signing off\r\n' 14:54:10.715936 ====> Client disconnect 14:54:10.716090 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==125971== ==125971== Process terminating with default action of signal 4 (SIGILL) ==125971== Illegal opcode at address 0x4014B6F ==125971== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125971== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125971== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125971== by 0x4004266: main (tool_main.c:199) === End of file valgrind950 test 0949...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind949 ../src/curl -q --output log/21/curl949.out --include --trace-ascii log/21/trace949 --trace-time smtp://127.0.0.1:46579/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/21/stdout949 2> log/21/stderr949 949: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 949 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind949 ../src/curl -q --output log/21/curl949.out --include --trace-ascii log/21/trace949 --trace-time smtp://127.0.0.1:46579/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/21/stdout949 2> log/21/stderr949 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 949 === End of file server.cmd === Start of file smtp_server.log 14:54:10.615971 ====> Client connect 14:54:10.616129 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.616438 < "EHLO verifiedserver" 14:54:10.616487 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.616680 < "HELP" 14:54:10.616716 > "214 WE ROOLZ: 123195[CR][LF]" 14:54:10.616732 return proof we are we 14:54:10.616943 < "QUIT" 14:54:10.616967 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.617595 MAIN sockfilt said DISC 14:54:10.617623 ====> Client disconnected 14:54:10.617676 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.698684 ====> Client connect 14:54:10.698957 Received DATA (on stdin) 14:54:10.698975 > 160 bytes data, server => client 14:54:10.698988 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.699001 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.699012 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.699087 < 21 bytes data, client => server 14:54:10.699101 'EHLO verifiedserver\r\n' 14:54:10.699307 Received DATA (on stdin) 14:54:10.699321 > 53 bytes data, server => client 14:54:10.699334 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.699393 < 6 bytes data, client => server 14:54:10.699407 'HELP\r\n' 14:54:10.699546 Received DATA (on stdin) 14:54:10.699560 > 22 bytes data, server => client 14:54:10.699572 '214 WE ROOLZ: 123195\r\n' 14:54:10.699662 < 6 bytes data, client => server 14:54:10.699675 'QUIT\r\n' 14:54:10.699779 ReceivCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind955 ../src/curl -q --output log/5/curl955.out --include --trace-ascii log/5/trace955 --trace-time smtp://127.0.0.1:44721/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/5/stdout955 2> log/5/stderr955 ed DATA (on stdin) 14:54:10.699791 > 35 bytes data, server => client 14:54:10.699803 '221 curl ESMTP server signing off\r\n' 14:54:10.700353 ====> Client disconnect 14:54:10.700493 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-949 mail body === End of file stdin-for-949 === Start of file valgrind949 ==125912== ==125912== Process terminating with default action of signal 4 (SIGILL) ==125912== Illegal opcode at address 0x4014B6F ==125912== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==125912== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==125912== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==125912== by 0x4004266: main (tool_main.c:199) === End of file valgrind949 test 0953...[SMTP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:36587/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/stderr953 953: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 953 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:36587/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/stderr953 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 235 Authenticated Testnum 953 === End of file server.cmd === Start of file smtp_server.log 14:54:10.645272 ====> Client connect 14:54:10.645412 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.645699 < "EHLO verifiedserver" 14:54:10.645741 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.646105 < "HELP" 14:54:10.646137 > "214 WE ROOLZ: 122841[CR][LF]" 14:54:10.646154 return proof we are we 14:54:10.646396 < "QUIT" 14:54:10.646426 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.647268 MAIN sockfilt said DISC 14:54:10.647297 ====> Client disconnected 14:54:10.647355 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:09.727987 ====> Client connect 14:54:09.728238 Received DATA (on stdin) 14:54:09.728254 > 160 bytes data, server => client 14:54:09.728267 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:09.728279 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:09.728289 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:09.728364 < 21 bytes data, client => server 14:54:09.728379 'EHLO verifiedserver\r\n' 14:54:09.728570 Received DATA (on stdin) 14:54:09.728584 > 53 bytes data, server => client 14:54:09.728597 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:09.728814 < 6 bytes data, client => server 14:54:09.728831 'HELP\r\n' 14:54:09.728967 Received DATA (on stdin) 14:54:09.728981 > 22 bytes data, server => client 14:54:09.728993 '214 WE ROOLZ: 122841\r\n' 14:54:09.729117 < 6 bytes data, client => server 14:54:09.729133 'QUIT\r\n' 14:54:09.729240 Received DATA (on stdin) 14:54:09.729254 > 35 bytes data, server => client 14:54:09.729266 '221 curl ESMTP server signing off\r\n' 14:54:09.730031 ====> Client disconnect 14:54:09.730170 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-953 mail body === End of file stdin-for-953 === Start of file valgrind953 ==126042== ==126042== Process terminating with default action of signal 4 (SIGILL) ==126042== Illegal opcode at address 0x4014B6F ==126042== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126042== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126042== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126042== by 0x4004266: main (tool_main.c:199) === End of file valgrind953 setenv LC_ALL = C.UTF-8 test 0955...[SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind955 ../src/curl -q --output log/5/curl955.out --include --trace-ascii log/5/trace955 --trace-time smtp://127.0.0.1:44721/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/5/stdout955 2> log/5/stderr955 955: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 955 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind955 ../src/curl -q --output log/5/curl955.out --include --trace-ascii log/5/trace955 --trace-time smtp://127.0.0.1:44721/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/5/stdout955 2> log/5/stderr955 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 955 === End of file server.cmd === Start of file smtp_server.log 14:54:10.654166 ====> Client connect 14:54:10.654292 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.654564 < "EHLO verifiedserver" 14:54:10.654604 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.654775 < "HELP" 14:54:10.654804 > "214 WE ROOLZ: 122806[CR][LF]" 14:54:10.654820 return proof we are we 14:54:10.655053 < "QUIT" 14:54:10.655082 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.655749 MAIN sockfilt said DISC 14:54:10.655776 ====> Client disconnected 14:54:10.655827 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.736875 ====> Client connect 14:54:10.737117 Received DATA (on stdin) 14:54:10.737132 > 160 bytes data, server => client 14:54:10.737146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.737158 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.737169 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.737238 < 21 bytes data, client => server 14:54:10.737253 'EHLO verifiedserver\r\n' 14:54:10.737419 Received DATA (on stdin) 14:54:10.737433 > 53 bytes data, server => client 14:54:10.737445 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.737501 < 6 bytes data, client => server 14:54:10.737513 'HELP\r\n' 14:54:10.737633 Received DATA (on stdin) 14:54:10.737646 > 22 bytes data, server => client 14:54:10.737658 '214 WE ROOLZ: 122806\r\n' 14:54:10.737770 < 6 bytes data, client => server 14:54:10.737787 'QUIT\r\n' 14:54:10.737897 Received DATA (on stdin) 14:54:10.737912 > 35 bytes data, server => client 14:54:10.737925 '221 curl ESMTP server signing off\r\n' 14:54:10.738514 ====> Client disconnect 14:54:10.738691 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-955 From: different To: another body === End of file stdin-for-955 === Start of file valgrind955 ==126135== ==12613CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind956 ../src/curl -q --output log/14/curl956.out --include --trace-ascii log/14/trace956 --trace-time smtp://127.0.0.1:45789/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/14/stdout956 2> log/14/stderr956 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind957 ../src/curl -q --output log/17/curl957.out --include --trace-ascii log/17/trace957 --trace-time smtp://127.0.0.1:35643/957 --mail-rcpt Användaren > log/17/stdout957 2> log/17/stderr957 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind958 ../src/curl -q --output log/22/curl958.out --include --trace-ascii log/22/trace958 --trace-time smtp://127.0.0.1:35439/958 --mail-rcpt Användaren@example.com > log/22/stdout958 2> log/22/stderr958 5== Process terminating with default action of signal 4 (SIGILL) ==126135== Illegal opcode at address 0x4014B6F ==126135== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126135== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126135== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126135== by 0x4004266: main (tool_main.c:199) === End of file valgrind955 setenv LC_ALL = C.UTF-8 test 0956...[SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind956 ../src/curl -q --output log/14/curl956.out --include --trace-ascii log/14/trace956 --trace-time smtp://127.0.0.1:45789/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/14/stdout956 2> log/14/stderr956 956: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 956 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind956 ../src/curl -q --output log/14/curl956.out --include --trace-ascii log/14/trace956 --trace-time smtp://127.0.0.1:45789/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/14/stdout956 2> log/14/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 14:54:10.780251 ====> Client connect 14:54:10.780435 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.780777 < "EHLO verifiedserver" 14:54:10.780824 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.781013 < "HELP" 14:54:10.781048 > "214 WE ROOLZ: 123239[CR][LF]" 14:54:10.781065 return proof we are we 14:54:10.781304 < "QUIT" 14:54:10.781336 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.787393 MAIN sockfilt said DISC 14:54:10.787464 ====> Client disconnected 14:54:10.787550 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.861158 ====> Client connect 14:54:10.863269 Received DATA (on stdin) 14:54:10.863289 > 160 bytes data, server => client 14:54:10.863304 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.863316 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.863327 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.863412 < 21 bytes data, client => server 14:54:10.863428 'EHLO verifiedserver\r\n' 14:54:10.863643 Received DATA (on stdin) 14:54:10.863657 > 53 bytes data, server => client 14:54:10.863669 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.863729 < 6 bytes data, client => server 14:54:10.863744 'HELP\r\n' 14:54:10.863878 Received DATA (on stdin) 14:54:10.863891 > 22 bytes data, server => client 14:54:10.863903 '214 WE ROOLZ: 123239\r\n' 14:54:10.864021 < 6 bytes data, client => server 14:54:10.864039 'QUIT\r\n' 14:54:10.864150 Received DATA (on stdin) 14:54:10.864163 > 35 bytes data, server => client 14:54:10.864175 '221 curl ESMTP server signing off\r\n' 14:54:10.870104 ====> Client disconnect 14:54:10.870369 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-956 From: different To: another body === End of file stdin-for-956 === Start of file valgrind956 ==126368== ==126368== Process terminating with default action of signal 4 (SIGILL) ==126368== Illegal opcode at address 0x4014B6F ==126368== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126368== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126368== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126368== by 0x4004266: main (tool_main.c:199) === End of file valgrind956 setenv LC_ALL = C.UTF-8 test 0957...[SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind957 ../src/curl -q --output log/17/curl957.out --include --trace-ascii log/17/trace957 --trace-time smtp://127.0.0.1:35643/957 --mail-rcpt Användaren > log/17/stdout957 2> log/17/stderr957 957: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 957 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind957 ../src/curl -q --output log/17/curl957.out --include --trace-ascii log/17/trace957 --trace-time smtp://127.0.0.1:35643/957 --mail-rcpt Användaren > log/17/stdout957 2> log/17/stderr957 === End of file commands.log === Start of file server.cmd Testnum 957 === End of file server.cmd === Start of file smtp_server.log 14:54:10.817129 ====> Client connect 14:54:10.817293 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.817620 < "EHLO verifiedserver" 14:54:10.817661 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.817824 < "HELP" 14:54:10.817865 > "214 WE ROOLZ: 109366[CR][LF]" 14:54:10.817880 return proof we are we 14:54:10.818100 < "QUIT" 14:54:10.818127 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.822253 MAIN sockfilt said DISC 14:54:10.822300 ====> Client disconnected 14:54:10.822364 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.899797 ====> Client connect 14:54:10.900118 Received DATA (on stdin) 14:54:10.900133 > 160 bytes data, server => client 14:54:10.900146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.900157 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.900168 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.900244 < 21 bytes data, client => server 14:54:10.900258 'EHLO verifiedserver\r\n' 14:54:10.900477 Received DATA (on stdin) 14:54:10.900490 > 53 bytes data, server => client 14:54:10.900501 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.900553 < 6 bytes data, client => server 14:54:10.900564 'HELP\r\n' 14:54:10.900691 Received DATA (on stdin) 14:54:10.900703 > 22 bytes data, server => client 14:54:10.900714 '214 WE ROOLZ: 109366\r\n' 14:54:10.900828 < 6 bytes data, client => server 14:54:10.900842 'QUIT\r\n' 14:54:10.900939 Received DATA (on stdin) 14:54:10.900951 > 35 bytes data, server => client 14:54:10.900962 '221 curl ESMTP server signing off\r\n' 14:54:10.901755 ====> Client disconnect 14:54:10.907899 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==126402== ==126402== Process terminating with default action of signal 4 (SIGILL) ==126402== Illegal opcode at address 0x4014B6F ==126402== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126402== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126402== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126402== by 0x4004266: main (tool_main.c:199) === End of file valgrind957 setenv LC_ALL = C.UTF-8 test 0958...[SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind958 ../src/curl -q --output log/22/curl958.out CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind963 ../src/curl -q --output log/6/curl963.out --include --trace-ascii log/6/trace963 --trace-time smtp://127.0.0.1:33615/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/6/stdout963 2> log/6/stderr963 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind962 ../src/curl -q --output log/15/curl962.out --include --trace-ascii log/15/trace962 --trace-time smtp://127.0.0.1:43909/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/15/stdout962 2> log/15/stderr962 --include --trace-ascii log/22/trace958 --trace-time smtp://127.0.0.1:35439/958 --mail-rcpt Användaren@example.com > log/22/stdout958 2> log/22/stderr958 958: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 958 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind958 ../src/curl -q --output log/22/curl958.out --include --trace-ascii log/22/trace958 --trace-time smtp://127.0.0.1:35439/958 --mail-rcpt Användaren@example.com > log/22/stdout958 2> log/22/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 14:54:10.996265 ====> Client connect 14:54:10.996453 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:10.996784 < "EHLO verifiedserver" 14:54:10.996829 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:10.997024 < "HELP" 14:54:10.997057 > "214 WE ROOLZ: 123520[CR][LF]" 14:54:10.997073 return proof we are we 14:54:10.997296 < "QUIT" 14:54:10.997327 > "221 curl ESMTP server signing off[CR][LF]" 14:54:10.998367 MAIN sockfilt said DISC 14:54:10.998403 ====> Client disconnected 14:54:10.998468 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:10.078966 ====> Client connect 14:54:10.079283 Received DATA (on stdin) 14:54:10.079301 > 160 bytes data, server => client 14:54:10.079315 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.079327 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.079339 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.079420 < 21 bytes data, client => server 14:54:10.079437 'EHLO verifiedserver\r\n' 14:54:10.079649 Received DATA (on stdin) 14:54:10.079669 > 53 bytes data, server => client 14:54:10.079683 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:10.079741 < 6 bytes data, client => server 14:54:10.079755 'HELP\r\n' 14:54:10.079887 Received DATA (on stdin) 14:54:10.079901 > 22 bytes data, server => client 14:54:10.079913 '214 WE ROOLZ: 123520\r\n' 14:54:10.080015 < 6 bytes data, client => server 14:54:10.080031 'QUIT\r\n' 14:54:10.080144 Received DATA (on stdin) 14:54:10.080158 > 35 bytes data, server => client 14:54:10.080171 '221 curl ESMTP server signing off\r\n' 14:54:10.080910 ====> Client disconnect 14:54:10.081285 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==126496== ==126496== Process terminating with default action of signal 4 (SIGILL) ==126496== Illegal opcode at address 0x4014B6F ==126496== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126496== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126496== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126496== by 0x4004266: main (tool_main.c:199) === End of file valgrind958 setenv LC_ALL = C.UTF-8 test 0963...[SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind963 ../src/curl -q --output log/6/curl963.out --include --trace-ascii log/6/trace963 --trace-time smtp://127.0.0.1:33615/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/6/stdout963 2> log/6/stderr963 963: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 963 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind963 ../src/curl -q --output log/6/curl963.out --include --trace-ascii log/6/trace963 --trace-time smtp://127.0.0.1:33615/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/6/stdout963 2> log/6/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 14:54:11.186891 ====> Client connect 14:54:11.187076 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.187471 < "EHLO verifiedserver" 14:54:11.187524 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.187719 < "HELP" 14:54:11.187751 > "214 WE ROOLZ: 122942[CR][LF]" 14:54:11.187766 return proof we are we 14:54:11.187986 < "QUIT" 14:54:11.188015 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.188929 MAIN sockfilt said DISC 14:54:11.188958 ====> Client disconnected 14:54:11.189021 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.269350 ====> Client connect 14:54:11.269920 Received DATA (on stdin) 14:54:11.269943 > 160 bytes data, server => client 14:54:11.269956 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.269967 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.269978 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.270072 < 21 bytes data, client => server 14:54:11.270087 'EHLO verifiedserver\r\n' 14:54:11.270346 Received DATA (on stdin) 14:54:11.270361 > 53 bytes data, server => client 14:54:11.270373 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.270435 < 6 bytes data, client => server 14:54:11.270446 'HELP\r\n' 14:54:11.270577 Received DATA (on stdin) 14:54:11.270591 > 22 bytes data, server => client 14:54:11.270602 '214 WE ROOLZ: 122942\r\n' 14:54:11.270708 < 6 bytes data, client => server 14:54:11.270723 'QUIT\r\n' 14:54:11.270826 Received DATA (on stdin) 14:54:11.270838 > 35 bytes data, server => client 14:54:11.270848 '221 curl ESMTP server signing off\r\n' 14:54:11.271692 ====> Client disconnect 14:54:11.271833 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-963 From: different To: another body === End of file stdin-for-963 === Start of file valgrind963 ==126680== ==126680== Process terminating with default action of signal 4 (SIGILL) ==126680== Illegal opcode at address 0x4014B6F ==126680== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126680== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126680== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126680== by 0x4004266: main (tool_main.c:199) === End of file valgrind963 setenv LC_ALL = C.UTF-8 test 0962...[SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind962 ../src/curl -q --output log/15/curl962.out --include --trace-ascii log/15/trace962 --trace-time smtp://127.0.0.1:43909/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/15/stdout962 2> log/15/stderr962 962: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 962 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind962 ../src/curl -q --output log/15/curl962.out --include --trace-ascii log/15/trace962 --trace-time smtp://127.0.0.1:43909/962 --maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind965 ../src/curl -q --output log/23/curl965.out --include --trace-ascii log/23/trace965 --trace-time smtp://127.0.0.1:37667/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/23/stdout965 2> log/23/stderr965 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind967 ../src/curl -q --output log/4/curl967.out --include --trace-ascii log/4/trace967 --trace-time smtp://127.0.0.1:41259/967 --mail-rcpt Användaren@åäö.se > log/4/stdout967 2> log/4/stderr967 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind968 ../src/curl -q --output log/13/curl968.out --include --trace-ascii log/13/trace968 --trace-time smtp://127.0.0.1:39289/968 --mail-rcpt Användaren > log/13/stdout968 2> log/13/stderr968 il-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/15/stdout962 2> log/15/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 14:54:11.157786 ====> Client connect 14:54:11.157906 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.158135 < "EHLO verifiedserver" 14:54:11.158169 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.158304 < "HELP" 14:54:11.158327 > "214 WE ROOLZ: 122938[CR][LF]" 14:54:11.158339 return proof we are we 14:54:11.158512 < "QUIT" 14:54:11.158534 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.158996 MAIN sockfilt said DISC 14:54:11.159018 ====> Client disconnected 14:54:11.159059 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.240498 ====> Client connect 14:54:11.240725 Received DATA (on stdin) 14:54:11.240738 > 160 bytes data, server => client 14:54:11.240748 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.240758 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.240767 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.240827 < 21 bytes data, client => server 14:54:11.240837 'EHLO verifiedserver\r\n' 14:54:11.240980 Received DATA (on stdin) 14:54:11.240991 > 53 bytes data, server => client 14:54:11.241001 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.241044 < 6 bytes data, client => server 14:54:11.241054 'HELP\r\n' 14:54:11.241147 Received DATA (on stdin) 14:54:11.241156 > 22 bytes data, server => client 14:54:11.241165 '214 WE ROOLZ: 122938\r\n' 14:54:11.241250 < 6 bytes data, client => server 14:54:11.241262 'QUIT\r\n' 14:54:11.241342 Received DATA (on stdin) 14:54:11.241352 > 35 bytes data, server => client 14:54:11.241361 '221 curl ESMTP server signing off\r\n' 14:54:11.241766 ====> Client disconnect 14:54:11.241868 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-962 From: different To: another body === End of file stdin-for-962 === Start of file valgrind962 ==126598== ==126598== Process terminating with default action of signal 4 (SIGILL) ==126598== Illegal opcode at address 0x4014B6F ==126598== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126598== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126598== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126598== by 0x4004266: main (tool_main.c:199) === End of file valgrind962 setenv LC_ALL = C.UTF-8 test 0965...[SMTP with SMTPUTF8 support - UTF-8 based sender] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind965 ../src/curl -q --output log/23/curl965.out --include --trace-ascii log/23/trace965 --trace-time smtp://127.0.0.1:37667/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/23/stdout965 2> log/23/stderr965 965: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 965 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind965 ../src/curl -q --output log/23/curl965.out --include --trace-ascii log/23/trace965 --trace-time smtp://127.0.0.1:37667/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/23/stdout965 2> log/23/stderr965 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 965 === End of file server.cmd === Start of file smtp_server.log 14:54:11.188847 ====> Client connect 14:54:11.188993 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.189276 < "EHLO verifiedserver" 14:54:11.189324 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.189505 < "HELP" 14:54:11.189539 > "214 WE ROOLZ: 122954[CR][LF]" 14:54:11.189553 return proof we are we 14:54:11.189775 < "QUIT" 14:54:11.189802 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.190685 MAIN sockfilt said DISC 14:54:11.190714 ====> Client disconnected 14:54:11.190771 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.271555 ====> Client connect 14:54:11.271821 Received DATA (on stdin) 14:54:11.271838 > 160 bytes data, server => client 14:54:11.271852 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.271864 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.271876 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.271945 < 21 bytes data, client => server 14:54:11.271958 'EHLO verifiedserver\r\n' 14:54:11.272143 Received DATA (on stdin) 14:54:11.272156 > 53 bytes data, server => client 14:54:11.272169 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.272222 < 6 bytes data, client => server 14:54:11.272234 'HELP\r\n' 14:54:11.272366 Received DATA (on stdin) 14:54:11.272381 > 22 bytes data, server => client 14:54:11.272393 '214 WE ROOLZ: 122954\r\n' 14:54:11.272498 < 6 bytes data, client => server 14:54:11.272512 'QUIT\r\n' 14:54:11.272615 Received DATA (on stdin) 14:54:11.272628 > 35 bytes data, server => client 14:54:11.272640 '221 curl ESMTP server signing off\r\n' 14:54:11.273447 ====> Client disconnect 14:54:11.273585 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-965 From: different To: another body === End of file stdin-for-965 === Start of file valgrind965 ==126683== ==126683== Process terminating with default action of signal 4 (SIGILL) ==126683== Illegal opcode at address 0x4014B6F ==126683== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126683== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126683== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126683== by 0x4004266: main (tool_main.c:199) === End of file valgrind965 setenv LC_ALL = C.UTF-8 test 0967...[SMTP external VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind967 ../src/curl -q --output log/4/curl967.out --include --trace-ascii log/4/trace967 --trace-time smtp://127.0.0.1:41259/967 --mail-rcpt Användaren@åäö.se > log/4/stdout967 2> log/4/stderr967 967: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 967 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind967 ../src/curl -q --output log/4/curl967.out --include --trace-ascii log/4/trace967 --trace-time smtp://127.0.0.1:41259/967 --mail-rcpt Användaren@åäö.se > log/4/stdout967 2> log/4/stderr967 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 967 === End of file server.cmd === Start of file smtp_server.log 14:54:11.223666 ====> Client connect 14:54:11.223901 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.224318 < "EHLO verifiedserver" 14:54:11.224417 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.224653 < "HELP" 14:54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:36991/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 :11.224695 > "214 WE ROOLZ: 122955[CR][LF]" 14:54:11.224712 return proof we are we 14:54:11.224966 < "QUIT" 14:54:11.225000 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.226139 MAIN sockfilt said DISC 14:54:11.226171 ====> Client disconnected 14:54:11.226239 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.306232 ====> Client connect 14:54:11.306743 Received DATA (on stdin) 14:54:11.306769 > 160 bytes data, server => client 14:54:11.306784 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.306796 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.306806 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.306913 < 21 bytes data, client => server 14:54:11.306930 'EHLO verifiedserver\r\n' 14:54:11.307244 Received DATA (on stdin) 14:54:11.307263 > 53 bytes data, server => client 14:54:11.307277 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.307343 < 6 bytes data, client => server 14:54:11.307357 'HELP\r\n' 14:54:11.307526 Received DATA (on stdin) 14:54:11.307540 > 22 bytes data, server => client 14:54:11.307552 '214 WE ROOLZ: 122955\r\n' 14:54:11.307674 < 6 bytes data, client => server 14:54:11.307691 'QUIT\r\n' 14:54:11.307815 Received DATA (on stdin) 14:54:11.307828 > 35 bytes data, server => client 14:54:11.307841 '221 curl ESMTP server signing off\r\n' 14:54:11.308899 ====> Client disconnect 14:54:11.309052 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==126842== ==126842== Process terminating with default action of signal 4 (SIGILL) ==126842== Illegal opcode at address 0x4014B6F ==126842== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126842== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126842== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126842== by 0x4004266: main (tool_main.c:199) === End of file valgrind967 setenv LC_ALL = C.UTF-8 test 0968...[SMTP VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind968 ../src/curl -q --output log/13/curl968.out --include --trace-ascii log/13/trace968 --trace-time smtp://127.0.0.1:39289/968 --mail-rcpt Användaren > log/13/stdout968 2> log/13/stderr968 968: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 968 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind968 ../src/curl -q --output log/13/curl968.out --include --trace-ascii log/13/trace968 --trace-time smtp://127.0.0.1:39289/968 --mail-rcpt Användaren > log/13/stdout968 2> log/13/stderr968 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 968 === End of file server.cmd === Start of file smtp_server.log 14:54:11.249297 ====> Client connect 14:54:11.249456 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.251163 < "EHLO verifiedserver" 14:54:11.251223 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.251474 < "HELP" 14:54:11.251518 > "214 WE ROOLZ: 123000[CR][LF]" 14:54:11.251534 return proof we are we 14:54:11.252040 < "QUIT" 14:54:11.252083 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.253178 MAIN sockfilt said DISC 14:54:11.253211 ====> Client disconnected 14:54:11.253287 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.331999 ====> Client connect 14:54:11.332283 Received DATA (on stdin) 14:54:11.332300 > 160 bytes data, server => client 14:54:11.332316 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.332329 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.332341 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.333747 < 21 bytes data, client => server 14:54:11.333780 'EHLO verifiedserver\r\n' 14:54:11.334048 Received DATA (on stdin) 14:54:11.334065 > 53 bytes data, server => client 14:54:11.334078 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.334155 < 6 bytes data, client => server 14:54:11.334168 'HELP\r\n' 14:54:11.334347 Received DATA (on stdin) 14:54:11.334360 > 22 bytes data, server => client 14:54:11.334373 '214 WE ROOLZ: 123000\r\n' 14:54:11.334518 < 6 bytes data, client => server 14:54:11.334534 'QUIT\r\n' 14:54:11.334901 Received DATA (on stdin) 14:54:11.334916 > 35 bytes data, server => client 14:54:11.334928 '221 curl ESMTP server signing off\r\n' 14:54:11.335935 ====> Client disconnect 14:54:11.336102 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==126951== ==126951== Process terminating with default action of signal 4 (SIGILL) ==126951== Illegal opcode at address 0x4014B6F ==126951== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126951== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126951== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126951== by 0x4004266: main (tool_main.c:199) === End of file valgrind968 setenv LC_ALL = C.UTF-8 test 0964...[SMTP external VRFY without SMTPUTF8 (IDN) - UTF-8 recipient (host part)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:36991/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 964: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:36991/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 14:54:11.188573 ====> Client connect 14:54:11.188718 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.188981 < "EHLO verifiedserver" 14:54:11.189021 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.189181 < "HELP" 14:54:11.189209 > "214 WE ROOLZ: 122939[CR][LF]" 14:54:11.189222 return proof we are we 14:54:11.189403 < "QUIT" 14:54:11.189428 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.190131 MAIN sockfilt said DISC 14:54:11.190157 ====> Client disconnected 14:54:11.190219 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.271295 ====> Client connect 14:54:11.271543 Received DATA (on stdin) 14:54:11.271559 > 160 bytes data, server => client 14:54:11.271572 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.271583 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.271593 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.271657 < 21 bytes data, client => server 14:54:11.271669 'EHLO verifiedserver\r\n' 14:54:11.271837 Received DATA (on stdin) 14:54:11.271850 > 53 bytes data, server => client 14:54:11.271861 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.271911 < 6 bytes data,CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind966 ../src/curl -q --output log/10/curl966.out --include --trace-ascii log/10/trace966 --trace-time smtp://127.0.0.1:36285/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/10/stdout966 2> log/10/stderr966 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind969 ../src/curl -q --output log/7/curl969.out --include --trace-ascii log/7/trace969 --trace-time smtp://127.0.0.1:41719/969 --mail-rcpt Friends -X EXPN > log/7/stdout969 2> log/7/stderr969 client => server 14:54:11.271923 'HELP\r\n' 14:54:11.272033 Received DATA (on stdin) 14:54:11.272044 > 22 bytes data, server => client 14:54:11.272055 '214 WE ROOLZ: 122939\r\n' 14:54:11.272134 < 6 bytes data, client => server 14:54:11.272146 'QUIT\r\n' 14:54:11.272240 Received DATA (on stdin) 14:54:11.272252 > 35 bytes data, server => client 14:54:11.272263 '221 curl ESMTP server signing off\r\n' 14:54:11.272896 ====> Client disconnect 14:54:11.273034 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==126697== ==126697== Process terminating with default action of signal 4 (SIGILL) ==126697== Illegal opcode at address 0x4014B6F ==126697== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126697== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126697== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126697== by 0x4004266: main (tool_main.c:199) === End of file valgrind964 setenv LC_ALL = C.UTF-8 test 0966...[SMTP with SMTPUTF8 support - UTF-8 based recipient] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind966 ../src/curl -q --output log/10/curl966.out --include --trace-ascii log/10/trace966 --trace-time smtp://127.0.0.1:36285/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/10/stdout966 2> log/10/stderr966 966: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 966 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind966 ../src/curl -q --output log/10/curl966.out --include --trace-ascii log/10/trace966 --trace-time smtp://127.0.0.1:36285/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/10/stdout966 2> log/10/stderr966 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 966 === End of file server.cmd === Start of file smtp_server.log 14:54:11.197052 ====> Client connect 14:54:11.197207 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.197514 < "EHLO verifiedserver" 14:54:11.197557 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.197737 < "HELP" 14:54:11.197769 > "214 WE ROOLZ: 109299[CR][LF]" 14:54:11.197784 return proof we are we 14:54:11.198023 < "QUIT" 14:54:11.198073 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.199015 MAIN sockfilt said DISC 14:54:11.199049 ====> Client disconnected 14:54:11.199117 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.279740 ====> Client connect 14:54:11.280036 Received DATA (on stdin) 14:54:11.280056 > 160 bytes data, server => client 14:54:11.280069 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.280081 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.280093 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.280178 < 21 bytes data, client => server 14:54:11.280192 'EHLO verifiedserver\r\n' 14:54:11.280373 Received DATA (on stdin) 14:54:11.280387 > 53 bytes data, server => client 14:54:11.280400 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.280457 < 6 bytes data, client => server 14:54:11.280469 'HELP\r\n' 14:54:11.280596 Received DATA (on stdin) 14:54:11.280609 > 22 bytes data, server => client 14:54:11.280621 '214 WE ROOLZ: 109299\r\n' 14:54:11.280720 < 6 bytes data, client => server 14:54:11.280735 'QUIT\r\n' 14:54:11.280897 Received DATA (on stdin) 14:54:11.280917 > 35 bytes data, server => client 14:54:11.280931 '221 curl ESMTP server signing off\r\n' 14:54:11.281773 ====> Client disconnect 14:54:11.281931 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-966 From: different To: another body === End of file stdin-for-966 === Start of file valgrind966 ==126724== ==126724== Process terminating with default action of signal 4 (SIGILL) ==126724== Illegal opcode at address 0x4014B6F ==126724== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126724== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126724== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126724== by 0x4004266: main (tool_main.c:199) === End of file valgrind966 test 0969...[SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind969 ../src/curl -q --output log/7/curl969.out --include --trace-ascii log/7/trace969 --trace-time smtp://127.0.0.1:41719/969 --mail-rcpt Friends -X EXPN > log/7/stdout969 2> log/7/stderr969 969: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 969 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind969 ../src/curl -q --output log/7/curl969.out --include --trace-ascii log/7/trace969 --trace-time smtp://127.0.0.1:41719/969 --mail-rcpt Friends -X EXPN > log/7/stdout969 2> log/7/stderr969 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 969 === End of file server.cmd === Start of file smtp_server.log 14:54:11.255876 ====> Client connect 14:54:11.256042 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.256340 < "EHLO verifiedserver" 14:54:11.256384 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.256557 < "HELP" 14:54:11.256589 > "214 WE ROOLZ: 123708[CR][LF]" 14:54:11.256604 return proof we are we 14:54:11.256834 < "QUIT" 14:54:11.256876 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.257313 MAIN sockfilt said DISC 14:54:11.257371 ====> Client disconnected 14:54:11.257454 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.338581 ====> Client connect 14:54:11.338868 Received DATA (on stdin) 14:54:11.338884 > 160 bytes data, server => client 14:54:11.338897 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.338914 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.338925 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.338997 < 21 bytes data, client => server 14:54:11.339011 'EHLO verifiedserver\r\n' 14:54:11.339200 Received DATA (on stdin) 14:54:11.339213 > 53 bytes data, server => client 14:54:11.339226 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.339281 < 6 bytes data, client => server 14:54:11.339294 'HELP\r\n' 14:54:11.339416 Received DATA (on stdin) 14:54:11.339429 > 22 bytes data, server => client 14:54:11.339440 '214 WE ROOLZ: 123708\r\n' 14:54:11.339554 < 6 bytes data, client => server 14:54:11.339570 'QUIT\r\n' 14:54:11.339690 Received DATA (on stdin) 14:54:11.339705 > 35 bytes data, server => client 14:54:11.339717 '221 curl ESMTP server signing off\r\n' 14:54:11.340041 ====> Client disconnect 14:54:11.340270 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==126950== ==126950== Process terminating with default action of signal 4 (SIGILL) ==126950== Illegal opcode at address 0x4014B6F ==126950== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==126950== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:43359 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind973 ../src/curl -q --output log/3/curl973.out --include --trace-ascii log/3/trace973 --trace-time http://127.0.0.1:46791/973 -L -u joe:secret > log/3/stdout973 2> log/3/stderr973 by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==126950== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==126950== by 0x4004266: main (tool_main.c:199) === End of file valgrind969 test 0974...[HTTP with auth redirected to HTTP on a diff port w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:43359 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 974: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 974 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:43359 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 === End of file commands.log === Start of file http_server.log 14:54:11.596741 ====> Client connect 14:54:11.596774 accept_connection 3 returned 4 14:54:11.596790 accept_connection 3 returned 0 14:54:11.596806 Read 93 bytes 14:54:11.596816 Process 93 bytes request 14:54:11.596831 Got request: GET /verifiedserver HTTP/1.1 14:54:11.596842 Are-we-friendly question received 14:54:11.596867 Wrote request (93 bytes) input to log/12/server.input 14:54:11.596884 Identifying ourselves as friends 14:54:11.596936 Response sent (56 bytes) and written to log/12/server.response 14:54:11.596947 special request received, no persistency 14:54:11.596957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 35328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 974 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind974 ==127172== ==127172== Process terminating with default action of signal 4 (SIGILL) ==127172== Illegal opcode at address 0x4014B6F ==127172== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127172== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127172== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127172== by 0x4004266: main (tool_main.c:199) === End of file valgrind974 test 0973...[HTTP with auth redirected to FTP w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind973 ../src/curl -q --output log/3/curl973.out --include --trace-ascii log/3/trace973 --trace-time http://127.0.0.1:46791/973 -L -u joe:secret > log/3/stdout973 2> log/3/stderr973 973: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 973 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind973 ../src/curl -q --output log/3/curl973.out --include --trace-ascii log/3/trace973 --trace-time http://127.0.0.1:46791/973 -L -u joe:secret > log/3/stdout973 2> log/3/stderr973 === End of file commands.log === Start of file ftp_server.log 14:54:11.523662 ====> Client connect 14:54:11.523816 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.524195 < "USER anonymous" 14:54:11.524254 > "331 We are happy you popped in![CR][LF]" 14:54:11.524445 < "PASS ftp@example.com" 14:54:11.524474 > "230 Welcome you silly person[CR][LF]" 14:54:11.524658 < "PWD" 14:54:11.524697 > "257 "/" is current directory[CR][LF]" 14:54:11.524886 < "EPSV" 14:54:11.524912 ====> Passive DATA channel requested by client 14:54:11.524927 DATA sockfilt for passive data channel starting... 14:54:11.526869 DATA sockfilt for passive data channel started (pid 127168) 14:54:11.527017 DATA sockfilt for passive data channel listens on port 38975 14:54:11.527068 > "229 Entering Passive Mode (|||38975|)[LF]" 14:54:11.527091 Client has been notified that DATA conn will be accepted on port 38975 14:54:11.527368 Client connects to port 38975 14:54:11.527402 ====> Client established passive DATA connection on port 38975 14:54:11.527495 < "TYPE I" 14:54:11.527528 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:11.527708 < "SIZE verifiedserver" 14:54:11.527749 > "213 17[CR][LF]" 14:54:11.527922 < "RETR verifiedserver" 14:54:11.527959 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:11.528047 =====> Closing passive DATA connection... 14:54:11.528066 Server disconnects passive DATA connection 14:54:11.528324 Server disconnected passive DATA connection 14:54:11.528354 DATA sockfilt for passive data channel quits (pid 127168) 14:54:11.528564 DATA sockfilt for passive data channel quit (pid 127168) 14:54:11.528594 =====> Closed passive DATA connection 14:54:11.528625 > "226 File transfer complete[CR][LF]" 14:54:11.574093 < "QUIT" 14:54:11.574143 > "221 bye bye baby[CR][LF]" 14:54:11.574663 MAIN sockfilt said DISC 14:54:11.574718 ====> Client disconnected 14:54:11.574793 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:11.606353 ====> Client connect 14:54:11.606644 Received DATA (on stdin) 14:54:11.606682 > 160 bytes data, server => client 14:54:11.606698 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.606711 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.606724 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.606845 < 16 bytes data, client => server 14:54:11.606863 'USER anonymous\r\n' 14:54:11.607076 Received DATA (on stdin) 14:54:11.607091 > 33 bytes data, server => client 14:54:11.607104 '331 We are happy you popped in!\r\n' 14:54:11.607161 < 22 bytes data, client => server 14:54:11.607177 'PASS ftp@example.com\r\n' 14:54:11.607291 Received DATA (on stdin) 14:54:11.607306 > 30 bytes data, server => client 14:54:11.607319 '230 Welcome you silly person\r\n' 14:54:11.607375 < 5 bytes data, client => server 14:54:11.607390 'PWD\r\n' 14:54:11.607515 Received DATA (on stdin) 14:54:11.607530 > 30 bytes data, server => client 14:54:11.607542 '257 "/" is current directory\r\n' 14:54:11.607606 < 6 bytes data, client => server 14:54:11.607620 'EPSV\r\n' 14:54:11.609915 Received DATA (on stdin) 14:54:11.609935 > 38 bytes data, server => client 14:54:11.609948 '229 Entering Passive Mode (|||38975|)\n' 14:54:11.610125 < 8 bytes data, client => server 14:54:11.610139 'TYPE I\r\n' 14:54:11.610346 Received DATA (on stdin) 14:54:11.610360 > 33 bytes data, server => client 14:54:11.610373 '200 I modify TYPE as you wanted\r\n' 14:54:11.610427 < 21 bytes data, client => server 14:54:11.610441 'SIZE verifiedserver\r\n' 14:54:11.610565 Received DATA (on stdin) 14:54:11.610579 > 8 bytes data, server => client 14:54:11.610591 '213 17\r\n' 14:54:11.610644 < 21 bytes data, client => server 14:54:11.610657 'RETR verifiedserver\r\n' 14:54:11.610980 Received DATA (on stdin) 14:54:11.610994 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind978 ../src/curl -q --output log/8/curl978.out --include --trace-ascii log/8/trace978 --trace-time http://127.0.0.1:37085/978 --stderr log/8/redir --silent -w '%{stderr}nonsense\n' > log/8/stdout978 2> log/8/stderr978 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind975 ../src/curl -q --output log/1/curl975.out --include --trace-ascii log/1/trace975 --trace-time http://127.0.0.1:44029/975 --location-trusted -u joe:secret > log/1/stdout975 2> log/1/stderr975 > 29 bytes data, server => client 14:54:11.611007 '150 Binary junk (17 bytes).\r\n' 14:54:11.611442 Received DATA (on stdin) 14:54:11.611457 > 28 bytes data, server => client 14:54:11.611470 '226 File transfer complete\r\n' 14:54:11.656517 < 6 bytes data, client => server 14:54:11.656583 'QUIT\r\n' 14:54:11.656943 Received DATA (on stdin) 14:54:11.656977 > 18 bytes data, server => client 14:54:11.656991 '221 bye bye baby\r\n' 14:54:11.657408 ====> Client disconnect 14:54:11.657612 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:11.609479 Running IPv4 version 14:54:11.609543 Listening on port 38975 14:54:11.609581 Wrote pid 127168 to log/3/server/ftp_sockdata.pid 14:54:11.609604 Received PING (on stdin) 14:54:11.609727 Received PORT (on stdin) 14:54:11.610092 ====> Client connect 14:54:11.610883 Received DATA (on stdin) 14:54:11.610898 > 17 bytes data, server => client 14:54:11.610910 'WE ROOLZ: 80281\r\n' 14:54:11.610939 Received DISC (on stdin) 14:54:11.610953 ====> Client forcibly disconnected 14:54:11.611179 Received QUIT (on stdin) 14:54:11.611193 quits 14:54:11.611243 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:11.579738 ====> Client connect 14:54:11.579779 accept_connection 3 returned 4 14:54:11.579799 accept_connection 3 returned 0 14:54:11.579816 Read 93 bytes 14:54:11.579828 Process 93 bytes request 14:54:11.579844 Got request: GET /verifiedserver HTTP/1.1 14:54:11.579855 Are-we-friendly question received 14:54:11.579884 Wrote request (93 bytes) input to log/3/server.input 14:54:11.579904 Identifying ourselves as friends 14:54:11.579984 Response sent (56 bytes) and written to log/3/server.response 14:54:11.579996 special request received, no persistency 14:54:11.580007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 34468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 973 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind973 ==127244== ==127244== Process terminating with default action of signal 4 (SIGILL) ==127244== Illegal opcode at address 0x4014B6F ==127244== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127244== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127244== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127244== by 0x4004266: main (tool_main.c:199) === End of file valgrind973 test 0978...[verify that --stderr works for -w's stderr as well] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind978 ../src/curl -q --output log/8/curl978.out --include --trace-ascii log/8/trace978 --trace-time http://127.0.0.1:37085/978 --stderr log/8/redir --silent -w '%{stderr}nonsense\n' > log/8/stdout978 2> log/8/stderr978 978: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 978 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind978 ../src/curl -q --output log/8/curl978.out --include --trace-ascii log/8/trace978 --trace-time http://127.0.0.1:37085/978 --stderr log/8/redir --silent -w '%{stderr}nonsense\n' > log/8/stdout978 2> log/8/stderr978 === End of file commands.log === Start of file http_server.log 14:54:10.686153 ====> Client connect 14:54:10.686181 accept_connection 3 returned 4 14:54:10.686198 accept_connection 3 returned 0 14:54:10.686212 Read 93 bytes 14:54:10.686223 Process 93 bytes request 14:54:10.686235 Got request: GET /verifiedserver HTTP/1.1 14:54:10.686245 Are-we-friendly question received 14:54:10.686273 Wrote request (93 bytes) input to log/8/server.input 14:54:10.686286 Identifying ourselves as friends 14:54:10.686571 Response sent (56 bytes) and written to log/8/server.response 14:54:10.686582 special request received, no persistency 14:54:10.686591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 59152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Request completely sent off { [16 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 978 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind978 ==127312== ==127312== Process terminating with default action of signal 4 (SIGILL) ==127312== Illegal opcode at address 0x4014B6F ==127312== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127312== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127312== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127312== by 0x4004266: main (tool_main.c:199) === End of file valgrind978 test 0975...[HTTP with auth redirected to FTP allowing auth to continue] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind975 ../src/curl -q --output log/1/curl975.out --include --trace-ascii log/1/trace975 --trace-time http://127.0.0.1:44029/975 --location-trusted -u joe:secret > log/1/stdout975 2> log/1/stderr975 975: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 975 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind975 ../src/curl -q --output log/1/curl975.out --include --trace-ascii log/1/trace975 --trace-time http://127.0.0.1:44029/975 --location-trusted -u joe:secret > log/1/stdout975 2> log/1/stderr975 === End of file commands.log === Start of file ftp_server.log 14:54:11.551330 ====> Client connect 14:54:11.551502 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.551799 < "USER anonymous" 14:54:11.551838 > "331 We are happy you popped in![CR][LF]" 14:54:11.552027 < "PASS ftp@example.com" 14:54:11.552058 > "230 Welcome you silly person[CR][LF]" 14:54:11.552238 < "PWD" 14:54:11.552272 > "257 "/" is current directory[CR][LF]" 14:54:11.552461 < "EPSV" 14:54:11.552490 ====> Passive DATA channel requested by client 14:54:11.552506 DATA sockfilt for passive data channel starting... 14:54:11.554585 DATA sockfilt for passive data channel started (pid 127210) 14:54:11.554714 DATA sockfilt for passive data channel listens on port 39795 14:54:11.554767 > "229 Entering Passive Mode (|||39795|)[LF]" 14:54:11.554790 Client has been notified that DATA conn will be accepted on port 39795 14:54:11.5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind979 ../src/curl -q --output log/9/curl979.out --include --trace-ascii log/9/trace979 --trace-time http://first:secret@127.0.0.1:34345/979 -L -u smith:doggie > log/9/stdout979 2> log/9/stderr979 55038 Client connects to port 39795 14:54:11.555072 ====> Client established passive DATA connection on port 39795 14:54:11.555149 < "TYPE I" 14:54:11.555182 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:11.555380 < "SIZE verifiedserver" 14:54:11.555421 > "213 17[CR][LF]" 14:54:11.555605 < "RETR verifiedserver" 14:54:11.555643 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:11.555730 =====> Closing passive DATA connection... 14:54:11.555749 Server disconnects passive DATA connection 14:54:11.558058 Server disconnected passive DATA connection 14:54:11.558089 DATA sockfilt for passive data channel quits (pid 127210) 14:54:11.559260 DATA sockfilt for passive data channel quit (pid 127210) 14:54:11.559288 =====> Closed passive DATA connection 14:54:11.559316 > "226 File transfer complete[CR][LF]" 14:54:11.597205 < "QUIT" 14:54:11.597259 > "221 bye bye baby[CR][LF]" 14:54:11.597572 MAIN sockfilt said DISC 14:54:11.597601 ====> Client disconnected 14:54:11.597673 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:10.634016 ====> Client connect 14:54:10.634333 Received DATA (on stdin) 14:54:10.634351 > 160 bytes data, server => client 14:54:10.634365 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:10.634378 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:10.634390 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:10.634470 < 16 bytes data, client => server 14:54:10.634488 'USER anonymous\r\n' 14:54:10.634657 Received DATA (on stdin) 14:54:10.634672 > 33 bytes data, server => client 14:54:10.634685 '331 We are happy you popped in!\r\n' 14:54:10.634742 < 22 bytes data, client => server 14:54:10.634758 'PASS ftp@example.com\r\n' 14:54:10.634875 Received DATA (on stdin) 14:54:10.634890 > 30 bytes data, server => client 14:54:10.634903 '230 Welcome you silly person\r\n' 14:54:10.634957 < 5 bytes data, client => server 14:54:10.634972 'PWD\r\n' 14:54:10.635088 Received DATA (on stdin) 14:54:10.635102 > 30 bytes data, server => client 14:54:10.635115 '257 "/" is current directory\r\n' 14:54:10.635179 < 6 bytes data, client => server 14:54:10.635195 'EPSV\r\n' 14:54:10.637647 Received DATA (on stdin) 14:54:10.637670 > 38 bytes data, server => client 14:54:10.637685 '229 Entering Passive Mode (|||39795|)\n' 14:54:10.637831 < 8 bytes data, client => server 14:54:10.637844 'TYPE I\r\n' 14:54:10.637999 Received DATA (on stdin) 14:54:10.638015 > 33 bytes data, server => client 14:54:10.638028 '200 I modify TYPE as you wanted\r\n' 14:54:10.638093 < 21 bytes data, client => server 14:54:10.638109 'SIZE verifiedserver\r\n' 14:54:10.638239 Received DATA (on stdin) 14:54:10.638254 > 8 bytes data, server => client 14:54:10.638267 '213 17\r\n' 14:54:10.638322 < 21 bytes data, client => server 14:54:10.638338 'RETR verifiedserver\r\n' 14:54:10.638567 Received DATA (on stdin) 14:54:10.638582 > 29 bytes data, server => client 14:54:10.638595 '150 Binary junk (17 bytes).\r\n' 14:54:10.642116 Received DATA (on stdin) 14:54:10.642138 > 28 bytes data, server => client 14:54:10.642152 '226 File transfer complete\r\n' 14:54:10.679815 < 6 bytes data, client => server 14:54:10.679841 'QUIT\r\n' 14:54:10.680082 Received DATA (on stdin) 14:54:10.680097 > 18 bytes data, server => client 14:54:10.680109 '221 bye bye baby\r\n' 14:54:10.680334 ====> Client disconnect 14:54:10.680436 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:11.637209 Running IPv4 version 14:54:11.637271 Listening on port 39795 14:54:11.637314 Wrote pid 127210 to log/1/server/ftp_sockdata.pid 14:54:11.637339 Received PING (on stdin) 14:54:11.637432 Received PORT (on stdin) 14:54:11.637802 ====> Client connect 14:54:11.640678 Received DATA (on stdin) 14:54:11.640699 > 17 bytes data, server => client 14:54:11.640712 'WE ROOLZ: 80194\r\n' 14:54:11.640744 Received DISC (on stdin) 14:54:11.640759 ====> Client forcibly disconnected 14:54:11.640911 Received QUIT (on stdin) 14:54:11.640924 quits 14:54:11.640989 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:11.612199 ====> Client connect 14:54:11.612231 accept_connection 3 returned 4 14:54:11.612249 accept_connection 3 returned 0 14:54:11.612264 Read 93 bytes 14:54:11.612275 Process 93 bytes request 14:54:11.612289 Got request: GET /verifiedserver HTTP/1.1 14:54:11.612300 Are-we-friendly question received 14:54:11.612324 Wrote request (93 bytes) input to log/1/server.input 14:54:11.612343 Identifying ourselves as friends 14:54:11.612395 Response sent (56 bytes) and written to log/1/server.response 14:54:11.612406 special request received, no persistency 14:54:11.612417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 59442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 975 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind975 ==127310== ==127310== Process terminating with default action of signal 4 (SIGILL) ==127310== Illegal opcode at address 0x4014B6F ==127310== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127310== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127310== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127310== by 0x4004266: main (tool_main.c:199) === End of file valgrind975 test 0979...[-u with redirect to absolute URL using same origin and auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind979 ../src/curl -q --output log/9/curl979.out --include --trace-ascii log/9/trace979 --trace-time http://first:secret@127.0.0.1:34345/979 -L -u smith:doggie > log/9/stdout979 2> log/9/stderr979 979: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 979 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind979 ../src/curl -q --output log/9/curl979.out --include --trace-ascii log/9/trace979 --trace-time http://first:secret@127.0.0.1:34345/979 -L -u smith:doggie > log/9/stdout979 2> log/9/stderr979 === End of file commands.log === Start of file http_server.log 14:54:11.729112 ====> Client connect 14:54:11.729145 accept_connection 3 returned 4 14:54:11.729160 accept_connection 3 returned 0 14:54:11.729173 Read 93 bytes 14:54:11.729182 Process 93 bytes request 14:54:11.729196 Got request: GET /verifiedserver HTTP/1.1 14:54:11.729204 Are-we-friendly question received 14:54:11.729254 Wrote request (93 bytes) input to log/9/server.input 14:54:11.729270 Identifying ourselves as friends 14:54:11.729318 Response sent (56 bytes) and written to log/9/server.response 14:54:11.729327 special request received, no persistency 14:54:11.729336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 60508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind976 ../src/curl -q --output log/16/curl976.out --include --trace-ascii log/16/trace976 --trace-time -x http://127.0.0.1:34475 http://firsthost.com --location-trusted -u joe:secret > log/16/stdout976 2> log/16/stderr976 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind977 ../src/curl -q --output log/20/curl977.out --include --trace-ascii log/20/trace977 --trace-time -x http://127.0.0.1:39569 http://firsthost.me. -c log/20/cookies977 > log/20/stdout977 2> log/20/stderr977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind980 ../src/curl -q --output log/11/curl980.out --include --trace-ascii log/11/trace980 --trace-time smtp://127.0.0.1:43549/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/11/stdout980 2> log/11/stderr980 #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 979 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind979 ==127515== ==127515== Process terminating with default action of signal 4 (SIGILL) ==127515== Illegal opcode at address 0x4014B6F ==127515== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127515== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127515== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127515== by 0x4004266: main (tool_main.c:199) === End of file valgrind979 test 0976...[HTTP with auth redirected to HTTP on a diff port --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind976 ../src/curl -q --output log/16/curl976.out --include --trace-ascii log/16/trace976 --trace-time -x http://127.0.0.1:34475 http://firsthost.com --location-trusted -u joe:secret > log/16/stdout976 2> log/16/stderr976 976: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 976 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind976 ../src/curl -q --output log/16/curl976.out --include --trace-ascii log/16/trace976 --trace-time -x http://127.0.0.1:34475 http://firsthost.com --location-trusted -u joe:secret > log/16/stdout976 2> log/16/stderr976 === End of file commands.log === Start of file http_server.log 14:54:11.685440 ====> Client connect 14:54:11.685474 accept_connection 3 returned 4 14:54:11.685488 accept_connection 3 returned 0 14:54:11.685500 Read 93 bytes 14:54:11.685509 Process 93 bytes request 14:54:11.685521 Got request: GET /verifiedserver HTTP/1.1 14:54:11.685529 Are-we-friendly question received 14:54:11.685549 Wrote request (93 bytes) input to log/16/server.input 14:54:11.685562 Identifying ourselves as friends 14:54:11.685604 Response sent (56 bytes) and written to log/16/server.response 14:54:11.685613 special request received, no persistency 14:54:11.685621 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 48198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 976 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind976 ==127326== ==127326== Process terminating with default action of signal 4 (SIGILL) ==127326== Illegal opcode at address 0x4014B6F ==127326== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127326== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127326== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127326== by 0x4004266: main (tool_main.c:199) === End of file valgrind976 test 0977...[URL with trailing dot and receiving a cookie for the TLD with dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind977 ../src/curl -q --output log/20/curl977.out --include --trace-ascii log/20/trace977 --trace-time -x http://127.0.0.1:39569 http://firsthost.me. -c log/20/cookies977 > log/20/stdout977 2> log/20/stderr977 977: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 977 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind977 ../src/curl -q --output log/20/curl977.out --include --trace-ascii log/20/trace977 --trace-time -x http://127.0.0.1:39569 http://firsthost.me. -c log/20/cookies977 > log/20/stdout977 2> log/20/stderr977 === End of file commands.log === Start of file http_server.log 14:54:11.686831 ====> Client connect 14:54:11.686865 accept_connection 3 returned 4 14:54:11.686882 accept_connection 3 returned 0 14:54:11.686894 Read 93 bytes 14:54:11.686903 Process 93 bytes request 14:54:11.686913 Got request: GET /verifiedserver HTTP/1.1 14:54:11.686921 Are-we-friendly question received 14:54:11.686942 Wrote request (93 bytes) input to log/20/server.input 14:54:11.686956 Identifying ourselves as friends 14:54:11.687001 Response sent (56 bytes) and written to log/20/server.response 14:54:11.687010 special request received, no persistency 14:54:11.687018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 52088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind977 ==127317== ==127317== Process terminating with default action of signal 4 (SIGILL) ==127317== Illegal opcode at address 0x4014B6F ==127317== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127317== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127317== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127317== by 0x4004266: main (tool_main.c:199) === End of file valgrind977 test 0980...[SMTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind980 ../src/curl -q --output log/11/curl980.out --include --trace-ascii log/11/trace980 --trace-time smtp://127.0.0.1:43549/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/11/stdout980 2> log/11/stderr980 980: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 980 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind980 ../src/curl -q --output log/11/curl980.out --include --trace-ascii log/11/trace980 --trace-time smtp://127.0.0.1:43549/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/11/stdout980 2> log/11/stderr980 === End of file commands.log === Start of file server.cmd CAPA STARTTLS AUTH PLAIN REPLY STARTTLS 454 currently unavailable\r\n235 Authenticated\r\n250 2.1.0 Sender ok\r\n250 2.1.5 Recipient ok\r\n354 EntCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind982 ../src/curl -q --output log/21/curl982.out --include --trace-ascii log/21/trace982 --trace-time pop3://127.0.0.1:43035/982 -u user:secret --ssl > log/21/stdout982 2> log/21/stderr982 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind981 ../src/curl -q --output log/18/curl981.out --include --trace-ascii log/18/trace981 --trace-time imap://127.0.0.1:36775/981 -T log/18/upload981 -u user:secret --ssl > log/18/stdout981 2> log/18/stderr981 er mail\r\n250 2.0.0 Accepted REPLY AUTH 535 5.7.8 Authentication credentials invalid Testnum 980 === End of file server.cmd === Start of file smtp_server.log 14:54:11.683428 ====> Client connect 14:54:11.683780 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.684092 < "EHLO verifiedserver" 14:54:11.684139 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:11.684305 < "HELP" 14:54:11.684337 > "214 WE ROOLZ: 123219[CR][LF]" 14:54:11.684350 return proof we are we 14:54:11.684562 < "QUIT" 14:54:11.684588 > "221 curl ESMTP server signing off[CR][LF]" 14:54:11.685059 MAIN sockfilt said DISC 14:54:11.685120 ====> Client disconnected 14:54:11.685292 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:11.766120 ====> Client connect 14:54:11.766609 Received DATA (on stdin) 14:54:11.766627 > 160 bytes data, server => client 14:54:11.766640 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.766652 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.766662 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.766746 < 21 bytes data, client => server 14:54:11.766761 'EHLO verifiedserver\r\n' 14:54:11.766954 Received DATA (on stdin) 14:54:11.766967 > 53 bytes data, server => client 14:54:11.766978 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:11.767032 < 6 bytes data, client => server 14:54:11.767044 'HELP\r\n' 14:54:11.767158 Received DATA (on stdin) 14:54:11.767168 > 22 bytes data, server => client 14:54:11.767178 '214 WE ROOLZ: 123219\r\n' 14:54:11.767288 < 6 bytes data, client => server 14:54:11.767306 'QUIT\r\n' 14:54:11.767398 Received DATA (on stdin) 14:54:11.767409 > 35 bytes data, server => client 14:54:11.767420 '221 curl ESMTP server signing off\r\n' 14:54:11.767807 ====> Client disconnect 14:54:11.767963 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-980 mail body === End of file stdin-for-980 === Start of file valgrind980 ==127638== ==127638== Process terminating with default action of signal 4 (SIGILL) ==127638== Illegal opcode at address 0x4014B6F ==127638== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127638== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127638== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127638== by 0x4004266: main (tool_main.c:199) === End of file valgrind980 test 0982...[POP3 STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind982 ../src/curl -q --output log/21/curl982.out --include --trace-ascii log/21/trace982 --trace-time pop3://127.0.0.1:43035/982 -u user:secret --ssl > log/21/stdout982 2> log/21/stderr982 982: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 982 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind982 ../src/curl -q --output log/21/curl982.out --include --trace-ascii log/21/trace982 --trace-time pop3://127.0.0.1:43035/982 -u user:secret --ssl > log/21/stdout982 2> log/21/stderr982 === End of file commands.log === Start of file pop3_server.log 14:54:11.702067 ====> Client connect 14:54:11.702208 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:11.702520 < "CAPA" 14:54:11.702561 > "-ERR Unrecognized command[CR][LF]" 14:54:11.702757 < "RETR verifiedserver" 14:54:11.702786 return proof we are we 14:54:11.702811 > "+OK Mail transfer starts[CR][LF]" 14:54:11.702831 > "WE ROOLZ: 120247[CR][LF]" 14:54:11.702848 > ".[CR][LF]" 14:54:11.746735 < "QUIT" 14:54:11.746798 > "+OK curl POP3 server signing off[CR][LF]" 14:54:11.747809 MAIN sockfilt said DISC 14:54:11.747836 ====> Client disconnected 14:54:11.747911 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:11.784766 ====> Client connect 14:54:11.785035 Received DATA (on stdin) 14:54:11.785053 > 178 bytes data, server => client 14:54:11.785066 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:11.785079 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:11.785091 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:11.785101 've \r\n' 14:54:11.785181 < 6 bytes data, client => server 14:54:11.785196 'CAPA\r\n' 14:54:11.785380 Received DATA (on stdin) 14:54:11.785394 > 27 bytes data, server => client 14:54:11.785407 '-ERR Unrecognized command\r\n' 14:54:11.785465 < 21 bytes data, client => server 14:54:11.785479 'RETR verifiedserver\r\n' 14:54:11.785663 Received DATA (on stdin) 14:54:11.785678 > 26 bytes data, server => client 14:54:11.785690 '+OK Mail transfer starts\r\n' 14:54:11.785714 Received DATA (on stdin) 14:54:11.785725 > 18 bytes data, server => client 14:54:11.785737 'WE ROOLZ: 120247\r\n' 14:54:11.785751 Received DATA (on stdin) 14:54:11.785762 > 3 bytes data, server => client 14:54:11.785773 '.\r\n' 14:54:11.829341 < 6 bytes data, client => server 14:54:11.829377 'QUIT\r\n' 14:54:11.829615 Received DATA (on stdin) 14:54:11.829628 > 34 bytes data, server => client 14:54:11.829640 '+OK curl POP3 server signing off\r\n' 14:54:11.830572 ====> Client disconnect 14:54:11.830723 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA STLS USER REPLY STLS -ERR currently unavailable\r\n+OK user accepted\r\n+OK authenticated REPLY PASS -ERR Authentication credentials invalid Testnum 982 === End of file server.cmd === Start of file valgrind982 ==127744== ==127744== Process terminating with default action of signal 4 (SIGILL) ==127744== Illegal opcode at address 0x4014B6F ==127744== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127744== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127744== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127744== by 0x4004266: main (tool_main.c:199) === End of file valgrind982 test 0981...[IMAP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind981 ../src/curl -q --output log/18/curl981.out --include --trace-ascii log/18/trace981 --trace-time imap://127.0.0.1:36775/981 -T log/18/upload981 -u user:secret --ssl > log/18/stdout981 2> log/18/stderr981 981: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 981 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind981 ../src/curl -q --output log/18/curl981.out --include --trace-ascii log/18/trace981 --trace-time imap://127.0.0.1:36775/981 -T log/18/upload981 -u user:secret --ssl > log/18/stdout981 2> log/18/stderr981 === End of file commands.log === Start of file imap_server.log 14:54:11.697956 ====> Client connect 14:54:11.698156 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:11.698511 < "A001 CAPABILITY" 14:54:11.698552 > "A001 BAD Command[CR][LF]" 14:54:11.698746 < "A002 LIST "verifiedserver" *" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind983 ../src/curl -q --output log/24/curl983.out --include --trace-ascii log/24/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:42919/983 -T log/24/test983.txt -u user:secret -P 127.0.0.1 > log/24/stdout983 2> log/24/stderr983 14:54:11.698778 LIST_imap got "verifiedserver" * 14:54:11.698805 > "* LIST () "/" "WE ROOLZ: 117284"[CR][LF]" 14:54:11.698826 > "A002 OK LIST Completed[CR][LF]" 14:54:11.698841 return proof we are we 14:54:11.743912 < "A003 LOGOUT" 14:54:11.743967 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:11.743990 > "A003 OK LOGOUT completed[CR][LF]" 14:54:11.744890 MAIN sockfilt said DISC 14:54:11.744922 ====> Client disconnected 14:54:11.745011 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:11.780651 ====> Client connect 14:54:11.780989 Received DATA (on stdin) 14:54:11.781007 > 178 bytes data, server => client 14:54:11.781021 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:11.781034 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:11.781046 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:11.781057 'rve\r\n' 14:54:11.781148 < 17 bytes data, client => server 14:54:11.781164 'A001 CAPABILITY\r\n' 14:54:11.781370 Received DATA (on stdin) 14:54:11.781385 > 18 bytes data, server => client 14:54:11.781397 'A001 BAD Command\r\n' 14:54:11.781459 < 30 bytes data, client => server 14:54:11.781475 'A002 LIST "verifiedserver" *\r\n' 14:54:11.781657 Received DATA (on stdin) 14:54:11.781671 > 34 bytes data, server => client 14:54:11.781684 '* LIST () "/" "WE ROOLZ: 117284"\r\n' 14:54:11.781708 Received DATA (on stdin) 14:54:11.781720 > 24 bytes data, server => client 14:54:11.781732 'A002 OK LIST Completed\r\n' 14:54:11.826523 < 13 bytes data, client => server 14:54:11.826557 'A003 LOGOUT\r\n' 14:54:11.826806 Received DATA (on stdin) 14:54:11.826819 > 36 bytes data, server => client 14:54:11.826832 '* BYE curl IMAP server signing off\r\n' 14:54:11.826855 Received DATA (on stdin) 14:54:11.826867 > 26 bytes data, server => client 14:54:11.826879 'A003 OK LOGOUT completed\r\n' 14:54:11.827652 ====> Client disconnect 14:54:11.827827 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd CAPA STARTTLS REPLY STARTTLS A002 BAD currently unavailable\r\nA003 OK Authenticated\r\nA004 OK Accepted REPLY LOGIN A003 BAD Authentication credentials invalid Testnum 981 === End of file server.cmd === Start of file upload981 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload981 === Start of file valgrind981 ==127743== ==127743== Process terminating with default action of signal 4 (SIGILL) ==127743== Illegal opcode at address 0x4014B6F ==127743== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127743== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127743== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127743== by 0x4004266: main (tool_main.c:199) === End of file valgrind981 test 0983...[FTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind983 ../src/curl -q --output log/24/curl983.out --include --trace-ascii log/24/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:42919/983 -T log/24/test983.txt -u user:secret -P 127.0.0.1 > log/24/stdout983 2> log/24/stderr983 983: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 983 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind983 ../src/curl -q --output log/24/curl983.out --include --trace-ascii log/24/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:42919/983 -T log/24/test983.txt -u user:secret -P 127.0.0.1 > log/24/stdout983 2> log/24/stderr983 === End of file commands.log === Start of file ftp_server.log 14:54:11.703487 ====> Client connect 14:54:11.703660 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.703950 < "USER anonymous" 14:54:11.703991 > "331 We are happy you popped in![CR][LF]" 14:54:11.704180 < "PASS ftp@example.com" 14:54:11.704210 > "230 Welcome you silly person[CR][LF]" 14:54:11.704389 < "PWD" 14:54:11.704426 > "257 "/" is current directory[CR][LF]" 14:54:11.704618 < "EPSV" 14:54:11.704644 ====> Passive DATA channel requested by client 14:54:11.704659 DATA sockfilt for passive data channel starting... 14:54:11.706451 DATA sockfilt for passive data channel started (pid 127675) 14:54:11.706568 DATA sockfilt for passive data channel listens on port 43125 14:54:11.706615 > "229 Entering Passive Mode (|||43125|)[LF]" 14:54:11.706637 Client has been notified that DATA conn will be accepted on port 43125 14:54:11.706848 Client connects to port 43125 14:54:11.706887 ====> Client established passive DATA connection on port 43125 14:54:11.707009 < "TYPE I" 14:54:11.707042 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:11.707222 < "SIZE verifiedserver" 14:54:11.707262 > "213 17[CR][LF]" 14:54:11.707679 < "RETR verifiedserver" 14:54:11.707718 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:11.707812 =====> Closing passive DATA connection... 14:54:11.707832 Server disconnects passive DATA connection 14:54:11.707970 Server disconnected passive DATA connection 14:54:11.707999 DATA sockfilt for passive data channel quits (pid 127675) 14:54:11.708223 DATA sockfilt for passive data channel quit (pid 127675) 14:54:11.708252 =====> Closed passive DATA connection 14:54:11.708282 > "226 File transfer complete[CR][LF]" 14:54:11.755603 < "QUIT" 14:54:11.755656 > "221 bye bye baby[CR][LF]" 14:54:11.756807 MAIN sockfilt said DISC 14:54:11.756853 ====> Client disconnected 14:54:11.756924 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:11.786197 ====> Client connect 14:54:11.786490 Received DATA (on stdin) 14:54:11.786507 > 160 bytes data, server => client 14:54:11.786521 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.786534 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.786546 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.786619 < 16 bytes data, client => server 14:54:11.786636 'USER anonymous\r\n' 14:54:11.786810 Received DATA (on stdin) 14:54:11.786825 > 33 bytes data, server => client 14:54:11.786838 '331 We are happy you popped in!\r\n' 14:54:11.786894 < 22 bytes data, client => server 14:54:11.786908 'PASS ftp@example.com\r\n' 14:54:11.787026 Received DATA (on stdin) 14:54:11.787041 > 30 bytes data, server => client 14:54:11.787053 '230 Welcome you silly person\r\n' 14:54:11.787108 < 5 bytes data, client => server 14:54:11.787123 'PWD\r\n' 14:54:11.787243 Received DATA (on stdin) 14:54:11.787258 > 30 bytes data, server => client 14:54:11.787271 '257 "/" is current directory\r\n' 14:54:11.787336 < 6 bytes data, client => server 14:54:11.787351 'EPSV\r\n' 14:54:11.789458 Received DATA (on stdin) 14:54:11.789474 > 38 bytes data, server => client 14:54:11.789487 '229 Entering Passive Mode (|||43125|)\n' 14:54:11.789716 < 8 bytes data, client => server 14:54:11.789730 'TYPE I\r\n' 14:54:11.789858 Received DATA (on stdin) 14:54:11.789872 > 33 bytes data, server => client 14:54:11.789885 '200 I modify TYPE as you wanted\r\n' 14:54:11.789941 < 21 bytes data, client => server 14:54:11.789955 'SIZE verifiedserver\r\n' 14:54:11.790300 Received DATA (on stdin) 14:54:11.790320 > 8 bytes data, server => client 14:54:11.790333 '213 17\r\n' 14:54:11.790392 < 21 bytes data, client => server 14:54:11.790408 'RETR verifiedserver\r\n' 14:54:11.790615 ReceivCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:45443/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind985 ../src/curl -q --output log/19/curl985.out --include --trace-ascii log/19/trace985 --trace-time pop3://127.0.0.1:40999/985 -u user:secret --ssl-reqd > log/19/stdout985 2> log/19/stderr985 ed DATA (on stdin) 14:54:11.790644 > 29 bytes data, server => client 14:54:11.790658 '150 Binary junk (17 bytes).\r\n' 14:54:11.791101 Received DATA (on stdin) 14:54:11.791119 > 28 bytes data, server => client 14:54:11.791132 '226 File transfer complete\r\n' 14:54:11.838254 < 6 bytes data, client => server 14:54:11.838280 'QUIT\r\n' 14:54:11.838479 Received DATA (on stdin) 14:54:11.838495 > 18 bytes data, server => client 14:54:11.838507 '221 bye bye baby\r\n' 14:54:11.839551 ====> Client disconnect 14:54:11.839741 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:11.788948 Running IPv4 version 14:54:11.789008 Listening on port 43125 14:54:11.789048 Wrote pid 127675 to log/24/server/ftp_sockdata.pid 14:54:11.789203 Received PING (on stdin) 14:54:11.789293 Received PORT (on stdin) 14:54:11.789606 ====> Client connect 14:54:11.790652 Received DATA (on stdin) 14:54:11.790668 > 17 bytes data, server => client 14:54:11.790681 'WE ROOLZ: 80263\r\n' 14:54:11.790714 Received DISC (on stdin) 14:54:11.790729 ====> Client forcibly disconnected 14:54:11.790823 Received QUIT (on stdin) 14:54:11.790837 quits 14:54:11.790901 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY AUTH 500 unknown command\r\n500 unknown command\r\n331 give password\r\n230 Authenticated\r\n257 "/"\r\n200 OK\r\n200 OK\r\n200 OK\r\n226 Transfer complete REPLY PASS 530 Login incorrect Testnum 983 === End of file server.cmd === Start of file test983.txt data to see that FTPS works so does it? === End of file test983.txt === Start of file valgrind983 ==127781== ==127781== Process terminating with default action of signal 4 (SIGILL) ==127781== Illegal opcode at address 0x4014B6F ==127781== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127781== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127781== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127781== by 0x4004266: main (tool_main.c:199) === End of file valgrind983 test 0984...[IMAP require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:45443/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 984: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 984 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:45443/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 === End of file commands.log === Start of file imap_server.log 14:54:11.712329 ====> Client connect 14:54:11.712475 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:11.712794 < "A001 CAPABILITY" 14:54:11.712833 > "A001 BAD Command[CR][LF]" 14:54:11.713040 < "A002 LIST "verifiedserver" *" 14:54:11.713071 LIST_imap got "verifiedserver" * 14:54:11.713098 > "* LIST () "/" "WE ROOLZ: 117283"[CR][LF]" 14:54:11.713118 > "A002 OK LIST Completed[CR][LF]" 14:54:11.713132 return proof we are we 14:54:11.753879 < "A003 LOGOUT" 14:54:11.753934 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:11.753957 > "A003 OK LOGOUT completed[CR][LF]" 14:54:11.754922 MAIN sockfilt said DISC 14:54:11.754958 ====> Client disconnected 14:54:11.755026 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:11.795043 ====> Client connect 14:54:11.795307 Received DATA (on stdin) 14:54:11.795327 > 178 bytes data, server => client 14:54:11.795341 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:11.795354 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:11.795366 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:11.795377 'rve\r\n' 14:54:11.795454 < 17 bytes data, client => server 14:54:11.795473 'A001 CAPABILITY\r\n' 14:54:11.795653 Received DATA (on stdin) 14:54:11.795669 > 18 bytes data, server => client 14:54:11.795682 'A001 BAD Command\r\n' 14:54:11.795748 < 30 bytes data, client => server 14:54:11.795765 'A002 LIST "verifiedserver" *\r\n' 14:54:11.795946 Received DATA (on stdin) 14:54:11.795961 > 34 bytes data, server => client 14:54:11.795973 '* LIST () "/" "WE ROOLZ: 117283"\r\n' 14:54:11.795999 Received DATA (on stdin) 14:54:11.796011 > 24 bytes data, server => client 14:54:11.796023 'A002 OK LIST Completed\r\n' 14:54:11.836521 < 13 bytes data, client => server 14:54:11.836547 'A003 LOGOUT\r\n' 14:54:11.836774 Received DATA (on stdin) 14:54:11.836790 > 36 bytes data, server => client 14:54:11.836802 '* BYE curl IMAP server signing off\r\n' 14:54:11.836827 Received DATA (on stdin) 14:54:11.836839 > 26 bytes data, server => client 14:54:11.836851 'A003 OK LOGOUT completed\r\n' 14:54:11.837679 ====> Client disconnect 14:54:11.837841 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY CAPABILITY A001 BAD Not implemented Testnum 984 === End of file server.cmd === Start of file upload984 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload984 === Start of file valgrind984 ==127766== ==127766== Process terminating with default action of signal 4 (SIGILL) ==127766== Illegal opcode at address 0x4014B6F ==127766== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127766== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127766== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127766== by 0x4004266: main (tool_main.c:199) === End of file valgrind984 test 0985...[POP3 require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind985 ../src/curl -q --output log/19/curl985.out --include --trace-ascii log/19/trace985 --trace-time pop3://127.0.0.1:40999/985 -u user:secret --ssl-reqd > log/19/stdout985 2> log/19/stderr985 985: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 985 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind985 ../src/curl -q --output log/19/curl985.out --include --trace-ascii log/19/trace985 --trace-time pop3://127.0.0.1:40999/985 -u user:secret --ssl-reqd > log/19/stdout985 2> log/19/stderr985 === End of file commands.log === Start of file pop3_server.log 14:54:11.711856 ====> Client connect 14:54:11.711985 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:11.712256 < "CAPA" 14:54:11.712291 > "-ERR Unrecognized command[CR][LF]" 14:54:11.712453 < "RETR verifiedserver" 14:54:11.712477 return proof we are we 14:54:11.712498 > "+OK Mail transfer starts[CR][LF]" 14:54:11.712517 > "WCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind990 ../src/curl -q --output log/17/curl990.out --include --trace-ascii log/17/trace990 --trace-time http://127.0.0.1:45171/990 -w '%output{log/17/output}%{http_code}\n' > log/17/stdout990 2> log/17/stderr990 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind991 ../src/curl -q --output log/22/curl991.out --include --trace-ascii log/22/trace991 --trace-time http://127.0.0.1:42027/991 -w '%output{>>log/22/output}%{http_code}' > log/22/stdout991 2> log/22/stderr991 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37705/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 E ROOLZ: 120296[CR][LF]" 14:54:11.712535 > ".[CR][LF]" 14:54:11.758753 < "QUIT" 14:54:11.758806 > "+OK curl POP3 server signing off[CR][LF]" 14:54:11.759779 MAIN sockfilt said DISC 14:54:11.759809 ====> Client disconnected 14:54:11.759875 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:11.794573 ====> Client connect 14:54:11.794811 Received DATA (on stdin) 14:54:11.794827 > 178 bytes data, server => client 14:54:11.794840 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:11.794853 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:11.794864 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:11.794874 've \r\n' 14:54:11.794942 < 6 bytes data, client => server 14:54:11.794955 'CAPA\r\n' 14:54:11.795104 Received DATA (on stdin) 14:54:11.795117 > 27 bytes data, server => client 14:54:11.795129 '-ERR Unrecognized command\r\n' 14:54:11.795182 < 21 bytes data, client => server 14:54:11.795194 'RETR verifiedserver\r\n' 14:54:11.795347 Received DATA (on stdin) 14:54:11.795359 > 26 bytes data, server => client 14:54:11.795371 '+OK Mail transfer starts\r\n' 14:54:11.795392 Received DATA (on stdin) 14:54:11.795403 > 18 bytes data, server => client 14:54:11.795414 'WE ROOLZ: 120296\r\n' 14:54:11.795429 Received DATA (on stdin) 14:54:11.795440 > 3 bytes data, server => client 14:54:11.795451 '.\r\n' 14:54:11.841398 < 6 bytes data, client => server 14:54:11.841425 'QUIT\r\n' 14:54:11.841622 Received DATA (on stdin) 14:54:11.841636 > 34 bytes data, server => client 14:54:11.841648 '+OK curl POP3 server signing off\r\n' 14:54:11.842538 ====> Client disconnect 14:54:11.842693 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY CAPA -ERR Not implemented Testnum 985 === End of file server.cmd === Start of file valgrind985 ==127783== ==127783== Process terminating with default action of signal 4 (SIGILL) ==127783== Illegal opcode at address 0x4014B6F ==127783== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==127783== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==127783== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==127783== by 0x4004266: main (tool_main.c:199) === End of file valgrind985 test 0990...[use -w %output{}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind990 ../src/curl -q --output log/17/curl990.out --include --trace-ascii log/17/trace990 --trace-time http://127.0.0.1:45171/990 -w '%output{log/17/output}%{http_code}\n' > log/17/stdout990 2> log/17/stderr990 990: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 990 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind990 ../src/curl -q --output log/17/curl990.out --include --trace-ascii log/17/trace990 --trace-time http://127.0.0.1:45171/990 -w '%output{log/17/output}%{http_code}\n' > log/17/stdout990 2> log/17/stderr990 === End of file commands.log === Start of file http_server.log 14:54:11.973037 ====> Client connect 14:54:11.973069 accept_connection 3 returned 4 14:54:11.973086 accept_connection 3 returned 0 14:54:11.973181 Read 93 bytes 14:54:11.973194 Process 93 bytes request 14:54:11.973208 Got request: GET /verifiedserver HTTP/1.1 14:54:11.973219 Are-we-friendly question received 14:54:11.973249 Wrote request (93 bytes) input to log/17/server.input 14:54:11.973266 Identifying ourselves as friends 14:54:11.973319 Response sent (56 bytes) and written to log/17/server.response 14:54:11.973330 special request received, no persistency 14:54:11.973341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 48920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 990 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind990 ==128041== ==128041== Process terminating with default action of signal 4 (SIGILL) ==128041== Illegal opcode at address 0x4014B6F ==128041== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128041== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128041== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128041== by 0x4004266: main (tool_main.c:199) === End of file valgrind990 test 0991...[use -w %output{} append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind991 ../src/curl -q --output log/22/curl991.out --include --trace-ascii log/22/trace991 --trace-time http://127.0.0.1:42027/991 -w '%output{>>log/22/output}%{http_code}' > log/22/stdout991 2> log/22/stderr991 991: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 991 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind991 ../src/curl -q --output log/22/curl991.out --include --trace-ascii log/22/trace991 --trace-time http://127.0.0.1:42027/991 -w '%output{>>log/22/output}%{http_code}' > log/22/stdout991 2> log/22/stderr991 === End of file commands.log === Start of file http_server.log 14:54:12.086979 ====> Client connect 14:54:12.087018 accept_connection 3 returned 4 14:54:12.087036 accept_connection 3 returned 0 14:54:12.087053 Read 93 bytes 14:54:12.087065 Process 93 bytes request 14:54:12.087080 Got request: GET /verifiedserver HTTP/1.1 14:54:12.087091 Are-we-friendly question received 14:54:12.087117 Wrote request (93 bytes) input to log/22/server.input 14:54:12.087135 Identifying ourselves as friends 14:54:12.087190 Response sent (56 bytes) and written to log/22/server.response 14:54:12.087201 special request received, no persistency 14:54:12.087212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 54678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file output line one === End of file output === Start of file server.cmd Testnum 991 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind991 ==128118== ==128118== Process terminating with default action of signal 4 (SIGILL) ==128118== Illegal opcode at address 0x4014B6F ==128118== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128118== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128118== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128118== by 0x40042CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind992 ../src/curl -q --output log/6/curl992.out --include --trace-ascii log/6/trace992 --trace-time smtp://127.0.0.1:33615/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/6/stdout992 2> log/6/stderr992 66: main (tool_main.c:199) === End of file valgrind991 test 0986...[FTP require STARTTLS while preauthenticated] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37705/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 986: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 986 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37705/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 === End of file commands.log === Start of file ftp_server.log 14:54:11.883404 ====> Client connect 14:54:11.883626 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:11.883967 < "USER anonymous" 14:54:11.884001 > "331 We are happy you popped in![CR][LF]" 14:54:11.884182 < "PASS ftp@example.com" 14:54:11.884210 > "230 Welcome you silly person[CR][LF]" 14:54:11.884369 < "PWD" 14:54:11.884401 > "257 "/" is current directory[CR][LF]" 14:54:11.884571 < "EPSV" 14:54:11.884599 ====> Passive DATA channel requested by client 14:54:11.884613 DATA sockfilt for passive data channel starting... 14:54:11.888579 DATA sockfilt for passive data channel started (pid 128037) 14:54:11.888719 DATA sockfilt for passive data channel listens on port 33369 14:54:11.888771 > "229 Entering Passive Mode (|||33369|)[LF]" 14:54:11.888789 Client has been notified that DATA conn will be accepted on port 33369 14:54:11.889085 Client connects to port 33369 14:54:11.889117 ====> Client established passive DATA connection on port 33369 14:54:11.889194 < "TYPE I" 14:54:11.889222 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:11.889373 < "SIZE verifiedserver" 14:54:11.889404 > "213 17[CR][LF]" 14:54:11.889531 < "RETR verifiedserver" 14:54:11.889558 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:11.889642 =====> Closing passive DATA connection... 14:54:11.889664 Server disconnects passive DATA connection 14:54:11.889735 Server disconnected passive DATA connection 14:54:11.889759 DATA sockfilt for passive data channel quits (pid 128037) 14:54:11.889968 DATA sockfilt for passive data channel quit (pid 128037) 14:54:11.889990 =====> Closed passive DATA connection 14:54:11.890019 > "226 File transfer complete[CR][LF]" 14:54:11.935330 < "QUIT" 14:54:11.935527 > "221 bye bye baby[CR][LF]" 14:54:11.937315 MAIN sockfilt said DISC 14:54:11.937354 ====> Client disconnected 14:54:11.937442 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:11.966091 ====> Client connect 14:54:11.966453 Received DATA (on stdin) 14:54:11.966470 > 160 bytes data, server => client 14:54:11.966484 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.966497 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.966509 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.966603 < 16 bytes data, client => server 14:54:11.966618 'USER anonymous\r\n' 14:54:11.966819 Received DATA (on stdin) 14:54:11.966833 > 33 bytes data, server => client 14:54:11.966846 '331 We are happy you popped in!\r\n' 14:54:11.966899 < 22 bytes data, client => server 14:54:11.966912 'PASS ftp@example.com\r\n' 14:54:11.967024 Received DATA (on stdin) 14:54:11.967036 > 30 bytes data, server => client 14:54:11.967049 '230 Welcome you silly person\r\n' 14:54:11.967098 < 5 bytes data, client => server 14:54:11.967110 'PWD\r\n' 14:54:11.967216 Received DATA (on stdin) 14:54:11.967229 > 30 bytes data, server => client 14:54:11.967241 '257 "/" is current directory\r\n' 14:54:11.967299 < 6 bytes data, client => server 14:54:11.967312 'EPSV\r\n' 14:54:11.971613 Received DATA (on stdin) 14:54:11.971633 > 38 bytes data, server => client 14:54:11.971646 '229 Entering Passive Mode (|||33369|)\n' 14:54:11.971850 < 8 bytes data, client => server 14:54:11.971865 'TYPE I\r\n' 14:54:11.972035 Received DATA (on stdin) 14:54:11.972047 > 33 bytes data, server => client 14:54:11.972057 '200 I modify TYPE as you wanted\r\n' 14:54:11.972108 < 21 bytes data, client => server 14:54:11.972118 'SIZE verifiedserver\r\n' 14:54:11.972214 Received DATA (on stdin) 14:54:11.972224 > 8 bytes data, server => client 14:54:11.972233 '213 17\r\n' 14:54:11.972272 < 21 bytes data, client => server 14:54:11.972282 'RETR verifiedserver\r\n' 14:54:11.972453 Received DATA (on stdin) 14:54:11.972467 > 29 bytes data, server => client 14:54:11.972479 '150 Binary junk (17 bytes).\r\n' 14:54:11.972835 Received DATA (on stdin) 14:54:11.972850 > 28 bytes data, server => client 14:54:11.972861 '226 File transfer complete\r\n' 14:54:12.017918 < 6 bytes data, client => server 14:54:12.017956 'QUIT\r\n' 14:54:12.018366 Received DATA (on stdin) 14:54:12.018387 > 18 bytes data, server => client 14:54:12.018400 '221 bye bye baby\r\n' 14:54:12.019493 ====> Client disconnect 14:54:12.020257 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:11.971033 Running IPv4 version 14:54:11.971124 Listening on port 33369 14:54:11.971167 Wrote pid 128037 to log/14/server/ftp_sockdata.pid 14:54:11.971331 Received PING (on stdin) 14:54:11.971433 Received PORT (on stdin) 14:54:11.971846 ====> Client connect 14:54:11.972380 Received DATA (on stdin) 14:54:11.972395 > 17 bytes data, server => client 14:54:11.972407 'WE ROOLZ: 80387\r\n' 14:54:11.972484 Received DISC (on stdin) 14:54:11.972498 ====> Client forcibly disconnected 14:54:11.972580 Received QUIT (on stdin) 14:54:11.972594 quits 14:54:11.972648 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 Welcome REPLY AUTH 500 unknown command Testnum 986 === End of file server.cmd === Start of file test986.txt data to see that FTPS works so does it? === End of file test986.txt === Start of file valgrind986 ==128114== ==128114== Process terminating with default action of signal 4 (SIGILL) ==128114== Illegal opcode at address 0x4014B6F ==128114== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128114== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128114== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128114== by 0x4004266: main (tool_main.c:199) === End of file valgrind986 test 0992...[SASL verify default mechanisms are reset by login options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind992 ../src/curl -q --output log/6/curl992.out --include --trace-ascii log/6/trace992 --trace-time smtp://127.0.0.1:33615/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/6/stdout992 2> log/6/stderr992 992: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 992 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind992 ../src/curl -q --output log/6/curl992.out --include --trace-ascii log/6/trace992 --trace-timCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind994 ../src/curl -q --include --trace-ascii log/23/trace994 --trace-time -o "log/23/#1" "http://127.0.0.1:38851/994/{hey,ho}" --skip-existing > log/23/stdout994 2> log/23/stderr994 e smtp://127.0.0.1:33615/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/6/stdout992 2> log/6/stderr992 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 992 === End of file server.cmd === Start of file smtp_server.log 14:54:12.289173 ====> Client connect 14:54:12.289308 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.289555 < "EHLO verifiedserver" 14:54:12.289594 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:12.289747 < "HELP" 14:54:12.289773 > "214 WE ROOLZ: 122942[CR][LF]" 14:54:12.289784 return proof we are we 14:54:12.289964 < "QUIT" 14:54:12.289986 > "221 curl ESMTP server signing off[CR][LF]" 14:54:12.290382 MAIN sockfilt said DISC 14:54:12.290414 ====> Client disconnected 14:54:12.290483 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:12.371852 ====> Client connect 14:54:12.372128 Received DATA (on stdin) 14:54:12.372141 > 160 bytes data, server => client 14:54:12.372152 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:12.372161 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:12.372170 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:12.372235 < 21 bytes data, client => server 14:54:12.372245 'EHLO verifiedserver\r\n' 14:54:12.372407 Received DATA (on stdin) 14:54:12.372418 > 53 bytes data, server => client 14:54:12.372428 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:12.372474 < 6 bytes data, client => server 14:54:12.372487 'HELP\r\n' 14:54:12.372592 Received DATA (on stdin) 14:54:12.372602 > 22 bytes data, server => client 14:54:12.372611 '214 WE ROOLZ: 122942\r\n' 14:54:12.372700 < 6 bytes data, client => server 14:54:12.372711 'QUIT\r\n' 14:54:12.372795 Received DATA (on stdin) 14:54:12.372805 > 35 bytes data, server => client 14:54:12.372814 '221 curl ESMTP server signing off\r\n' 14:54:12.373140 ====> Client disconnect 14:54:12.373296 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-992 mail body === End of file stdin-for-992 === Start of file valgrind992 ==128264== ==128264== Process terminating with default action of signal 4 (SIGILL) ==128264== Illegal opcode at address 0x4014B6F ==128264== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128264== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128264== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128264== by 0x4004266: main (tool_main.c:199) === End of file valgrind992 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind995 ../src/curl -q --trace-ascii log/4/trace995 --trace-time -o log/4/there http://127.0.0.1:39793/995 --skip-existing > log/4/stdout995 2> log/4/stderr995 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind996 ../src/curl -q --include --trace-ascii log/13/trace996 --trace-time -o log/13/there http://127.0.0.1:41533/996 --skip-existing > log/13/stdout996 2> log/13/stderr996 test 0994...[--skip-existing with globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind994 ../src/curl -q --include --trace-ascii log/23/trace994 --trace-time -o "log/23/#1" "http://127.0.0.1:38851/994/{hey,ho}" --skip-existing > log/23/stdout994 2> log/23/stderr994 994: stderr FAILED: --- log/23/check-expected 2025-09-11 14:54:13.452197936 +0000 +++ log/23/check-generated 2025-09-11 14:54:13.452197936 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/23/hey" exists locally[CR][LF] -Note: skips transfer, "log/23/ho" exists locally[CR][LF] == Contents of files in the log/23/ dir after test 994 === Start of file check-expected Note: skips transfer, "log/23/hey" exists locally[CR][LF] Note: skips transfer, "log/23/ho" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind994 ../src/curl -q --include --trace-ascii log/23/trace994 --trace-time -o "log/23/#1" "http://127.0.0.1:38851/994/{hey,ho}" --skip-existing > log/23/stdout994 2> log/23/stderr994 === End of file commands.log === Start of file hey content === End of file hey === Start of file ho content === End of file ho === Start of file http_server.log 14:54:12.464226 ====> Client connect 14:54:12.464266 accept_connection 3 returned 4 14:54:12.464286 accept_connection 3 returned 0 14:54:12.465711 Read 93 bytes 14:54:12.465730 Process 93 bytes request 14:54:12.465745 Got request: GET /verifiedserver HTTP/1.1 14:54:12.465756 Are-we-friendly question received 14:54:12.465790 Wrote request (93 bytes) input to log/23/server.input 14:54:12.465810 Identifying ourselves as friends 14:54:12.465874 Response sent (56 bytes) and written to log/23/server.response 14:54:12.465886 special request received, no persistency 14:54:12.465897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 43746 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 994 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind994 ==128426== ==128426== Process terminating with default action of signal 4 (SIGILL) ==128426== Illegal opcode at address 0x4014B6F ==128426== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128426== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128426== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128426== by 0x4004266: main (tool_main.c:199) === End of file valgrind994 test 0995...[--skip-existing without file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind995 ../src/curl -q --trace-ascii log/4/trace995 --trace-time -o log/4/there http://127.0.0.1:39793/995 --skip-existing > log/4/stdout995 2> log/4/stderr995 995: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 995 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind995 ../src/curl -q --trace-ascii log/4/trace995 --trace-time -o log/4/there http://127.0.0.1:39793/995 --skip-existing > log/4/stdout995 2> log/4/stderr995 === End of file commands.log === Start of file http_server.log 14:54:12.473329 ====> Client connect 14:54:12.473363 accept_connection 3 returned 4 14:54:12.473381 accept_connection 3 returned 0 14:54:12.473519 Read 93 bytes 14:54:12.473534 Process 93 bytes request 14:54:12.473546 Got request: GET /verifiedserver HTTP/1.1 14:54:12.473557 Are-we-friendly question received 14:54:12.473585 Wrote request (93 bytes) input to log/4/server.input 14:54:12.473603 Identifying ourselves as friends 14:54:12.473658 Response sent (56 bytes) and written to log/4/server.response 14:54:12.473674 special request received, no persistency 14:54:12.473684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 995 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind995 ==128448== ==128448== Process terminating with default action of signal 4 (SIGILL) ==128448== Illegal opcode at address 0x4014B6F ==128448== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128448== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128448== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128448== by 0x4004266: main (tool_main.c:199) === End of file valgrind995 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind998 ../src/curl -q --output log/10/curl998.out --include --trace-ascii log/10/trace998 --trace-time -x 127.0.0.1:35893 http://alberto:einstein@somewhere.example/998 --location-trusted > log/10/stdout998 2> log/10/stderr998 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind993 ../src/curl -q --output log/15/curl993.out --include --trace-ascii log/15/trace993 --trace-time pop3://127.0.0.1:40131/ -u user:secret > log/15/stdout993 2> log/15/stderr993 test 0996...[--skip-existing with file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind996 ../src/curl -q --include --trace-ascii log/13/trace996 --trace-time -o log/13/there http://127.0.0.1:41533/996 --skip-existing > log/13/stdout996 2> log/13/stderr996 996: stderr FAILED: --- log/13/check-expected 2025-09-11 14:54:13.475531268 +0000 +++ log/13/check-generated 2025-09-11 14:54:13.475531268 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/13/there" exists locally[CR][LF] == Contents of files in the log/13/ dir after test 996 === Start of file check-expected Note: skips transfer, "log/13/there" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind996 ../src/curl -q --include --trace-ascii log/13/trace996 --trace-time -o log/13/there http://127.0.0.1:41533/996 --skip-existing > log/13/stdout996 2> log/13/stderr996 === End of file commands.log === Start of file http_server.log 14:54:12.468618 ====> Client connect 14:54:12.468657 accept_connection 3 returned 4 14:54:12.468676 accept_connection 3 returned 0 14:54:12.468691 Read 93 bytes 14:54:12.468704 Process 93 bytes request 14:54:12.468716 Got request: GET /verifiedserver HTTP/1.1 14:54:12.468727 Are-we-friendly question received 14:54:12.468776 Wrote request (93 bytes) input to log/13/server.input 14:54:12.468796 Identifying ourselves as friends 14:54:12.468855 Response sent (56 bytes) and written to log/13/server.response 14:54:12.468869 special request received, no persistency 14:54:12.468880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 50684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 996 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==128425== ==128425== Process terminating with default action of signal 4 (SIGILL) ==128425== Illegal opcode at address 0x4014B6F ==128425== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128425== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128425== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128425== by 0x4004266: main (tool_main.c:199) === End of file valgrind996 test 0998...[HTTP with auth in URL redirected to another host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind998 ../src/curl -q --output log/10/curl998.out --include --trace-ascii log/10/trace998 --trace-time -x 127.0.0.1:35893 http://alberto:einstein@somewhere.example/998 --location-trusted > log/10/stdout998 2> log/10/stderr998 998: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 998 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind998 ../src/curl -q --output log/10/curl998.out --include --trace-ascii log/10/trace998 --trace-time -x 127.0.0.1:35893 http://alberto:einstein@somewhere.example/998 --location-trusted > log/10/stdout998 2> log/10/stderr998 === End of file commands.log === Start of file http_server.log 14:54:12.475316 ====> Client connect 14:54:12.475346 accept_connection 3 returned 4 14:54:12.475365 accept_connection 3 returned 0 14:54:12.475380 Read 93 bytes 14:54:12.475392 Process 93 bytes request 14:54:12.475404 Got request: GET /verifiedserver HTTP/1.1 14:54:12.475415 Are-we-friendly question received 14:54:12.475440 Wrote request (93 bytes) input to log/10/server.input 14:54:12.475459 Identifying ourselves as friends 14:54:12.475514 Response sent (56 bytes) and written to log/10/server.response 14:54:12.475525 special request received, no persistency 14:54:12.475536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 48338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 998 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind998 ==128470== ==128470== Process terminating with default action of signal 4 (SIGILL) ==128470== Illegal opcode at address 0x4014B6F ==128470== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128470== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128470== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128470== by 0x4004266: main (tool_main.c:199) === End of file valgrind998 test 0993...[POP3 LIST 1000 messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind993 ../src/curl -q --output log/15/curl993.out --include --trace-ascii log/15/trace993 --trace-time pop3://127.0.0.1:40131/ -u user:secret > log/15/stdout993 2> log/15/stderr993 993: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 993 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind993 ../src/curl -q --output log/15/curl993.out --include --trace-ascii log/15/trace993 --trace-time pop3://127.0.0.1:40131/ -u user:secret > log/15/stdout993 2> log/15/stderr993 === End of file commands.log === Start of file pop3_server.log 14:54:12.351787 ====> Client connect 14:54:12.351938 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:12.352270 < "CAPA" 14:54:12.352308 > "-ERR Unrecognized command[CR][LF]" 14:54:12.352487 < "RETR verifiedserver" 14:54:12.352514 return proof we are we 14:54:12.352536 > "+OK Mail transfer starts[CR][LF]" 14:54:12.352555 > "WE ROOLZ: 120203[CR][LF]" 14:54:12.352574 > ".[CR][LF]" 14:54:12.397347 < "QUIT" 14:54:12.397399 > "+OK curl POP3 server signing off[CR][LF]" 14:54:12.398319 MAIN sockfilt said DISC 14:54:12.398349 ====> Client disconnected 14:54:12.398411 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:12.434457 ====> Client connect 14:54:12.434762 Received DATA (on stdin) 14:54:12.434778 > 178 bytes data, server => client 14:54:12.434792 ' _ _ ____ _ \r\n ___|CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind999 ../src/curl -q --output log/7/curl999.out --include --trace-ascii log/7/trace999 --trace-time -x 127.0.0.1:40545 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/7/stdout999 2> log/7/stderr999 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind997 ../src/curl -q --output log/2/curl997.out --include --trace-ascii log/2/trace997 --trace-time pop3://127.0.0.1:45555 -u user:secret -X 'STAT' > log/2/stdout997 2> log/2/stderr997 | | | _ \| | \r\n ' 14:54:12.434805 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:12.434817 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:12.434847 've \r\n' 14:54:12.434929 < 6 bytes data, client => server 14:54:12.434943 'CAPA\r\n' 14:54:12.435124 Received DATA (on stdin) 14:54:12.435139 > 27 bytes data, server => client 14:54:12.435151 '-ERR Unrecognized command\r\n' 14:54:12.435208 < 21 bytes data, client => server 14:54:12.435222 'RETR verifiedserver\r\n' 14:54:12.435387 Received DATA (on stdin) 14:54:12.435401 > 26 bytes data, server => client 14:54:12.435413 '+OK Mail transfer starts\r\n' 14:54:12.435435 Received DATA (on stdin) 14:54:12.435447 > 18 bytes data, server => client 14:54:12.435460 'WE ROOLZ: 120203\r\n' 14:54:12.435474 Received DATA (on stdin) 14:54:12.435486 > 3 bytes data, server => client 14:54:12.435498 '.\r\n' 14:54:12.479996 < 6 bytes data, client => server 14:54:12.480019 'QUIT\r\n' 14:54:12.480216 Received DATA (on stdin) 14:54:12.480230 > 34 bytes data, server => client 14:54:12.480242 '+OK curl POP3 server signing off\r\n' 14:54:12.481081 ====> Client disconnect 14:54:12.481226 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 993 === End of file server.cmd === Start of file valgrind993 ==128498== ==128498== Process terminating with default action of signal 4 (SIGILL) ==128498== Illegal opcode at address 0x4014B6F ==128498== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128498== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128498== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128498== by 0x4004266: main (tool_main.c:199) === End of file valgrind993 test 0999...[HTTP with auth in first URL but not second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind999 ../src/curl -q --output log/7/curl999.out --include --trace-ascii log/7/trace999 --trace-time -x 127.0.0.1:40545 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/7/stdout999 2> log/7/stderr999 999: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 999 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind999 ../src/curl -q --output log/7/curl999.out --include --trace-ascii log/7/trace999 --trace-time -x 127.0.0.1:40545 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/7/stdout999 2> log/7/stderr999 === End of file commands.log === Start of file http_server.log 14:54:12.483374 ====> Client connect 14:54:12.483413 accept_connection 3 returned 4 14:54:12.483432 accept_connection 3 returned 0 14:54:12.483448 Read 93 bytes 14:54:12.483460 Process 93 bytes request 14:54:12.483474 Got request: GET /verifiedserver HTTP/1.1 14:54:12.483485 Are-we-friendly question received 14:54:12.483514 Wrote request (93 bytes) input to log/7/server.input 14:54:12.483534 Identifying ourselves as friends 14:54:12.483596 Response sent (56 bytes) and written to log/7/server.response 14:54:12.483608 special request received, no persistency 14:54:12.483619 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 45412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 999 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind999 ==128497== ==128497== Process terminating with default action of signal 4 (SIGILL) ==128497== Illegal opcode at address 0x4014B6F ==128497== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128497== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128497== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128497== by 0x4004266: main (tool_main.c:199) === End of file valgrind999 test 0997...[POP3 retrieve STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind997 ../src/curl -q --output log/2/curl997.out --include --trace-ascii log/2/trace997 --trace-time pop3://127.0.0.1:45555 -u user:secret -X 'STAT' > log/2/stdout997 2> log/2/stderr997 997: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 997 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind997 ../src/curl -q --output log/2/curl997.out --include --trace-ascii log/2/trace997 --trace-time pop3://127.0.0.1:45555 -u user:secret -X 'STAT' > log/2/stdout997 2> log/2/stderr997 === End of file commands.log === Start of file pop3_server.log 14:54:12.389710 ====> Client connect 14:54:12.389849 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:12.390174 < "CAPA" 14:54:12.390226 > "-ERR Unrecognized command[CR][LF]" 14:54:12.390416 < "RETR verifiedserver" 14:54:12.390444 return proof we are we 14:54:12.390468 > "+OK Mail transfer starts[CR][LF]" 14:54:12.390489 > "WE ROOLZ: 120201[CR][LF]" 14:54:12.390509 > ".[CR][LF]" 14:54:12.434038 < "QUIT" 14:54:12.434097 > "+OK curl POP3 server signing off[CR][LF]" 14:54:12.435086 MAIN sockfilt said DISC 14:54:12.435124 ====> Client disconnected 14:54:12.435203 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:12.472430 ====> Client connect 14:54:12.472685 Received DATA (on stdin) 14:54:12.472705 > 178 bytes data, server => client 14:54:12.472720 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:12.472733 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:12.472747 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:12.472759 've \r\n' 14:54:12.472834 < 6 bytes data, client => server 14:54:12.472853 'CAPA\r\n' 14:54:12.473021 Received DATA (on stdin) 14:54:12.473044 > 27 bytes data, server => client 14:54:12.473058 '-ERR Unrecognized command\r\n' 14:54:12.473122 < 21 bytes data, client => server 14:54:12.473139 'RETR verifiedserver\r\n' 14:54:12.473325 Received DATA (on stdin) 14:54:12.473340 > 26 bytes data, server => client 14:54:12.473353 '+OK Mail transfer starts\r\n' 14:54:12.473378 Received DATA (on stdin) 14:54:12.473390 > 18 bytes data, server => client 14:54:12.473402 'WE ROOLZ: 120201\r\n' 14:54:12.473417 Received DATA (on stdin) 14:54:12.473429 > 3 bytes data, server => client 14:54:12.473441 '.\r\n' 14:54:12.516649 < 6 bytes data, client => server 14:54:12.516679 'QUIT\r\n' 14:54:12.516917 Received DATA (on stdin) 14:54:12.516933 > 34 bytes data, server => client 14:54:12.516946 '+OK curl POP3 server signing off\r\n' 14:54:12.517840 ====> Client disconnect 14:54:12.518023 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 997 ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1000 ../src/curl -q --output log/12/curl1000.out --include --trace-ascii log/12/trace1000 --trace-time ftp://127.0.0.1:38141/1000/ -I > log/12/stdout1000 2> log/12/stderr1000 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1002 ../src/curl -q --output log/8/curl1002.out --include --trace-ascii log/8/trace1002 --trace-time http://127.0.0.1:37085/1002.upload1 -T log/8/1002 http://127.0.0.1:37085/1002.upload2 -T log/8/1002 -u auser:apasswd --digest -x http://127.0.0.1:37085 -C 2 -X GET > log/8/stdout1002 2> log/8/stderr1002 End of file server.cmd === Start of file valgrind997 ==128663== ==128663== Process terminating with default action of signal 4 (SIGILL) ==128663== Illegal opcode at address 0x4014B6F ==128663== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128663== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128663== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128663== by 0x4004266: main (tool_main.c:199) === End of file valgrind997 test 1000...[FTP dir list PASV with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1000 ../src/curl -q --output log/12/curl1000.out --include --trace-ascii log/12/trace1000 --trace-time ftp://127.0.0.1:38141/1000/ -I > log/12/stdout1000 2> log/12/stderr1000 1000: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1000 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1000 ../src/curl -q --output log/12/curl1000.out --include --trace-ascii log/12/trace1000 --trace-time ftp://127.0.0.1:38141/1000/ -I > log/12/stdout1000 2> log/12/stderr1000 === End of file commands.log === Start of file ftp_server.log 14:54:12.536712 ====> Client connect 14:54:12.536888 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.537184 < "USER anonymous" 14:54:12.537220 > "331 We are happy you popped in![CR][LF]" 14:54:12.537389 < "PASS ftp@example.com" 14:54:12.537416 > "230 Welcome you silly person[CR][LF]" 14:54:12.537571 < "PWD" 14:54:12.537600 > "257 "/" is current directory[CR][LF]" 14:54:12.537768 < "EPSV" 14:54:12.537793 ====> Passive DATA channel requested by client 14:54:12.537807 DATA sockfilt for passive data channel starting... 14:54:12.539500 DATA sockfilt for passive data channel started (pid 128783) 14:54:12.539617 DATA sockfilt for passive data channel listens on port 46623 14:54:12.539660 > "229 Entering Passive Mode (|||46623|)[LF]" 14:54:12.539681 Client has been notified that DATA conn will be accepted on port 46623 14:54:12.539913 Client connects to port 46623 14:54:12.539943 ====> Client established passive DATA connection on port 46623 14:54:12.540021 < "TYPE I" 14:54:12.540049 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:12.540239 < "SIZE verifiedserver" 14:54:12.540275 > "213 17[CR][LF]" 14:54:12.540450 < "RETR verifiedserver" 14:54:12.540488 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:12.540573 =====> Closing passive DATA connection... 14:54:12.540591 Server disconnects passive DATA connection 14:54:12.540839 Server disconnected passive DATA connection 14:54:12.540868 DATA sockfilt for passive data channel quits (pid 128783) 14:54:12.541065 DATA sockfilt for passive data channel quit (pid 128783) 14:54:12.541090 =====> Closed passive DATA connection 14:54:12.541117 > "226 File transfer complete[CR][LF]" 14:54:12.587159 < "QUIT" 14:54:12.587208 > "221 bye bye baby[CR][LF]" 14:54:12.587990 MAIN sockfilt said DISC 14:54:12.588013 ====> Client disconnected 14:54:12.588078 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:11.619407 ====> Client connect 14:54:11.619715 Received DATA (on stdin) 14:54:11.619732 > 160 bytes data, server => client 14:54:11.619745 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.619758 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.619770 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.619844 < 16 bytes data, client => server 14:54:11.619858 'USER anonymous\r\n' 14:54:11.620036 Received DATA (on stdin) 14:54:11.620049 > 33 bytes data, server => client 14:54:11.620061 '331 We are happy you popped in!\r\n' 14:54:11.620113 < 22 bytes data, client => server 14:54:11.620126 'PASS ftp@example.com\r\n' 14:54:11.620229 Received DATA (on stdin) 14:54:11.620241 > 30 bytes data, server => client 14:54:11.620253 '230 Welcome you silly person\r\n' 14:54:11.620302 < 5 bytes data, client => server 14:54:11.620314 'PWD\r\n' 14:54:11.620413 Received DATA (on stdin) 14:54:11.620426 > 30 bytes data, server => client 14:54:11.620438 '257 "/" is current directory\r\n' 14:54:11.620497 < 6 bytes data, client => server 14:54:11.620510 'EPSV\r\n' 14:54:11.622501 Received DATA (on stdin) 14:54:11.622515 > 38 bytes data, server => client 14:54:11.622528 '229 Entering Passive Mode (|||46623|)\n' 14:54:11.622671 < 8 bytes data, client => server 14:54:11.622684 'TYPE I\r\n' 14:54:11.622865 Received DATA (on stdin) 14:54:11.622879 > 33 bytes data, server => client 14:54:11.622891 '200 I modify TYPE as you wanted\r\n' 14:54:11.622949 < 21 bytes data, client => server 14:54:11.622964 'SIZE verifiedserver\r\n' 14:54:11.623092 Received DATA (on stdin) 14:54:11.623106 > 8 bytes data, server => client 14:54:11.623117 '213 17\r\n' 14:54:11.623170 < 21 bytes data, client => server 14:54:11.623185 'RETR verifiedserver\r\n' 14:54:11.623407 Received DATA (on stdin) 14:54:11.623421 > 29 bytes data, server => client 14:54:11.623433 '150 Binary junk (17 bytes).\r\n' 14:54:11.623933 Received DATA (on stdin) 14:54:11.623947 > 28 bytes data, server => client 14:54:11.623959 '226 File transfer complete\r\n' 14:54:11.669771 < 6 bytes data, client => server 14:54:11.669801 'QUIT\r\n' 14:54:11.670020 Received DATA (on stdin) 14:54:11.670030 > 18 bytes data, server => client 14:54:11.670039 '221 bye bye baby\r\n' 14:54:11.670759 ====> Client disconnect 14:54:11.670885 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:12.622139 Running IPv4 version 14:54:12.622199 Listening on port 46623 14:54:12.622234 Wrote pid 128783 to log/12/server/ftp_sockdata.pid 14:54:12.622254 Received PING (on stdin) 14:54:12.622345 Received PORT (on stdin) 14:54:12.622640 ====> Client connect 14:54:12.623462 Received DATA (on stdin) 14:54:12.623476 > 17 bytes data, server => client 14:54:12.623488 'WE ROOLZ: 80195\r\n' 14:54:12.623512 Received DISC (on stdin) 14:54:12.623525 ====> Client forcibly disconnected 14:54:12.623691 Received QUIT (on stdin) 14:54:12.623704 quits 14:54:12.623756 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==128796== ==128796== Process terminating with default action of signal 4 (SIGILL) ==128796== Illegal opcode at address 0x4014B6F ==128796== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128796== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128796== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128796== by 0x4004266: main (tool_main.c:199) === End of file valgrind1000 test 1002...[HTTP PUT with Digest auth, resumed upload and modified method, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1002 ../src/curl -q --output log/8/curl1002.out --include --trace-ascii log/8/trace1002 --trace-time http://127.0.0.1:37085/1002.upload1 -T log/8/1002 http://127.0.0.1:37085/1002.upload2 -T log/8/1002 -u auser:apasswd --digest -x http://127.0.0.1:37085 -C 2 -X GET > log/8/stdout1002 2> log/8/stderr1002 1002: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1002 === Start of file 1002 test === End of file 1002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1007 ../src/curl -q --output log/11/curl1007.out --include --trace-ascii log/11/trace1007 --trace-time -T log/11/test1007.txt tftp://127.0.0.1:56517//invalid-file -sS > log/11/stdout1007 2> log/11/stderr1007 rl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1002 ../src/curl -q --output log/8/curl1002.out --include --trace-ascii log/8/trace1002 --trace-time http://127.0.0.1:37085/1002.upload1 -T log/8/1002 http://127.0.0.1:37085/1002.upload2 -T log/8/1002 -u auser:apasswd --digest -x http://127.0.0.1:37085 -C 2 -X GET > log/8/stdout1002 2> log/8/stderr1002 === End of file commands.log === Start of file http_server.log 14:54:11.765257 ====> Client connect 14:54:11.765287 accept_connection 3 returned 4 14:54:11.765305 accept_connection 3 returned 0 14:54:11.765320 Read 93 bytes 14:54:11.765330 Process 93 bytes request 14:54:11.765344 Got request: GET /verifiedserver HTTP/1.1 14:54:11.765354 Are-we-friendly question received 14:54:11.765381 Wrote request (93 bytes) input to log/8/server.input 14:54:11.765399 Identifying ourselves as friends 14:54:11.765450 Response sent (56 bytes) and written to log/8/server.response 14:54:11.765462 special request received, no persistency 14:54:11.765473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 59160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1002 ==128951== ==128951== Process terminating with default action of signal 4 (SIGILL) ==128951== Illegal opcode at address 0x4014B6F ==128951== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128951== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128951== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128951== by 0x4004266: main (tool_main.c:199) === End of file valgrind1002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1001 ../src/curl -q --output log/3/curl1001.out --include --trace-ascii log/3/trace1001 --trace-time http://127.0.0.1:46791/1001 -u auser:apasswd --digest -T log/3/1001 -x http://127.0.0.1:46791 -C 2 -X GET > log/3/stdout1001 2> log/3/stderr1001 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1004 ../src/curl -q --output log/9/curl1004.out --include --trace-ascii log/9/trace1004 --trace-time http://127.0.0.1:34345/1004 --proxy "" > log/9/stdout1004 2> log/9/stderr1004 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:43113/path/1003 > log/1/stdout1003 2> log/1/stderr1003 test 1007...[TFTP send with invalid permission on server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1007 ../src/curl -q --output log/11/curl1007.out --include --trace-ascii log/11/trace1007 --trace-time -T log/11/test1007.txt tftp://127.0.0.1:56517//invalid-file -sS > log/11/stdout1007 2> log/11/stderr1007 1007: stderr FAILED: --- log/11/check-expected 2025-09-11 14:54:13.695531272 +0000 +++ log/11/check-generated 2025-09-11 14:54:13.695531272 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/11/ dir after test 1007 === Start of file check-expected curl: (69) TFTP: Access Violation[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1007 ../src/curl -q --output log/11/curl1007.out --include --trace-ascii log/11/trace1007 --trace-time -T log/11/test1007.txt tftp://127.0.0.1:56517//invalid-file -sS > log/11/stdout1007 2> log/11/stderr1007 === End of file commands.log === Start of file server.cmd Testnum 1007 === End of file server.cmd === Start of file test1007.txt This data will not be sent === End of file test1007.txt === Start of file tftp_server.log 14:54:12.784776 trying to get file: verifiedserver mode 1 14:54:12.784799 Are-we-friendly question received 14:54:12.784812 write 14:54:12.784826 read 14:54:12.785280 read: 4 14:54:12.785331 end of one transfer === End of file tftp_server.log === Start of file valgrind1007 ==128991== ==128991== Process terminating with default action of signal 4 (SIGILL) ==128991== Illegal opcode at address 0x4014B6F ==128991== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128991== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128991== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128991== by 0x4004266: main (tool_main.c:199) === End of file valgrind1007 test 1001...[HTTP POST --digest with PUT and resumed upload and modified method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1001 ../src/curl -q --output log/3/curl1001.out --include --trace-ascii log/3/trace1001 --trace-time http://127.0.0.1:46791/1001 -u auser:apasswd --digest -T log/3/1001 -x http://127.0.0.1:46791 -C 2 -X GET > log/3/stdout1001 2> log/3/stderr1001 1001: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1001 === Start of file 1001 test === End of file 1001 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1001 ../src/curl -q --output log/3/curl1001.out --include --trace-ascii log/3/trace1001 --trace-time http://127.0.0.1:46791/1001 -u auser:apasswd --digest -T log/3/1001 -x http://127.0.0.1:46791 -C 2 -X GET > log/3/stdout1001 2> log/3/stderr1001 === End of file commands.log === Start of file http_server.log 14:54:12.767632 ====> Client connect 14:54:12.767667 accept_connection 3 returned 4 14:54:12.767685 accept_connection 3 returned 0 14:54:12.767701 Read 93 bytes 14:54:12.767712 Process 93 bytes request 14:54:12.767725 Got request: GET /verifiedserver HTTP/1.1 14:54:12.767736 Are-we-friendly question received 14:54:12.767765 Wrote request (93 bytes) input to log/3/server.input 14:54:12.767784 Identifying ourselves as friends 14:54:12.767845 Response sent (56 bytes) and written to log/3/server.response 14:54:12.767857 special request received, no persistency 14:54:12.768550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 34478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1001 ==128957== ==128957== Process terminating with default action of signal 4 (SIGILL) ==128957== Illegal opcode at address 0x4014B6F ==128957== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128957== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128957== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128957== by 0x4004266: main (tool_main.c:199) === End of file valgrind1001 test 1004...[HTTP GET with empty proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1004 ../src/curl -q --output log/9/curl1004.out --include --trace-ascii log/9/trace1004 --trace-time http://127.0.0.1:34345/1004 --proxy "" > log/9/stdout1004 2> log/9/stderr1004 1004: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1004 ../src/curl -q --output log/9/curl1004.out --include --trace-ascii log/9/trace1004 --trace-time http://127.0.0.1:34345/1004 --proxy "" > log/9/stdout1004 2> log/9/stderr1004 === End of file commands.log === Start of file http_server.log 14:54:12.774861 ====> Client connect 14:54:12.774889 accept_connection 3 returned 4 14:54:12.774906 accept_connection 3 returned 0 14:54:12.774922 Read 93 bytes 14:54:12.774933 Process 93 bytes request 14:54:12.774947 Got request: GET /verifiedserver HTTP/1.1 14:54:12.774958 Are-we-friendly question received 14:54:12.774990 Wrote request (93 bytes) input to log/9/server.input 14:54:12.775008 Identifying ourselves as friends 14:54:12.775072 Response sent (56 bytes) and written to log/9/server.response 14:54:12.775084 special request received, no persistency 14:54:12.775095 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 60516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1004 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1004 ==128959== ==128959== Process terminating with default action of signal 4 (SIGILL) ==128959== Illegal opcode at address 0x4014B6F ==128959== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==128959== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==128959== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==128959== by 0x4004266: main (tool_main.c:199) === End of file valgrind1004 test 1003...[FTP with excessively large server command response line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:43113/path/1003 > log/1/stdout1003 2> log/1/stderr1003 1003: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:43113/path/1003 > log/1/stdout1003 2> log/1/stderr1003 === End of file commands.log === Start of file ftp_server.log 14:54:12.685360 ====> Client connect 14:54:12.685503 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.685832 < "USER anonymous" 14:54:12.685880 > "331 We are happy you popped in![CR][LF]" 14:54:12.686366 < "PASS ftp@example.com" 14:54:12.686405 > "230 Welcome you silly person[CR][LF]" 14:54:12.686605 < "PWD" 14:54:12.686644 > "257 "/" is current directory[CR][LF]" 14:54:12.686831 < "EPSV" 14:54:12.686873 ====> Passive DATA channel requested by client 14:54:12.686889 DATA sockfilt for passive data channel starting... 14:54:12.688315 DATA sockfilt for passive data channel started (pid 128916) 14:54:12.688413 DATA sockfilt for passive data channel listens on port 38835 14:54:12.688449 > "229 Entering Passive Mode (|||38835|)[LF]" 14:54:12.688464 Client has been notified that DATA conn will be accepted on port 38835 14:54:12.688653 Client connects to port 38835 14:54:12.688677 ====> Client established passive DATA connection on port 38835 14:54:12.688738 < "TYPE I" 14:54:12.688761 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:12.688888 < "SIZE verifiedserver" 14:54:12.688917 > "213 17[CR][LF]" 14:54:12.689037 < "RETR verifiedserver" 14:54:12.689065 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:12.689128 =====> Closing passive DATA connection... 14:54:12.689140 Server disconnects passive DATA connection 14:54:12.689325 Server disconnected passive DATA connection 14:54:12.689348 DATA sockfilt for passive data channel quits (pid 128916) 14:54:12.689504 DATA sockfilt for passive data channel quit (pid 128916) 14:54:12.689522 =====> Closed passive DATA connection 14:54:12.689543 > "226 File transfer complete[CR][LF]" 14:54:12.730698 < "QUIT" 14:54:12.730752 > "221 bye bye baby[CR][LF]" 14:54:12.731466 MAIN sockfilt said DISC 14:54:12.731502 ====> Client disconnected 14:54:12.731592 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:11.768075 ====> Client connect 14:54:11.768331 Received DATA (on stdin) 14:54:11.768350 > 160 bytes data, server => client 14:54:11.768365 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:11.768378 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:11.768391 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:11.768469 < 16 bytes data, client => server 14:54:11.768485 'USER anonymous\r\n' 14:54:11.768700 Received DATA (on stdin) 14:54:11.768716 > 33 bytes data, server => client 14:54:11.768729 '331 We are happy you popped in!\r\n' 14:54:11.769050 < 22 bytes data, client => server 14:54:11.769070 'PASS ftp@example.com\r\n' 14:54:11.769225 Received DATA (on stdin) 14:54:11.769243 > 30 bytes data, server => client 14:54:11.769256 '230 Welcome you silly person\r\n' 14:54:11.769313 < 5 bytes data, client => server 14:54:11.769327 'PWD\r\n' 14:54:11.769461 Received DATA (on stdin) 14:54:11.769475 > 30 bytes data, server => client 14:54:11.769488 '257 "/" is current directory\r\n' 14:54:11.769549 < 6 bytes data, client => server 14:54:11.769563 'EPSV\r\n' 14:54:11.771276 Received DATA (on stdin) 14:54:11.771289 > 38 bytes data, server => client 14:54:11.771298 '229 Entering Passive Mode (|||38835|)\n' 14:54:11.771419 < 8 bytes data, client => server 14:54:11.771429 'TYPE I\r\n' 14:54:11.771570 Received DATA (on stdin) 14:54:11.771581 > 33 bytes data, server => client 14:54:11.771590 '200 I modify TYPE as you wanted\r\n' 14:54:11.771631 < 21 bytes data, client => server 14:54:11.771640 'SIZE verifiedserver\r\n' 14:54:11.771725 Received DATA (on stdin) 14:54:11.771735 > 8 bytes data, server => client 14:54:11.771744 '213 17\r\n' 14:54:11.771782 < 21 bytes data, client => server 14:54:11.771791 'RETR verifiedserver\r\n' 14:54:11.771951 Received DATA (on stdin) 14:54:11.771961 > 29 bytes data, server => client 14:54:11.771970 '150 Binary junk (17 bytes).\r\n' 14:54:11.772353 Received DATA (on stdin) 14:54:11.772364 > 28 bytes data, server => client 14:54:11.772374 '226 File transfer complete\r\n' 14:54:11.813331 < 6 bytes data, client => server 14:54:11.813358 'QUIT\r\n' 14:54:11.813572 Received DATA (on stdin) 14:54:11.813585 > 18 bytes data, server => client 14:54:11.813595 '221 bye bye baby\r\n' 14:54:11.814224 ====> Client disconnect 14:54:11.814421 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:12.770984 Running IPv4 version 14:54:12.771028 Listening on port 38835 14:54:12.771059 Wrote pid 128916 to log/1/server/ftp_sockdata.pid 14:54:12.771076 Received PING (on stdin) 14:54:12.771150 Received PORT (on stdin) 14:54:12.771395 ====> Client connect 14:54:12.771990 Received DATA (on stdin) 14:54:12.772001 > 17 bytes data, server => client 14:54:12.772010 'WE ROOLZ: 80194\r\n' 14:54:12.772029 Received DISC (on stdin) 14:54:12.772038 ====> Client forcibly disconnected 14:54:12.772162 Received QUIT (on stdin) 14:54:12.772173 quits 14:54:12.772214 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1008 ../src/curl -q --output log/21/curl1008.out --include --trace-ascii log/21/trace1008 --trace-time http://test.remote.example.com.1008:34037/path/10080002 --proxy http://127.0.0.1:34037 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout1008 2> log/21/stderr1008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1005 ../src/curl -q --output log/16/curl1005.out --include --trace-ascii log/16/trace1005 --trace-time ftp://127.0.0.1:32915/path/1005 > log/16/stdout1005 2> log/16/stderr1005 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==129139== ==129139== Process terminating with default action of signal 4 (SIGILL) ==129139== Illegal opcode at address 0x4014B6F ==129139== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129139== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129139== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129139== by 0x4004266: main (tool_main.c:199) === End of file valgrind1003 test 1005...[FTP with excessively large number of server command response lines] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1005 ../src/curl -q --output log/16/curl1005.out --include --trace-ascii log/16/trace1005 --trace-time ftp://127.0.0.1:32915/path/1005 > log/16/stdout1005 2> log/16/stderr1005 1005: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1005 ../src/curl -q --output log/16/curl1005.out --include --trace-ascii log/16/trace1005 --trace-time ftp://127.0.0.1:32915/path/1005 > log/16/stdout1005 2> log/16/stderr1005 === End of file commands.log === Start of file ftp_server.log 14:54:12.696274 ====> Client connect 14:54:12.696393 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.696613 < "USER anonymous" 14:54:12.696640 > "331 We are happy you popped in![CR][LF]" 14:54:12.696772 < "PASS ftp@example.com" 14:54:12.696791 > "230 Welcome you silly person[CR][LF]" 14:54:12.696940 < "PWD" 14:54:12.696969 > "257 "/" is current directory[CR][LF]" 14:54:12.697113 < "EPSV" 14:54:12.697139 ====> Passive DATA channel requested by client 14:54:12.697153 DATA sockfilt for passive data channel starting... 14:54:12.698665 DATA sockfilt for passive data channel started (pid 128950) 14:54:12.698794 DATA sockfilt for passive data channel listens on port 43855 14:54:12.698834 > "229 Entering Passive Mode (|||43855|)[LF]" 14:54:12.698856 Client has been notified that DATA conn will be accepted on port 43855 14:54:12.699058 Client connects to port 43855 14:54:12.699088 ====> Client established passive DATA connection on port 43855 14:54:12.699170 < "TYPE I" 14:54:12.699202 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:12.699357 < "SIZE verifiedserver" 14:54:12.699396 > "213 17[CR][LF]" 14:54:12.699535 < "RETR verifiedserver" 14:54:12.699562 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:12.699627 =====> Closing passive DATA connection... 14:54:12.699640 Server disconnects passive DATA connection 14:54:12.699789 Server disconnected passive DATA connection 14:54:12.699812 DATA sockfilt for passive data channel quits (pid 128950) 14:54:12.700021 DATA sockfilt for passive data channel quit (pid 128950) 14:54:12.700044 =====> Closed passive DATA connection 14:54:12.700069 > "226 File transfer complete[CR][LF]" 14:54:12.740852 < "QUIT" 14:54:12.740905 > "221 bye bye baby[CR][LF]" 14:54:12.741259 MAIN sockfilt said DISC 14:54:12.741290 ====> Client disconnected 14:54:12.741351 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:12.778993 ====> Client connect 14:54:12.779211 Received DATA (on stdin) 14:54:12.779223 > 160 bytes data, server => client 14:54:12.779233 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:12.779243 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:12.779251 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:12.779312 < 16 bytes data, client => server 14:54:12.779323 'USER anonymous\r\n' 14:54:12.779451 Received DATA (on stdin) 14:54:12.779461 > 33 bytes data, server => client 14:54:12.779471 '331 We are happy you popped in!\r\n' 14:54:12.779512 < 22 bytes data, client => server 14:54:12.779521 'PASS ftp@example.com\r\n' 14:54:12.779599 Received DATA (on stdin) 14:54:12.779609 > 30 bytes data, server => client 14:54:12.779618 '230 Welcome you silly person\r\n' 14:54:12.779673 < 5 bytes data, client => server 14:54:12.779686 'PWD\r\n' 14:54:12.779778 Received DATA (on stdin) 14:54:12.779788 > 30 bytes data, server => client 14:54:12.779797 '257 "/" is current directory\r\n' 14:54:12.779847 < 6 bytes data, client => server 14:54:12.779857 'EPSV\r\n' 14:54:12.781678 Received DATA (on stdin) 14:54:12.781693 > 38 bytes data, server => client 14:54:12.781705 '229 Entering Passive Mode (|||43855|)\n' 14:54:12.781831 < 8 bytes data, client => server 14:54:12.781848 'TYPE I\r\n' 14:54:12.782019 Received DATA (on stdin) 14:54:12.782033 > 33 bytes data, server => client 14:54:12.782046 '200 I modify TYPE as you wanted\r\n' 14:54:12.782103 < 21 bytes data, client => server 14:54:12.782117 'SIZE verifiedserver\r\n' 14:54:12.782203 Received DATA (on stdin) 14:54:12.782217 > 8 bytes data, server => client 14:54:12.782227 '213 17\r\n' 14:54:12.782274 < 21 bytes data, client => server 14:54:12.782284 'RETR verifiedserver\r\n' 14:54:12.782469 Received DATA (on stdin) 14:54:12.782479 > 29 bytes data, server => client 14:54:12.782489 '150 Binary junk (17 bytes).\r\n' 14:54:12.782891 Received DATA (on stdin) 14:54:12.782906 > 28 bytes data, server => client 14:54:12.782918 '226 File transfer complete\r\n' 14:54:12.823506 < 6 bytes data, client => server 14:54:12.823528 'QUIT\r\n' 14:54:12.823725 Received DATA (on stdin) 14:54:12.823739 > 18 bytes data, server => client 14:54:12.823752 '221 bye bye baby\r\n' 14:54:12.823977 ====> Client disconnect 14:54:12.824165 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:12.781316 Running IPv4 version 14:54:12.781368 Listening on port 43855 14:54:12.781403 Wrote pid 128950 to log/16/server/ftp_sockdata.pid 14:54:12.781425 Received PING (on stdin) 14:54:12.781515 Received PORT (on stdin) 14:54:12.781821 ====> Client connect 14:54:12.782381 Received DATA (on stdin) 14:54:12.782401 > 17 bytes data, server => client 14:54:12.782414 'WE ROOLZ: 80177\r\n' 14:54:12.782451 Received DISC (on stdin) 14:54:12.782467 ====> Client forcibly disconnected 14:54:12.782633 Received QUIT (on stdin) 14:54:12.782646 quits 14:54:12.782700 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1005 === End of file server.cmd === Start of file valgrind1005 ==129184== ==129184== Process terminating with default action of signal 4 (SIGILL) ==129184== Illegal opcode at address 0x4014B6F ==129184== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129184== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129184== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129184== by 0x4004266: main (tool_main.c:199) === End of file valgrind1005 test 1008...[HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1008 ../src/curl -q --output log/21/curl1008.out --include --trace-ascii log/21/trace1008 --trace-time http://test.remote.example.com.1008:34037/path/10080002 --proxy http://127.0.0.1:34037 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout1008 2> log/21/stderr1008 1008: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1008 ../src/curl -q --output log/21/curl1008.out --include --trace-ascii log/21/trace1008 --trace-time http://test.remote.example.com.1008:34037/path/10080002 --proxy http://127.0.0.1:34037 --proxy-userCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:43342//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:46041/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1006 ../src/curl -q --output log/20/curl1006.out --include --trace-ascii log/20/trace1006 --trace-time ftp://127.0.0.1:36903/path/1006 > log/20/stdout1006 2> log/20/stderr1006 testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout1008 2> log/21/stderr1008 === End of file commands.log === Start of file http_server.log 14:54:12.840563 ====> Client connect 14:54:12.840609 accept_connection 3 returned 4 14:54:12.840627 accept_connection 3 returned 0 14:54:12.840644 Read 93 bytes 14:54:12.840656 Process 93 bytes request 14:54:12.840671 Got request: GET /verifiedserver HTTP/1.1 14:54:12.840682 Are-we-friendly question received 14:54:12.840710 Wrote request (93 bytes) input to log/21/server.input 14:54:12.840729 Identifying ourselves as friends 14:54:12.840787 Response sent (56 bytes) and written to log/21/server.response 14:54:12.840800 special request received, no persistency 14:54:12.840810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 33884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1008 ==129265== ==129265== Process terminating with default action of signal 4 (SIGILL) ==129265== Illegal opcode at address 0x4014B6F ==129265== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129265== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129265== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129265== by 0x4004266: main (tool_main.c:199) === End of file valgrind1008 test 1009...[TFTP retrieve with --local-port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:43342//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 1009: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:43342//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 14:54:12.888274 trying to get file: verifiedserver mode 1 14:54:12.888305 Are-we-friendly question received 14:54:12.888321 write 14:54:12.888342 read 14:54:12.888915 read: 4 14:54:12.888982 end of one transfer === End of file tftp_server.log === Start of file valgrind1009 ==129383== ==129383== Process terminating with default action of signal 4 (SIGILL) ==129383== Illegal opcode at address 0x4014B6F ==129383== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129383== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129383== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129383== by 0x4004266: main (tool_main.c:199) === End of file valgrind1009 test 1011...[HTTP POST with 301 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:46041/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 1011: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:46041/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 === End of file commands.log === Start of file http_server.log 14:54:12.898490 ====> Client connect 14:54:12.898534 accept_connection 3 returned 4 14:54:12.898552 accept_connection 3 returned 0 14:54:12.898568 Read 93 bytes 14:54:12.898579 Process 93 bytes request 14:54:12.898596 Got request: GET /verifiedserver HTTP/1.1 14:54:12.898606 Are-we-friendly question received 14:54:12.898635 Wrote request (93 bytes) input to log/5/server.input 14:54:12.898653 Identifying ourselves as friends 14:54:12.898711 Response sent (56 bytes) and written to log/5/server.response 14:54:12.898722 special request received, no persistency 14:54:12.898732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 34292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1011 ==129426== ==129426== Process terminating with default action of signal 4 (SIGILL) ==129426== Illegal opcode at address 0x4014B6F ==129426== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129426== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129426== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129426== by 0x4004266: main (tool_main.c:199) === End of file valgrind1011 test 1006...[FTP with large number of command response lines (boundary condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1006 ../src/curl -q --output log/20/curl1006.out --include --trace-ascii log/20/trace1006 --trace-time ftp://127.0.0.1:36903/path/1006 > log/20/stdout1006 2> log/20/stderr1006 1006: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1006 ../src/curl -q --output log/20/curl1006.out --include --trace-ascii log/20/trace1006 --trace-time ftp://127.0.0.1:36903/path/1006 > log/20/stdout1006 2> log/20/stderr1006 === End of file commands.log === Start of file ftp_server.log 14:54:12.697666 ====> Client connect 14:54:12.697853 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.698122 < "USER anonymous" 14:54:12.698162 > "331 We are happy you popped in![CR][LF]" 14:54:12.698352 < "PASS ftp@example.com" 14:54:12.698385 > "230 Welcome you silly person[CR][LF]" 14:54:12.698571 < "PWD" 14:54:12.698607 > "257 "/" is current directory[CR][LF]" 14:54:12.698790 < "EPSV" 14:54:12.698819 ====> Passive DATA channel requested by client 14:54:12.698835 DATA sockfilt for passive data channel starting... 14:54:12.701041 DATA sockfilt for passive data channel started (pid 128952) 14:54:12.701163 DATA sockfilt for passive data channel listens on port 45181 14:54:12.701209 > "229 Entering Passive Mode (|||45181|)[LF]" 14:54:12.701228 Client has been notified that DATA conn will be accepted on port 45181 14:54:12.701450 Client connects to port 45181 14:54:12.701506 ====> Client established passive DATA connection on port 45181 14:54:12.701590 < "TYPE I" 14:54:12.701619 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:12.701777 < "SIZE verifiedserver" 14:54:12.701817 > "213 17[CR][LF]" 14:54:12.702024 < "RETR verifiedserver" 14:54:12.702066 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:12.702240 =====> Closing passive DATA connection... 14:54:12.702471 Server disconnects passive DATA connection 14:54:12.702502 Fancy that; client wants to DISC, too 14:54:12.702590 Server disconnected passive DATA connection 14:54:12.702617 DATA sockfilt for passive data channel quits (pid 128952) 14:54:12.702823 DATA sockfilt for passive data channel quit (pid 128952) 14:54:12.702850 =====> Closed passive DATA connection 14:54:12.702879 > "226 File transfer complete[CR][LF]" 14:54:12.747581 < "QUIT" 14:54:12.747632 > "221 bye bye baby[CR][LF]" 14:54:12.750014 MAIN sockfilt said DISC 14:54:12.750057 ====> Client disconnected 14:54:12.750119 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:12.780371 ====> Client connect 14:54:12.780687 Received DATA (on stdin) 14:54:12.780704 > 160 bytes data, server => client 14:54:12.780715 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:12.780725 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:12.780735 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:12.780795 < 16 bytes data, client => server 14:54:12.780806 'USER anonymous\r\n' 14:54:12.780975 Received DATA (on stdin) 14:54:12.780989 > 33 bytes data, server => client 14:54:12.781001 '331 We are happy you popped in!\r\n' 14:54:12.781056 < 22 bytes data, client => server 14:54:12.781070 'PASS ftp@example.com\r\n' 14:54:12.781202 Received DATA (on stdin) 14:54:12.781216 > 30 bytes data, server => client 14:54:12.781228 '230 Welcome you silly person\r\n' 14:54:12.781288 < 5 bytes data, client => server 14:54:12.781302 'PWD\r\n' 14:54:12.781421 Received DATA (on stdin) 14:54:12.781434 > 30 bytes data, server => client 14:54:12.781446 '257 "/" is current directory\r\n' 14:54:12.781507 < 6 bytes data, client => server 14:54:12.781521 'EPSV\r\n' 14:54:12.784064 Received DATA (on stdin) 14:54:12.784079 > 38 bytes data, server => client 14:54:12.784091 '229 Entering Passive Mode (|||45181|)\n' 14:54:12.784210 < 8 bytes data, client => server 14:54:12.784228 'TYPE I\r\n' 14:54:12.784412 Received DATA (on stdin) 14:54:12.784428 > 33 bytes data, server => client 14:54:12.784440 '200 I modify TYPE as you wanted\r\n' 14:54:12.784494 < 21 bytes data, client => server 14:54:12.784509 'SIZE verifiedserver\r\n' 14:54:12.784634 Received DATA (on stdin) 14:54:12.784647 > 8 bytes data, server => client 14:54:12.784658 '213 17\r\n' 14:54:12.784713 < 21 bytes data, client => server 14:54:12.784728 'RETR verifiedserver\r\n' 14:54:12.784891 Received DATA (on stdin) 14:54:12.784929 > 29 bytes data, server => client 14:54:12.784944 '150 Binary junk (17 bytes).\r\n' 14:54:12.785696 Received DATA (on stdin) 14:54:12.785711 > 28 bytes data, server => client 14:54:12.785724 '226 File transfer complete\r\n' 14:54:12.830225 < 6 bytes data, client => server 14:54:12.830252 'QUIT\r\n' 14:54:12.830593 Received DATA (on stdin) 14:54:12.830612 > 18 bytes data, server => client 14:54:12.830624 '221 bye bye baby\r\n' 14:54:12.832377 ====> Client disconnect 14:54:12.832933 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:12.783150 Running IPv4 version 14:54:12.783208 Listening on port 45181 14:54:12.783765 Wrote pid 128952 to log/20/server/ftp_sockdata.pid 14:54:12.783791 Received PING (on stdin) 14:54:12.783885 Received PORT (on stdin) 14:54:12.784208 ====> Client connect 14:54:12.785066 Received DATA (on stdin) 14:54:12.785084 > 17 bytes data, server => client 14:54:12.785096 'WE ROOLZ: 80341\r\n' 14:54:12.785195 ====> Client disconnect 14:54:12.785318 Received DISC (on stdin) 14:54:12.785330 Crikey! Client also wants to disconnect 14:54:12.785343 Received ACKD (on stdin) 14:54:12.785440 Received QUIT (on stdin) 14:54:12.785453 quits 14:54:12.785506 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1012 ../src/curl -q --output log/19/curl1012.out --include --trace-ascii log/19/trace1012 --trace-time http://127.0.0.1:33805/blah/1012 -L -d "moo" --post301 > log/19/stdout1012 2> log/19/stderr1012 50-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1006 === End of file server.cmd === Start of file valgrind1006 ==129358== ==129358== Process terminating with default action of signal 4 (SIGILL) ==129358== Illegal opcode at address 0x4014B6F ==129358== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129358== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129358== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129358== by 0x4004266: main (tool_main.c:199) === End of file valgrind1006 test 1012...[HTTP POST with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1012 ../src/curl -q --output log/19/curl1012.out --include --trace-ascii log/19/trace1012 --trace-time http://127.0.0.1:33805/blah/1012 -L -d "moo" --post301 > log/19/stdout1012 2> log/19/stderr1012 1012: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1012 ../src/curl -q --output log/19/curl1012.out --include --trace-ascii log/19/trace1012 --trace-time http://127.0.0.1:33805/blah/1012 -L -d "moo" --post301 > log/19/stdout1012 2> log/19/stderr1012 === End of file commands.log === Start of file http_server.log 14:54:11.901559 ====> Client connect 14:54:11.901585 accept_connection 3 returned 4 14:54:11.901602 accept_connection 3 returned 0 14:54:11.901617 Read 93 bytes 14:54:11.901628 Process 93 bytes request 14:54:11.901641 Got request: GET /verifiedserver HTTP/1.1 14:54:11.901651 Are-we-friendly question received 14:54:11.901677 Wrote request (93 bytes) input to log/19/server.input 14:54:11.901695 Identifying ourselves as friends 14:54:11.901748 Response sent (56 bytes) and written to log/19/server.response 14:54:11.901760 special request received, no persistency 14:54:11.901770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 43094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file htCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1010 ../src/curl -q --output log/24/curl1010.out --include --trace-ascii log/24/trace1010 --trace-time ftp://127.0.0.1:42919//list/this/path/1010/ ftp://127.0.0.1:42919//list/this/path/1010/ --ftp-method nocwd > log/24/stdout1010 2> log/24/stderr1010 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1013 ../src/curl -q --output log/17/curl1013.out --include --trace-ascii log/17/trace1013 --trace-time --version > log/17/stdout1013 2> log/17/stderr1013 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. Mismatch in protocols lists: curl: curl-config: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/17/stdout1013 protocols tp_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1012 ==129454== ==129454== Process terminating with default action of signal 4 (SIGILL) ==129454== Illegal opcode at address 0x4014B6F ==129454== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129454== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129454== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129454== by 0x4004266: main (tool_main.c:199) === End of file valgrind1012 test 1010...[FTP dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1010 ../src/curl -q --output log/24/curl1010.out --include --trace-ascii log/24/trace1010 --trace-time ftp://127.0.0.1:42919//list/this/path/1010/ ftp://127.0.0.1:42919//list/this/path/1010/ --ftp-method nocwd > log/24/stdout1010 2> log/24/stderr1010 1010: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1010 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1010 ../src/curl -q --output log/24/curl1010.out --include --trace-ascii log/24/trace1010 --trace-time ftp://127.0.0.1:42919//list/this/path/1010/ ftp://127.0.0.1:42919//list/this/path/1010/ --ftp-method nocwd > log/24/stdout1010 2> log/24/stderr1010 === End of file commands.log === Start of file ftp_server.log 14:54:12.811887 ====> Client connect 14:54:12.812041 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:12.812343 < "USER anonymous" 14:54:12.812384 > "331 We are happy you popped in![CR][LF]" 14:54:12.812576 < "PASS ftp@example.com" 14:54:12.812608 > "230 Welcome you silly person[CR][LF]" 14:54:12.812784 < "PWD" 14:54:12.812815 > "257 "/" is current directory[CR][LF]" 14:54:12.813005 < "EPSV" 14:54:12.813031 ====> Passive DATA channel requested by client 14:54:12.813046 DATA sockfilt for passive data channel starting... 14:54:12.815005 DATA sockfilt for passive data channel started (pid 129370) 14:54:12.815123 DATA sockfilt for passive data channel listens on port 40373 14:54:12.815168 > "229 Entering Passive Mode (|||40373|)[LF]" 14:54:12.815192 Client has been notified that DATA conn will be accepted on port 40373 14:54:12.815431 Client connects to port 40373 14:54:12.815462 ====> Client established passive DATA connection on port 40373 14:54:12.815542 < "TYPE I" 14:54:12.815574 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:12.815747 < "SIZE verifiedserver" 14:54:12.815784 > "213 17[CR][LF]" 14:54:12.815937 < "RETR verifiedserver" 14:54:12.815969 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:12.816047 =====> Closing passive DATA connection... 14:54:12.816062 Server disconnects passive DATA connection 14:54:12.816285 Server disconnected passive DATA connection 14:54:12.816318 DATA sockfilt for passive data channel quits (pid 129370) 14:54:12.816527 DATA sockfilt for passive data channel quit (pid 129370) 14:54:12.816555 =====> Closed passive DATA connection 14:54:12.816581 > "226 File transfer complete[CR][LF]" 14:54:12.860402 < "QUIT" 14:54:12.860459 > "221 bye bye baby[CR][LF]" 14:54:12.861308 MAIN sockfilt said DISC 14:54:12.861341 ====> Client disconnected 14:54:12.861418 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:12.894595 ====> Client connect 14:54:12.894872 Received DATA (on stdin) 14:54:12.894889 > 160 bytes data, server => client 14:54:12.894904 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:12.894917 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:12.894929 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:12.895008 < 16 bytes data, client => server 14:54:12.895024 'USER anonymous\r\n' 14:54:12.895205 Received DATA (on stdin) 14:54:12.895220 > 33 bytes data, server => client 14:54:12.895233 '331 We are happy you popped in!\r\n' 14:54:12.895290 < 22 bytes data, client => server 14:54:12.895305 'PASS ftp@example.com\r\n' 14:54:12.895424 Received DATA (on stdin) 14:54:12.895439 > 30 bytes data, server => client 14:54:12.895451 '230 Welcome you silly person\r\n' 14:54:12.895505 < 5 bytes data, client => server 14:54:12.895519 'PWD\r\n' 14:54:12.895630 Received DATA (on stdin) 14:54:12.895645 > 30 bytes data, server => client 14:54:12.895657 '257 "/" is current directory\r\n' 14:54:12.895722 < 6 bytes data, client => server 14:54:12.895738 'EPSV\r\n' 14:54:12.898013 Received DATA (on stdin) 14:54:12.898028 > 38 bytes data, server => client 14:54:12.898041 '229 Entering Passive Mode (|||40373|)\n' 14:54:12.898156 < 8 bytes data, client => server 14:54:12.898174 'TYPE I\r\n' 14:54:12.898390 Received DATA (on stdin) 14:54:12.898404 > 33 bytes data, server => client 14:54:12.898417 '200 I modify TYPE as you wanted\r\n' 14:54:12.898472 < 21 bytes data, client => server 14:54:12.898484 'SIZE verifiedserver\r\n' 14:54:12.898597 Received DATA (on stdin) 14:54:12.898609 > 8 bytes data, server => client 14:54:12.898621 '213 17\r\n' 14:54:12.898668 < 21 bytes data, client => server 14:54:12.898680 'RETR verifiedserver\r\n' 14:54:12.898875 Received DATA (on stdin) 14:54:12.898887 > 29 bytes data, server => client 14:54:12.898899 '150 Binary junk (17 bytes).\r\n' 14:54:12.899396 Received DATA (on stdin) 14:54:12.899410 > 28 bytes data, server => client 14:54:12.899423 '226 File transfer complete\r\n' 14:54:12.943012 < 6 bytes data, client => server 14:54:12.943045 'QUIT\r\n' 14:54:12.943280 Received DATA (on stdin) 14:54:12.943295 > 18 bytes data, server => client 14:54:12.943307 '221 bye bye baby\r\n' 14:54:12.944065 ====> Client disconnect 14:54:12.944234 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:12.897527 Running IPv4 version 14:54:12.897584 Listening on port 40373 14:54:12.897619 Wrote pid 129370 to log/24/server/ftp_sockdata.pid 14:54:12.897758 Received PING (on stdin) 14:54:12.897850 Received PORT (on stdin) 14:54:12.898197 ====> Client connect 14:54:12.898924 Received DATA (on stdin) 14:54:12.898938 > 17 bytes data, server => client 14:54:12.898949 'WE ROOLZ: 80263\r\n' 14:54:12.898972 Received DISC (on stdin) 14:54:12.898984 ====> Client forcibly disconnected 14:54:12.899141 Received QUIT (on stdin) 14:54:12.899156 quits 14:54:12.899209 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==129566== ==129566== Process terminating with default action of signal 4 (SIGILL) ==129566== Illegal opcode at address 0x4014B6F ==129566== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129566== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129566== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129566== by 0x4004266: main (tool_main.c:199) === End of file valgrind1010 test 1013...[Compare curl --version with curl-config --protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1013 ../src/curl -q --output log/17/curl1013.out --include --trace-ascii log/17/trace1013 --trace-time --version > log/17/stdout1013 2> log/17/stderr1013 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/17/stdout1013 protocols 1013: postcheck FAILED == Contents of files in CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:46043/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1014 ../src/curl -q --output log/22/curl1014.out --include --trace-ascii log/22/trace1014 --trace-time --version > log/22/stdout1014 2> log/22/stderr1014 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/22/stdout1014 features > log/22/result1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1016 ../src/curl -q --trace-ascii log/6/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/6/test1016.txt > log/6/stdout1016 2> log/6/stderr1016 the log/17/ dir after test 1013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1013 ../src/curl -q --output log/17/curl1013.out --include --trace-ascii log/17/trace1013 --trace-time --version > log/17/stdout1013 2> log/17/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==129596== ==129596== Process terminating with default action of signal 4 (SIGILL) ==129596== Illegal opcode at address 0x4014B6F ==129596== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129596== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129596== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129596== by 0x4004266: main (tool_main.c:199) === End of file valgrind1013 test 1015...[--data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:46043/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 1015: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1015 === Start of file 1015.txt content to _?!#$'|<> === End of file 1015.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:46043/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 === End of file commands.log === Start of file http_server.log 14:54:13.185033 ====> Client connect 14:54:13.185071 accept_connection 3 returned 4 14:54:13.185091 accept_connection 3 returned 0 14:54:13.185107 Read 93 bytes 14:54:13.185119 Process 93 bytes request 14:54:13.185134 Got request: GET /verifiedserver HTTP/1.1 14:54:13.185145 Are-we-friendly question received 14:54:13.185174 Wrote request (93 bytes) input to log/14/server.input 14:54:13.185193 Identifying ourselves as friends 14:54:13.185249 Response sent (56 bytes) and written to log/14/server.response 14:54:13.185261 special request received, no persistency 14:54:13.185272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 46194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1015 ==129744== ==129744== Process terminating with default action of signal 4 (SIGILL) ==129744== Illegal opcode at address 0x4014B6F ==129744== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129744== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129744== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129744== by 0x4004266: main (tool_main.c:199) === End of file valgrind1015 test 1014...[Compare curl --version with curl-config --features] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1014 ../src/curl -q --output log/22/curl1014.out --include --trace-ascii log/22/trace1014 --trace-time --version > log/22/stdout1014 2> log/22/stderr1014 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/22/stdout1014 features > log/22/result1014 1014: postcheck FAILED == Contents of files in the log/22/ dir after test 1014 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1014 ../src/curl -q --output log/22/curl1014.out --include --trace-ascii log/22/trace1014 --trace-time --version > log/22/stdout1014 2> log/22/stderr1014 === End of file commands.log === Start of file result1014 Mismatch in features lists: curl: curl-config: AsynchDNS GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc brotli libz threadsafe zstd === End of file result1014 === Start of file server.cmd Testnum 1014 === End of file server.cmd === Start of file valgrind1014 ==129708== ==129708== Process terminating with default action of signal 4 (SIGILL) ==129708== Illegal opcode at address 0x4014B6F ==129708== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129708== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129708== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129708== by 0x4004266: main (tool_main.c:199) === End of file valgrind1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1018 ../src/curl -q --trace-ascii log/4/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/4/test1018.txt > log/4/stdout1018 2> log/4/stderr1018 test 1016...[X-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1016 ../src/curl -q --trace-ascii log/6/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/6/test1016.txt > log/6/stdout1016 2> log/6/stderr1016 1016: stdout FAILED: --- log/6/check-expected 2025-09-11 14:54:14.318864615 +0000 +++ log/6/check-generated 2025-09-11 14:54:14.318864615 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/6/ dir after test 1016 === Start of file check-expected 2345 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1016 ../src/curl -q --trace-ascii log/6/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/6/test1016.txt > log/6/stdout1016 2> log/6/stderr1016 === End of file commands.log === Start of file server.cmd Testnum 1016 === End of file server.cmd === Start of file test1016.txt 1234567890 === End of file test1016.txt === Start of file valgrind1016 ==129842== ==129842== Process terminating with default action of signal 4 (SIGILL) ==129842== Illegal opcode at address 0x4014B6F ==129842== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129842== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129842== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129842== by 0x4004266: main (tool_main.c:199) === End of file valgrind1016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1017 ../src/curl -q --trace-ascii log/23/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/23/test1017.txt > log/23/stdout1017 2> log/23/stderr1017 test 1018...[X-X range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1018 ../src/curl -q --trace-ascii log/4/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/4/test1018.txt > log/4/stdout1018 2> log/4/stderr1018 1018: stdout FAILED: --- log/4/check-expected 2025-09-11 14:54:14.508864617 +0000 +++ log/4/check-generated 2025-09-11 14:54:14.508864617 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/4/ dir after test 1018 === Start of file check-expected 5 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1018 ../src/curl -q --trace-ascii log/4/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/4/test1018.txt > log/4/stdout1018 2> log/4/stderr1018 === End of file commands.log === Start of file server.cmd Testnum 1018 === End of file server.cmd === Start of file test1018.txt 1234567890 === End of file test1018.txt === Start of file valgrind1018 ==129915== ==129915== Process terminating with default action of signal 4 (SIGILL) ==129915== Illegal opcode at address 0x4014B6F ==129915== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129915== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129915== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129915== by 0x4004266: main (tool_main.c:199) === End of file valgrind1018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1019 ../src/curl -q --trace-ascii log/13/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/13/test1019.txt > log/13/stdout1019 2> log/13/stderr1019 test 1017...[0-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1017 ../src/curl -q --trace-ascii log/23/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/23/test1017.txt > log/23/stdout1017 2> log/23/stderr1017 1017: stdout FAILED: --- log/23/check-expected 2025-09-11 14:54:14.535531284 +0000 +++ log/23/check-generated 2025-09-11 14:54:14.535531284 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/23/ dir after test 1017 === Start of file check-expected 1234 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1017 ../src/curl -q --trace-ascii log/23/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/23/test1017.txt > log/23/stdout1017 2> log/23/stderr1017 === End of file commands.log === Start of file server.cmd Testnum 1017 === End of file server.cmd === Start of file test1017.txt 1234567890 === End of file test1017.txt === Start of file valgrind1017 ==129912== ==129912== Process terminating with default action of signal 4 (SIGILL) ==129912== Illegal opcode at address 0x4014B6F ==129912== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129912== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129912== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129912== by 0x4004266: main (tool_main.c:199) === End of file valgrind1017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1023 ../src/curl -q --output log/2/curl1023.out --include --trace-ascii log/2/trace1023 --trace-time --version > log/2/stdout1023 2> log/2/stderr1023 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in substitution (s///) at /startdir/src/curl/tests/libtest/test1022.pl line 69, line 1. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.16.0 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/2/stdout1023 vernum CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1022 ../src/curl -q --output log/7/curl1022.out --include --trace-ascii log/7/trace1022 --trace-time --version > log/7/stdout1022 2> log/7/stderr1022 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 test 1019...[X- range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1019 ../src/curl -q --trace-ascii log/13/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/13/test1019.txt > log/13/stdout1019 2> log/13/stderr1019 1019: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:14.552197951 +0000 +++ log/13/check-generated 2025-09-11 14:54:14.548864617 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/13/ dir after test 1019 === Start of file check-expected 890[LF] 1234567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1019 ../src/curl -q --trace-ascii log/13/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/13/test1019.txt > log/13/stdout1019 2> log/13/stderr1019 === End of file commands.log === Start of file server.cmd Testnum 1019 === End of file server.cmd === Start of file test1019.txt 1234567890 1234567890 === End of file test1019.txt === Start of file valgrind1019 ==129974== ==129974== Process terminating with default action of signal 4 (SIGILL) ==129974== Illegal opcode at address 0x4014B6F ==129974== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129974== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129974== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129974== by 0x4004266: main (tool_main.c:199) === End of file valgrind1019 test 1023...[Compare curl --version with curl-config --vernum] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1023 ../src/curl -q --output log/2/curl1023.out --include --trace-ascii log/2/trace1023 --trace-time --version > log/2/stdout1023 2> log/2/stderr1023 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/2/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/2/ dir after test 1023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1023 ../src/curl -q --output log/2/curl1023.out --include --trace-ascii log/2/trace1023 --trace-time --version > log/2/stdout1023 2> log/2/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==130074== ==130074== Process terminating with default action of signal 4 (SIGILL) ==130074== Illegal opcode at address 0x4014B6F ==130074== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130074== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130074== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130074== by 0x4004266: main (tool_main.c:199) === End of file valgrind1023 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.16.0 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/7/stdout1022 version CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1021 ../src/curl -q --output log/15/curl1021.out --include --trace-ascii log/15/trace1021 --trace-time http://test.remote.example.com.1021:42107/path/10210002 --proxy http://127.0.0.1:42107 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/15/stdout1021 2> log/15/stderr1021 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1024 ../src/curl -q --output log/12/curl1024.out --include --trace-ascii log/12/trace1024 --trace-time http://127.0.0.1:43359/want/1024 -L -c log/12/jar1024 > log/12/stdout1024 2> log/12/stderr1024 test 1020...[-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 1020: stdout FAILED: --- log/10/check-expected 2025-09-11 14:54:14.568864619 +0000 +++ log/10/check-generated 2025-09-11 14:54:14.568864619 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/10/ dir after test 1020 === Start of file check-expected 34567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 === End of file commands.log === Start of file server.cmd Testnum 1020 === End of file server.cmd === Start of file test1020.txt 1234567890 1234567890 === End of file test1020.txt === Start of file valgrind1020 ==129975== ==129975== Process terminating with default action of signal 4 (SIGILL) ==129975== Illegal opcode at address 0x4014B6F ==129975== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==129975== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==129975== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==129975== by 0x4004266: main (tool_main.c:199) === End of file valgrind1020 test 1022...[Compare curl --version with curl-config --version] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1022 ../src/curl -q --output log/7/curl1022.out --include --trace-ascii log/7/trace1022 --trace-time --version > log/7/stdout1022 2> log/7/stderr1022 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/7/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/7/ dir after test 1022 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1022 ../src/curl -q --output log/7/curl1022.out --include --trace-ascii log/7/trace1022 --trace-time --version > log/7/stdout1022 2> log/7/stderr1022 === End of file commands.log === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==130039== ==130039== Process terminating with default action of signal 4 (SIGILL) ==130039== Illegal opcode at address 0x4014B6F ==130039== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130039== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130039== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130039== by 0x4004266: main (tool_main.c:199) === End of file valgrind1022 test 1021...[HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1021 ../src/curl -q --output log/15/curl1021.out --include --trace-ascii log/15/trace1021 --trace-time http://test.remote.example.com.1021:42107/path/10210002 --proxy http://127.0.0.1:42107 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/15/stdout1021 2> log/15/stderr1021 1021: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1021 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1021 ../src/curl -q --output log/15/curl1021.out --include --trace-ascii log/15/trace1021 --trace-time http://test.remote.example.com.1021:42107/path/10210002 --proxy http://127.0.0.1:42107 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/15/stdout1021 2> log/15/stderr1021 === End of file commands.log === Start of file http_server.log 14:54:13.601234 ====> Client connect 14:54:13.601278 accept_connection 3 returned 4 14:54:13.601296 accept_connection 3 returned 0 14:54:13.601312 Read 93 bytes 14:54:13.601324 Process 93 bytes request 14:54:13.601338 Got request: GET /verifiedserver HTTP/1.1 14:54:13.601349 Are-we-friendly question received 14:54:13.601376 Wrote request (93 bytes) input to log/15/server.input 14:54:13.601394 Identifying ourselves as friends 14:54:13.601452 Response sent (56 bytes) and written to log/15/server.response 14:54:13.601464 special request received, no persistency 14:54:13.601474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 43740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1021 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1021 ==130115== ==130115== Process terminating with default action of signal 4 (SIGILL) ==130115== Illegal opcode at address 0x4014B6F ==130115== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130115== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130115== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130115== by 0x4004266: main (tool_main.c:199) === End of file valgrind1021 test 1024...[HTTP Location: following with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1024 ../src/curl -q --output log/12/curl1024.out --include --trace-ascii log/12/trace1024 --trace-time http://127.0.0.1:43359/want/1024 -L -c log/12/jar1024 > log/12/stdout1024 2> log/12/stderr1024 1024: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1024 ../src/curl -q --output log/12/curl1024.out --include --trace-ascii log/12/trace1024 --trace-time http://127.0.0.1:43359/want/1024 -L -c log/12/jar1024 > log/12/stdout1024 2> log/12/stderr1024 === End of file commands.log === Start of file http_server.log 14:54:13.672671 ====> Client connect 14:54:13.672713 accept_connection 3 returned 4 14:54:13.672732 accept_connection 3 returned 0 14:54:13.672749 Read 93 bytes 14:54:13.672760 Process 93 bytes request 14:54:13.672775 Got request: GET /verifiedserver HTTP/1.1 14:54:13.672786 Are-we-friendly question received 14:54:13.672812 Wrote request (93 bytes) input to log/12/server.input 14:54:13.672830 Identifying ourselves as friends 14:54:13.672894 Response sent (56 bytes) and written to log/12/server.response 14:54:13.672905 special request received, no persistency 14:54:13.672916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1027 ../src/curl -q --output log/11/curl1027.out --include --trace-ascii log/11/trace1027 --trace-time --help > log/11/stdout1027 2> log/11/stderr1027 CMD (256): /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/11/stdout1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1028 ../src/curl -q --include --trace-ascii log/3/trace1028 --trace-time http://127.0.0.1:46791/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 3359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 35342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1024 ==130275== ==130275== Process terminating with default action of signal 4 (SIGILL) ==130275== Illegal opcode at address 0x4014B6F ==130275== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130275== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130275== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130275== by 0x4004266: main (tool_main.c:199) === End of file valgrind1024 test 1027...[curl --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1027 ../src/curl -q --output log/11/curl1027.out --include --trace-ascii log/11/trace1027 --trace-time --help > log/11/stdout1027 2> log/11/stderr1027 postcheck /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/11/stdout1027 1027: postcheck FAILED == Contents of files in the log/11/ dir after test 1027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1027 ../src/curl -q --output log/11/curl1027.out --include --trace-ascii log/11/trace1027 --trace-time --help > log/11/stdout1027 2> log/11/stderr1027 === End of file commands.log === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==130350== ==130350== Process terminating with default action of signal 4 (SIGILL) ==130350== Illegal opcode at address 0x4014B6F ==130350== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130350== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130350== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130350== by 0x4004266: main (tool_main.c:199) === End of file valgrind1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1025 ../src/curl -q --output log/8/curl1025.out --include --trace-ascii log/8/trace1025 --trace-time http://127.0.0.1:37085/want/1025 -L -c log/8/jar1025 -b forcedcookie=yes > log/8/stdout1025 2> log/8/stderr1025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1029 ../src/curl -q --include --trace-ascii log/9/trace1029 --trace-time http://127.0.0.1:34345/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/9/stdout1029 2> log/9/stderr1029 test 1028...[HTTP Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1028 ../src/curl -q --include --trace-ascii log/3/trace1028 --trace-time http://127.0.0.1:46791/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 1028: stdout FAILED: --- log/3/check-expected 2025-09-11 14:54:14.792197954 +0000 +++ log/3/check-generated 2025-09-11 14:54:14.792197954 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake swsclose[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Location: ftp://127.0.0.1:37155/10280002[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/3/ dir after test 1028 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake swsclose[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Location: ftp://127.0.0.1:37155/10280002[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1028 ../src/curl -q --include --trace-ascii log/3/trace1028 --trace-time http://127.0.0.1:46791/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 === End of file commands.log === Start of file ftp_server.log 14:54:13.753136 ====> Client connect 14:54:13.753285 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:13.753598 < "USER anonymous" 14:54:13.753646 > "331 We are happy you popped in![CR][LF]" 14:54:13.753856 < "PASS ftp@example.com" 14:54:13.753896 > "230 Welcome you silly person[CR][LF]" 14:54:13.754128 < "PWD" 14:54:13.754162 > "257 "/" is current directory[CR][LF]" 14:54:13.754369 < "EPSV" 14:54:13.754460 ====> Passive DATA channel requested by client 14:54:13.754481 DATA sockfilt for passive data channel starting... 14:54:13.762807 DATA sockfilt for passive data channel started (pid 130445) 14:54:13.762934 DATA sockfilt for passive data channel listens on port 37181 14:54:13.762981 > "229 Entering Passive Mode (|||37181|)[LF]" 14:54:13.763005 Client has been notified that DATA conn will be accepted on port 37181 14:54:13.763320 Client connects to port 37181 14:54:13.763351 ====> Client established passive DATA connection on port 37181 14:54:13.763439 < "TYPE I" 14:54:13.763473 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:13.766189 < "SIZE verifiedserver" 14:54:13.766232 > "213 17[CR][LF]" 14:54:13.766988 < "RETR verifiedserver" 14:54:13.767025 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:13.767116 =====> Closing passive DATA connection... 14:54:13.767137 Server disconnects passive DATA connection 14:54:13.767268 Server disconnected passive DATA connection 14:54:13.767292 DATA sockfilt for passive data channel quits (pid 130445) 14:54:13.767596 DATA sockfilt for passive data channel quit (pid 130445) 14:54:13.767623 =====> Closed passive DATA connection 14:54:13.767653 > "226 File transfer complete[CR][LF]" 14:54:13.811045 < "QUIT" 14:54:13.811103 > "221 bye bye baby[CR][LF]" 14:54:13.812551 MAIN sockfilt said DISC 14:54:13.812598 ====> Client disconnected 14:54:13.812662 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:13.835846 ====> Client connect 14:54:13.836114 Received DATA (on stdin) 14:54:13.836133 > 160 bytes data, server => client 14:54:13.836147 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:13.836159 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:13.836171 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:13.836255 < 16 bytes data, client => server 14:54:13.836273 'USER anonymous\r\n' 14:54:13.836466 Received DATA (on stdin) 14:54:13.836480 > 33 bytes data, server => client 14:54:13.836493 '331 We are happy you popped in!\r\n' 14:54:13.836553 < 22 bytes data, client => server 14:54:13.836568 'PASS ftp@example.com\r\n' 14:54:13.836713 Received DATA (on stdin) 14:54:13.836727 > 30 bytes data, server => client 14:54:13.836739 '230 Welcome you silly person\r\n' 14:54:13.836795 < 5 bytes data, client => server 14:54:13.836808 'PWD\r\n' 14:54:13.836977 Received DATA (on stdin) 14:54:13.836991 > 30 bytes data, server => client 14:54:13.837003 '257 "/" is current directory\r\n' 14:54:13.837084 < 6 bytes data, client => server 14:54:13.837099 'EPSV\r\n' 14:54:13.845841 Received DATA (on stdin) 14:54:13.845859 > 38 bytes data, server => client 14:54:13.845872 '229 Entering Passive Mode (|||37181|)\n' 14:54:13.846031 < 8 bytes data, client => server 14:54:13.846047 'TYPE I\r\n' 14:54:13.846292 Received DATA (on stdin) 14:54:13.846306 > 33 bytes data, server => client 14:54:13.846320 '200 I modify TYPE as you wanted\r\n' 14:54:13.848892 < 21 bytes data, client => server 14:54:13.848913 'SIZE verifiedserver\r\n' 14:54:13.849048 Received DATA (on stdin) 14:54:13.849066 > 8 bytes data, server => client 14:54:13.849078 '213 17\r\n' 14:54:13.849695 < 21 bytes data, client => server 14:54:13.849717 'RETR verifiedserver\r\n' 14:54:13.849953 Received DATA (on stdin) 14:54:13.849967 > 29 bytes data, server => client 14:54:13.849980 '150 Binary junk (17 bytes).\r\n' 14:54:13.853004 Received DATA (on stdin) 14:54:13.853026 > 28 bytes data, server => client 14:54:13.853038 '226 File transfer complete\r\n' 14:54:13.893682 < 6 bytes data, client => server 14:54:13.893711 'QUIT\r\n' 14:54:13.893924 Received DATA (on stdin) 14:54:13.893939 > 18 bytes data, server => client 14:54:13.893951 '221 bye bye baby\r\n' 14:54:13.894822 ====> Client disconnect 14:54:13.895479 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:13.844454 Running IPv4 version 14:54:13.844517 Listening on port 37181 14:54:13.844557 Wrote pid 130445 to log/3/server/ftp_sockdata.pid 14:54:13.845555 Received PING (on stdin) 14:54:13.845655 Received PORT (on stdin) 14:54:13.846069 ====> Client connect 14:54:13.849961 Received DATA (on stdin) 14:54:13.849976 > 17 bytes data, server => client 14:54:13.849988 'WE ROOLZ: 80281\r\n' 14:54:13.850014 Received DISC (on stdin) 14:54:13.850029 ====> Client forcibly disconnected 14:54:13.850122 Received QUIT (on stdin) 14:54:13.850136 quits 14:54:13.850187 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:13.813195 ====> Client connect 14:54:13.813240 accept_connection 3 returned 4 14:54:13.813261 accept_connection 3 returned 0 14:54:13.813278 Read 93 bytes 14:54:13.813292 Process 93 bytes request 14:54:13.813307 Got request: GET /verifiedserver HTTP/1.1 14:54:13.813320 Are-we-friendly question received 14:54:13.813352 Wrote request (93 bytes) input to log/3/server.input 14:54:13.813373 Identifying ourselves as friends 14:54:13.813438 Response sent (56 bytes) and written to log/3/server.response 14:54:13.813451 special request received, no persistency 14:54:13.813461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 34480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1028 ==130910== ==130910== Process terminating with default action of signal 4 (SIGILL) ==130910== Illegal opcode at address 0x4014B6F ==130910== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130910== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130910== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130910== by 0x4004266: main (tool_main.c:199) === End of file valgrind1028 test 1025...[HTTP Location: following with command-line and server cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1025 ../src/curl -q --output log/8/curl1025.out --include --trace-ascii log/8/trace1025 --trace-time http://127.0.0.1:37085/want/1025 -L -c log/8/jar1025 -b forcedcookie=yes > log/8/stdout1025 2> log/8/stderr1025 1025: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1025 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1025 ../src/curl -q --output log/8/curl1025.out --include --trace-ascii log/8/trace1025 --trace-time http://127.0.0.1:37085/want/1025 -L -c log/8/jar1025 -b forcedcookie=yes > log/8/stdout1025 2> log/8/stderr1025 === End of file commands.log === Start of file http_server.log 14:54:12.812961 ====> Client connect 14:54:12.813014 accept_connection 3 returned 4 14:54:12.813033 accept_connection 3 returned 0 14:54:12.813049 Read 93 bytes 14:54:12.813060 Process 93 bytes request 14:54:12.813077 Got request: GET /verifiedserver HTTP/1.1 14:54:12.813087 Are-we-friendly question received 14:54:12.813125 Wrote request (93 bytes) input to log/8/server.input 14:54:12.813145 Identifying ourselves as friends 14:54:12.813199 Response sent (56 bytes) and written to log/8/server.response 14:54:12.813211 special request received, no persistency 14:54:12.813221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 59174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1025 ==130436== ==130436== Process terminating with default action of signal 4 (SIGILL) ==130436== Illegal opcode at address 0x4014B6F ==130436== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130436== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130436== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130436== by 0x4004266: main (tool_main.c:199) === End of file valgrind1025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1030 ../src/curl -q --output log/1/curl1030.out --include --trace-ascii log/1/trace1030 --trace-time http://127.0.0.1:44029/1030 -T log/1/put1030 -u testuser:testpass --anyauth > log/1/stdout1030 2> log/1/stderr1030 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:34475/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 test 1029...[HTTP Location: and 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1029 ../src/curl -q --include --trace-ascii log/9/trace1029 --trace-time http://127.0.0.1:34345/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/9/stdout1029 2> log/9/stderr1029 1029: stdout FAILED: --- log/9/check-expected 2025-09-11 14:54:14.802197955 +0000 +++ log/9/check-generated 2025-09-11 14:54:14.802197955 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:34345/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:34345/we/want/our/1029 0 [LF] == Contents of files in the log/9/ dir after test 1029 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:34345/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:34345/we/want/our/1029 0 [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1029 ../src/curl -q --include --trace-ascii log/9/trace1029 --trace-time http://127.0.0.1:34345/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/9/stdout1029 2> log/9/stderr1029 === End of file commands.log === Start of file http_server.log 14:54:13.813874 ====> Client connect 14:54:13.813912 accept_connection 3 returned 4 14:54:13.813930 accept_connection 3 returned 0 14:54:13.813946 Read 93 bytes 14:54:13.813958 Process 93 bytes request 14:54:13.813970 Got request: GET /verifiedserver HTTP/1.1 14:54:13.813981 Are-we-friendly question received 14:54:13.814009 Wrote request (93 bytes) input to log/9/server.input 14:54:13.814028 Identifying ourselves as friends 14:54:13.814088 Response sent (56 bytes) and written to log/9/server.response 14:54:13.814101 special request received, no persistency 14:54:13.814111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 60522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1029 ==130423== ==130423== Process terminating with default action of signal 4 (SIGILL) ==130423== Illegal opcode at address 0x4014B6F ==130423== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130423== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130423== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130423== by 0x4004266: main (tool_main.c:199) === End of file valgrind1029 test 1030...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1030 ../src/curl -q --output log/1/curl1030.out --include --trace-ascii log/1/trace1030 --trace-time http://127.0.0.1:44029/1030 -T log/1/put1030 -u testuser:testpass --anyauth > log/1/stdout1030 2> log/1/stderr1030 1030: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1030 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1030 ../src/curl -q --output log/1/curl1030.out --include --trace-ascii log/1/trace1030 --trace-time http://127.0.0.1:44029/1030 -T log/1/put1030 -u testuser:testpass --anyauth > log/1/stdout1030 2> log/1/stderr1030 === End of file commands.log === Start of file http_server.log 14:54:13.855438 ====> Client connect 14:54:13.855470 accept_connection 3 returned 4 14:54:13.855488 accept_connection 3 returned 0 14:54:13.855504 Read 93 bytes 14:54:13.855515 Process 93 bytes request 14:54:13.855531 Got request: GET /verifiedserver HTTP/1.1 14:54:13.855542 Are-we-friendly question received 14:54:13.855566 Wrote request (93 bytes) input to log/1/server.input 14:54:13.855586 Identifying ourselves as friends 14:54:13.855641 Response sent (56 bytes) and written to log/1/server.response 14:54:13.855653 special request received, no persistency 14:54:13.855663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 59446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file put1030 This is data we upload with PUT a second line line three four is the number of lines === End of file put1030 === Start of file server.cmd Testnum 1030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1030 ==130553== ==130553== Process terminating with default action of signal 4 (SIGILL) ==130553== Illegal opcode at address 0x4014B6F ==130553== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130553== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130553== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130553== by 0x4004266: main (tool_main.c:199) === End of file valgrind1030 setenv LC_ALL = C.UTF-8 test 1034...[HTTP over proxy with malformatted IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/5/ dir after test 1034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 === End of file commands.log === Start of file server.cmd Testnum 1034 === End of file server.cmd === Start of file stdin-for-1034 url = "http://invalid-utf8-.local/page/1034" === End of file stdin-for-1034 === Start of file valgrind1034 ==130695== ==130695== Process terminating with default action of signal 4 (SIGILL) ==130695== Illegal opcode at address 0xCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1035 ../src/curl -q --output log/20/curl1035.out --include --trace-ascii log/20/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/20/stdout1035 2> log/20/stderr1035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1032 ../src/curl -q --output log/21/curl1032.out --include --trace-ascii log/21/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34037/1032 > log/21/stdout1032 2> log/21/stderr1032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:43297/1033 > log/18/stdout1033 2> log/18/stderr1033 4014B6F ==130695== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130695== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130695== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130695== by 0x4004266: main (tool_main.c:199) === End of file valgrind1034 test 1031...[HTTP Location: following to a query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:34475/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 1031: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:34475/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 === End of file commands.log === Start of file http_server.log 14:54:13.866037 ====> Client connect 14:54:13.866074 accept_connection 3 returned 4 14:54:13.866093 accept_connection 3 returned 0 14:54:13.866242 Read 93 bytes 14:54:13.866257 Process 93 bytes request 14:54:13.866273 Got request: GET /verifiedserver HTTP/1.1 14:54:13.866284 Are-we-friendly question received 14:54:13.866350 Wrote request (93 bytes) input to log/16/server.input 14:54:13.866371 Identifying ourselves as friends 14:54:13.866429 Response sent (56 bytes) and written to log/16/server.response 14:54:13.866441 special request received, no persistency 14:54:13.866452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 48206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1031 ==130580== ==130580== Process terminating with default action of signal 4 (SIGILL) ==130580== Illegal opcode at address 0x4014B6F ==130580== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130580== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130580== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130580== by 0x4004266: main (tool_main.c:199) === End of file valgrind1031 setenv LC_ALL = C.UTF-8 test 1035...[HTTP over proxy with too long IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1035 ../src/curl -q --output log/20/curl1035.out --include --trace-ascii log/20/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/20/stdout1035 2> log/20/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/20/ dir after test 1035 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1035 ../src/curl -q --output log/20/curl1035.out --include --trace-ascii log/20/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/20/stdout1035 2> log/20/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==130702== ==130702== Process terminating with default action of signal 4 (SIGILL) ==130702== Illegal opcode at address 0x4014B6F ==130702== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130702== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130702== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130702== by 0x4004266: main (tool_main.c:199) === End of file valgrind1035 test 1032...[HTTP HEAD with --range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1032 ../src/curl -q --output log/21/curl1032.out --include --trace-ascii log/21/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34037/1032 > log/21/stdout1032 2> log/21/stderr1032 1032: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1032 ../src/curl -q --output log/21/curl1032.out --include --trace-ascii log/21/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34037/1032 > log/21/stdout1032 2> log/21/stderr1032 === End of file commands.log === Start of file http_server.log 14:54:13.878003 ====> Client connect 14:54:13.878038 accept_connection 3 returned 4 14:54:13.878057 accept_connection 3 returned 0 14:54:13.878208 Read 93 bytes 14:54:13.878222 Process 93 bytes request 14:54:13.878237 Got request: GET /verifiedserver HTTP/1.1 14:54:13.878248 Are-we-friendly question received 14:54:13.878278 Wrote request (93 bytes) input to log/21/server.input 14:54:13.878297 Identifying ourselves as friends 14:54:13.878359 Response sent (56 bytes) and written to log/21/server.response 14:54:13.878371 special request received, no persistency 14:54:13.878382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 33892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1032 ==130621== ==130621== Process terminating with default action of signal 4 (SIGILL) ==130621== Illegal opcode at address 0x4014B6F ==130621== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130621== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130621== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130621== by 0x4004266: main (tool_main.c:199) === End of file valgrind1032 test 1033...[HTTP GET with 102 response!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:43297/1033 > log/18/stdout1033 2> log/18/stderr1033 1033: protocol FAILED! There was no content at all in tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1036 ../src/curl -q --output log/19/curl1036.out --include --trace-ascii log/19/trace1036 --trace-time ftp://127.0.0.1:46729/1036 -C - > log/19/stdout1036 2> log/19/stderr1036 he file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1033 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:43297/1033 > log/18/stdout1033 2> log/18/stderr1033 === End of file commands.log === Start of file http_server.log 14:54:13.887247 ====> Client connect 14:54:13.887285 accept_connection 3 returned 4 14:54:13.887305 accept_connection 3 returned 0 14:54:13.887321 Read 93 bytes 14:54:13.887333 Process 93 bytes request 14:54:13.887347 Got request: GET /verifiedserver HTTP/1.1 14:54:13.887359 Are-we-friendly question received 14:54:13.887387 Wrote request (93 bytes) input to log/18/server.input 14:54:13.887406 Identifying ourselves as friends 14:54:13.887467 Response sent (56 bytes) and written to log/18/server.response 14:54:13.887480 special request received, no persistency 14:54:13.887491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 55624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1033 ==130656== ==130656== Process terminating with default action of signal 4 (SIGILL) ==130656== Illegal opcode at address 0x4014B6F ==130656== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130656== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130656== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130656== by 0x4004266: main (tool_main.c:199) === End of file valgrind1033 test 1036...[FTP download resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1036 ../src/curl -q --output log/19/curl1036.out --include --trace-ascii log/19/trace1036 --trace-time ftp://127.0.0.1:46729/1036 -C - > log/19/stdout1036 2> log/19/stderr1036 1036: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1036 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1036 ../src/curl -q --output log/19/curl1036.out --include --trace-ascii log/19/trace1036 --trace-time ftp://127.0.0.1:46729/1036 -C - > log/19/stdout1036 2> log/19/stderr1036 === End of file commands.log === Start of file curl1036.out This is the start! === End of file curl1036.out === Start of file ftp_server.log 14:54:13.867559 ====> Client connect 14:54:13.867770 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:13.868104 < "USER anonymous" 14:54:13.868142 > "331 We are happy you popped in![CR][LF]" 14:54:13.868314 < "PASS ftp@example.com" 14:54:13.868344 > "230 Welcome you silly person[CR][LF]" 14:54:13.868526 < "PWD" 14:54:13.868577 > "257 "/" is current directory[CR][LF]" 14:54:13.868745 < "EPSV" 14:54:13.868775 ====> Passive DATA channel requested by client 14:54:13.868790 DATA sockfilt for passive data channel starting... 14:54:13.870804 DATA sockfilt for passive data channel started (pid 130892) 14:54:13.870945 DATA sockfilt for passive data channel listens on port 43167 14:54:13.871059 > "229 Entering Passive Mode (|||43167|)[LF]" 14:54:13.871078 Client has been notified that DATA conn will be accepted on port 43167 14:54:13.872418 Client connects to port 43167 14:54:13.872451 ====> Client established passive DATA connection on port 43167 14:54:13.872533 < "TYPE I" 14:54:13.872564 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:13.872721 < "SIZE verifiedserver" 14:54:13.872755 > "213 17[CR][LF]" 14:54:13.872900 < "RETR verifiedserver" 14:54:13.872929 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:13.873012 =====> Closing passive DATA connection... 14:54:13.873027 Server disconnects passive DATA connection 14:54:13.873263 Server disconnected passive DATA connection 14:54:13.873288 DATA sockfilt for passive data channel quits (pid 130892) 14:54:13.873544 DATA sockfilt for passive data channel quit (pid 130892) 14:54:13.873569 =====> Closed passive DATA connection 14:54:13.873596 > "226 File transfer complete[CR][LF]" 14:54:13.917844 < "QUIT" 14:54:13.917902 > "221 bye bye baby[CR][LF]" 14:54:13.918864 MAIN sockfilt said DISC 14:54:13.918895 ====> Client disconnected 14:54:13.918982 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:13.950252 ====> Client connect 14:54:13.950604 Received DATA (on stdin) 14:54:13.950620 > 160 bytes data, server => client 14:54:13.950633 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:13.950646 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:13.950657 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:13.950733 < 16 bytes data, client => server 14:54:13.950745 'USER anonymous\r\n' 14:54:13.950958 Received DATA (on stdin) 14:54:13.950972 > 33 bytes data, server => client 14:54:13.950984 '331 We are happy you popped in!\r\n' 14:54:13.951034 < 22 bytes data, client => server 14:54:13.951046 'PASS ftp@example.com\r\n' 14:54:13.951185 Received DATA (on stdin) 14:54:13.951198 > 30 bytes data, server => client 14:54:13.951209 '230 Welcome you silly person\r\n' 14:54:13.951256 < 5 bytes data, client => server 14:54:13.951267 'PWD\r\n' 14:54:13.951391 Received DATA (on stdin) 14:54:13.951404 > 30 bytes data, server => client 14:54:13.951416 '257 "/" is current directory\r\n' 14:54:13.951472 < 6 bytes data, client => server 14:54:13.951488 'EPSV\r\n' 14:54:13.954929 Received DATA (on stdin) 14:54:13.954953 > 38 bytes data, server => client 14:54:13.954967 '229 Entering Passive Mode (|||43167|)\n' 14:54:13.955166 < 8 bytes data, client => server 14:54:13.955179 'TYPE I\r\n' 14:54:13.955379 Received DATA (on stdin) 14:54:13.955392 > 33 bytes data, server => client 14:54:13.955404 '200 I modify TYPE as you wanted\r\n' 14:54:13.955453 < 21 bytes data, client => server 14:54:13.955465 'SIZE verifiedserver\r\n' 14:54:13.955567 Received DATA (on stdin) 14:54:13.955579 > 8 bytes data, server => client 14:54:13.955591 '213 17\r\n' 14:54:13.955635 < 21 bytes data, client => server 14:54:13.955647 'RETR verifiedserver\r\n' 14:54:13.955842 Received DATA (on stdin) 14:54:13.955855 > 29 bytes data, server => client 14:54:13.955866 '150 Binary junk (17 bytes).\r\n' 14:54:13.956410 Received DATA (on stdin) 14:54:13.956424 > 28 bytes data, server => client 14:54:13.956436 '226 File transfer complete\r\n' 14:54:14.000432 < 6 bytes data, client => server 14:54:14.000463 'QUIT\r\n' 14:54:14.000720 Received DATA (on stdin) 14:54:14.000734 > 18 bytes data, server => client 14:54:14.000746 '221 bye bye baby\r\n' 14:54:14.001625 ====> Client disconnect 14:54:14.001993 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:13.953233 Running IPv4 version 14:54:13.953291 Listening on port 43167 14:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1037 ../src/curl -q --output log/24/curl1037.out --include --trace-ascii log/24/trace1037 --trace-time ftp://127.0.0.1:42919/1037 -C - > log/24/stdout1037 2> log/24/stderr1037 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1038 ../src/curl -q --output log/17/curl1038.out --include --trace-ascii log/17/trace1038 --trace-time ftp://127.0.0.1:40705/1038 -T log/17/upload1038 -C - > log/17/stdout1038 2> log/17/stderr1038 4:13.953331 Wrote pid 130892 to log/19/server/ftp_sockdata.pid 14:54:13.953555 Received PING (on stdin) 14:54:13.953651 Received PORT (on stdin) 14:54:13.955136 ====> Client connect 14:54:13.955891 Received DATA (on stdin) 14:54:13.955904 > 17 bytes data, server => client 14:54:13.955916 'WE ROOLZ: 80256\r\n' 14:54:13.955939 Received DISC (on stdin) 14:54:13.955951 ====> Client forcibly disconnected 14:54:13.956106 Received QUIT (on stdin) 14:54:13.956118 quits 14:54:13.956183 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1036 === End of file server.cmd === Start of file valgrind1036 ==130991== ==130991== Process terminating with default action of signal 4 (SIGILL) ==130991== Illegal opcode at address 0x4014B6F ==130991== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==130991== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==130991== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==130991== by 0x4004266: main (tool_main.c:199) === End of file valgrind1036 test 1037...[FTP download resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1037 ../src/curl -q --output log/24/curl1037.out --include --trace-ascii log/24/trace1037 --trace-time ftp://127.0.0.1:42919/1037 -C - > log/24/stdout1037 2> log/24/stderr1037 1037: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1037 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1037 ../src/curl -q --output log/24/curl1037.out --include --trace-ascii log/24/trace1037 --trace-time ftp://127.0.0.1:42919/1037 -C - > log/24/stdout1037 2> log/24/stderr1037 === End of file commands.log === Start of file ftp_server.log 14:54:13.902921 ====> Client connect 14:54:13.903070 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:13.903348 < "USER anonymous" 14:54:13.903384 > "331 We are happy you popped in![CR][LF]" 14:54:13.903565 < "PASS ftp@example.com" 14:54:13.903594 > "230 Welcome you silly person[CR][LF]" 14:54:13.903748 < "PWD" 14:54:13.903777 > "257 "/" is current directory[CR][LF]" 14:54:13.903935 < "EPSV" 14:54:13.903957 ====> Passive DATA channel requested by client 14:54:13.903971 DATA sockfilt for passive data channel starting... 14:54:13.907036 DATA sockfilt for passive data channel started (pid 130951) 14:54:13.907161 DATA sockfilt for passive data channel listens on port 34219 14:54:13.907212 > "229 Entering Passive Mode (|||34219|)[LF]" 14:54:13.907237 Client has been notified that DATA conn will be accepted on port 34219 14:54:13.907711 Client connects to port 34219 14:54:13.907746 ====> Client established passive DATA connection on port 34219 14:54:13.907833 < "TYPE I" 14:54:13.907864 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:13.908028 < "SIZE verifiedserver" 14:54:13.908069 > "213 17[CR][LF]" 14:54:13.908247 < "RETR verifiedserver" 14:54:13.908286 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:13.908375 =====> Closing passive DATA connection... 14:54:13.908394 Server disconnects passive DATA connection 14:54:13.908654 Server disconnected passive DATA connection 14:54:13.908686 DATA sockfilt for passive data channel quits (pid 130951) 14:54:13.908938 DATA sockfilt for passive data channel quit (pid 130951) 14:54:13.908962 =====> Closed passive DATA connection 14:54:13.908987 > "226 File transfer complete[CR][LF]" 14:54:13.953847 < "QUIT" 14:54:13.953908 > "221 bye bye baby[CR][LF]" 14:54:13.956916 MAIN sockfilt said DISC 14:54:13.956953 ====> Client disconnected 14:54:13.957033 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:13.985626 ====> Client connect 14:54:13.985893 Received DATA (on stdin) 14:54:13.985909 > 160 bytes data, server => client 14:54:13.985924 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:13.985937 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:13.985949 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:13.986025 < 16 bytes data, client => server 14:54:13.986038 'USER anonymous\r\n' 14:54:13.986200 Received DATA (on stdin) 14:54:13.986213 > 33 bytes data, server => client 14:54:13.986225 '331 We are happy you popped in!\r\n' 14:54:13.986276 < 22 bytes data, client => server 14:54:13.986289 'PASS ftp@example.com\r\n' 14:54:13.986407 Received DATA (on stdin) 14:54:13.986420 > 30 bytes data, server => client 14:54:13.986432 '230 Welcome you silly person\r\n' 14:54:13.986481 < 5 bytes data, client => server 14:54:13.986492 'PWD\r\n' 14:54:13.986589 Received DATA (on stdin) 14:54:13.986601 > 30 bytes data, server => client 14:54:13.986613 '257 "/" is current directory\r\n' 14:54:13.986669 < 6 bytes data, client => server 14:54:13.986680 'EPSV\r\n' 14:54:13.990060 Received DATA (on stdin) 14:54:13.990076 > 38 bytes data, server => client 14:54:13.990090 '229 Entering Passive Mode (|||34219|)\n' 14:54:13.990218 < 8 bytes data, client => server 14:54:13.990236 'TYPE I\r\n' 14:54:13.990678 Received DATA (on stdin) 14:54:13.990693 > 33 bytes data, server => client 14:54:13.990705 '200 I modify TYPE as you wanted\r\n' 14:54:13.990758 < 21 bytes data, client => server 14:54:13.990770 'SIZE verifiedserver\r\n' 14:54:13.990885 Received DATA (on stdin) 14:54:13.990899 > 8 bytes data, server => client 14:54:13.990911 '213 17\r\n' 14:54:13.990966 < 21 bytes data, client => server 14:54:13.990980 'RETR verifiedserver\r\n' 14:54:13.991210 Received DATA (on stdin) 14:54:13.991224 > 29 bytes data, server => client 14:54:13.991237 '150 Binary junk (17 bytes).\r\n' 14:54:13.991801 Received DATA (on stdin) 14:54:13.991815 > 28 bytes data, server => client 14:54:13.991827 '226 File transfer complete\r\n' 14:54:14.036445 < 6 bytes data, client => server 14:54:14.036481 'QUIT\r\n' 14:54:14.036729 Received DATA (on stdin) 14:54:14.036744 > 18 bytes data, server => client 14:54:14.036757 '221 bye bye baby\r\n' 14:54:14.039665 ====> Client disconnect 14:54:14.039850 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:13.988560 Running IPv4 version 14:54:13.988686 Listening on port 34219 14:54:13.988724 Wrote pid 130951 to log/24/server/ftp_sockdata.pid 14:54:13.989776 Received PING (on stdin) 14:54:13.989883 Received PORT (on stdin) 14:54:13.990260 ====> Client connect 14:54:13.991266 Received DATA (on stdin) 14:54:13.991282 > 17 bytes data, server => client 14:54:13.991296 'WE ROOLZ: 80263\r\n' 14:54:13.991322 Received DISC (on stdin) 14:54:13.991336 ====> Client forcibly disconnected 14:54:13.991509 Received QUIT (on stdin) 14:54:13.991522 quits 14:54:13.991586 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1037 === End of file server.cmd === Start of file valgrind1037 ==131023== ==131023== Process terminating with default action of signal 4 (SIGILL) ==131023== Illegal opcode at address 0x4014B6F ==131023== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131023== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131023== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131023== by 0x4004266: main (tool_main.c:199) === End of file valgrind1037 test 1038...[FTP PASV upload resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1038 ../src/curl -q --output log/17/cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1040 ../src/curl -q --output log/22/curl1040.out --include --trace-ascii log/22/trace1040 --trace-time http://127.0.0.1:42027/1040 -C - > log/22/stdout1040 2> log/22/stderr1040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37705/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 url1038.out --include --trace-ascii log/17/trace1038 --trace-time ftp://127.0.0.1:40705/1038 -T log/17/upload1038 -C - > log/17/stdout1038 2> log/17/stderr1038 1038: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1038 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1038 ../src/curl -q --output log/17/curl1038.out --include --trace-ascii log/17/trace1038 --trace-time ftp://127.0.0.1:40705/1038 -T log/17/upload1038 -C - > log/17/stdout1038 2> log/17/stderr1038 === End of file commands.log === Start of file ftp_server.log 14:54:13.919467 ====> Client connect 14:54:13.919613 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:13.919885 < "USER anonymous" 14:54:13.919919 > "331 We are happy you popped in![CR][LF]" 14:54:13.920084 < "PASS ftp@example.com" 14:54:13.920111 > "230 Welcome you silly person[CR][LF]" 14:54:13.920453 < "PWD" 14:54:13.920483 > "257 "/" is current directory[CR][LF]" 14:54:13.920653 < "EPSV" 14:54:13.920676 ====> Passive DATA channel requested by client 14:54:13.920691 DATA sockfilt for passive data channel starting... 14:54:13.922324 DATA sockfilt for passive data channel started (pid 130983) 14:54:13.922436 DATA sockfilt for passive data channel listens on port 46027 14:54:13.922473 > "229 Entering Passive Mode (|||46027|)[LF]" 14:54:13.922492 Client has been notified that DATA conn will be accepted on port 46027 14:54:13.922712 Client connects to port 46027 14:54:13.922741 ====> Client established passive DATA connection on port 46027 14:54:13.922818 < "TYPE I" 14:54:13.922845 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:13.923001 < "SIZE verifiedserver" 14:54:13.923037 > "213 17[CR][LF]" 14:54:13.923186 < "RETR verifiedserver" 14:54:13.923219 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:13.923299 =====> Closing passive DATA connection... 14:54:13.923315 Server disconnects passive DATA connection 14:54:13.923559 Server disconnected passive DATA connection 14:54:13.923587 DATA sockfilt for passive data channel quits (pid 130983) 14:54:13.923804 DATA sockfilt for passive data channel quit (pid 130983) 14:54:13.923837 =====> Closed passive DATA connection 14:54:13.923867 > "226 File transfer complete[CR][LF]" 14:54:13.968280 < "QUIT" 14:54:13.968331 > "221 bye bye baby[CR][LF]" 14:54:13.969286 MAIN sockfilt said DISC 14:54:13.969317 ====> Client disconnected 14:54:13.969398 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:14.002178 ====> Client connect 14:54:14.002439 Received DATA (on stdin) 14:54:14.002455 > 160 bytes data, server => client 14:54:14.002469 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:14.002481 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:14.002493 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:14.002560 < 16 bytes data, client => server 14:54:14.002573 'USER anonymous\r\n' 14:54:14.002736 Received DATA (on stdin) 14:54:14.002749 > 33 bytes data, server => client 14:54:14.002761 '331 We are happy you popped in!\r\n' 14:54:14.002811 < 22 bytes data, client => server 14:54:14.002823 'PASS ftp@example.com\r\n' 14:54:14.002923 Received DATA (on stdin) 14:54:14.002936 > 30 bytes data, server => client 14:54:14.002948 '230 Welcome you silly person\r\n' 14:54:14.003180 < 5 bytes data, client => server 14:54:14.003193 'PWD\r\n' 14:54:14.003303 Received DATA (on stdin) 14:54:14.003316 > 30 bytes data, server => client 14:54:14.003328 '257 "/" is current directory\r\n' 14:54:14.003385 < 6 bytes data, client => server 14:54:14.003397 'EPSV\r\n' 14:54:14.005309 Received DATA (on stdin) 14:54:14.005324 > 38 bytes data, server => client 14:54:14.005337 '229 Entering Passive Mode (|||46027|)\n' 14:54:14.005473 < 8 bytes data, client => server 14:54:14.005486 'TYPE I\r\n' 14:54:14.005658 Received DATA (on stdin) 14:54:14.005671 > 33 bytes data, server => client 14:54:14.005683 '200 I modify TYPE as you wanted\r\n' 14:54:14.005732 < 21 bytes data, client => server 14:54:14.005744 'SIZE verifiedserver\r\n' 14:54:14.005849 Received DATA (on stdin) 14:54:14.005861 > 8 bytes data, server => client 14:54:14.005873 '213 17\r\n' 14:54:14.005919 < 21 bytes data, client => server 14:54:14.005931 'RETR verifiedserver\r\n' 14:54:14.006130 Received DATA (on stdin) 14:54:14.006143 > 29 bytes data, server => client 14:54:14.006155 '150 Binary junk (17 bytes).\r\n' 14:54:14.006687 Received DATA (on stdin) 14:54:14.006704 > 28 bytes data, server => client 14:54:14.006717 '226 File transfer complete\r\n' 14:54:14.050901 < 6 bytes data, client => server 14:54:14.050939 'QUIT\r\n' 14:54:14.051149 Received DATA (on stdin) 14:54:14.051163 > 18 bytes data, server => client 14:54:14.051174 '221 bye bye baby\r\n' 14:54:14.052051 ====> Client disconnect 14:54:14.052214 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:13.004969 Running IPv4 version 14:54:13.005022 Listening on port 46027 14:54:13.005058 Wrote pid 130983 to log/17/server/ftp_sockdata.pid 14:54:13.005078 Received PING (on stdin) 14:54:13.005166 Received PORT (on stdin) 14:54:13.005446 ====> Client connect 14:54:13.006180 Received DATA (on stdin) 14:54:13.006194 > 17 bytes data, server => client 14:54:13.006206 'WE ROOLZ: 91632\r\n' 14:54:13.006229 Received DISC (on stdin) 14:54:13.006241 ====> Client forcibly disconnected 14:54:13.006407 Received QUIT (on stdin) 14:54:13.006420 quits 14:54:13.006477 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1038 === End of file server.cmd === Start of file upload1038 this is the *****cr@p******** that we're gonna upload worx? === End of file upload1038 === Start of file valgrind1038 ==131034== ==131034== Process terminating with default action of signal 4 (SIGILL) ==131034== Illegal opcode at address 0x4014B6F ==131034== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131034== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131034== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131034== by 0x4004266: main (tool_main.c:199) === End of file valgrind1038 test 1040...[HTTP GET with resume from end of entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1040 ../src/curl -q --output log/22/curl1040.out --include --trace-ascii log/22/trace1040 --trace-time http://127.0.0.1:42027/1040 -C - > log/22/stdout1040 2> log/22/stderr1040 1040: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1040 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1040 ../src/curl -q --output log/22/curl1040.out --include --trace-ascii log/22/trace1040 --trace-time http://127.0.0.1:42027/1040 -C - > log/22/stdout1040 2> log/22/stderr1040 === End of file commands.log === Start of file curl1040.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1040.out === Start of file http_server.log 14:54:14.268927 ====> Client connect 14:54:14.268965 accept_connection 3 returned 4 14:54:14.268985 accept_connection 3 returned 0 14:54:14.269002 Read 93 bytes 14:54:14.269014 Process 93 bytes request 14:54:14.269029 Got request: GET /verifiedserver HTTP/1.1 14:54:14.269040 Are-we-friendly question received 14:54:14.269064 Wrote request (93 bytes) input to log/22/server.input 14:54:14.269080 Identifying ourselves as friends 14:54:14.269141 Response sent (56 bytes) and written to log/22/server.response 14:54:14.269151 special request received, no persistency 14:54:14.269161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 54688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1040 ==131209== ==131209== Process terminating with default action of signal 4 (SIGILL) ==131209== Illegal opcode at address 0x4014B6F ==131209== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131209== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131209== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131209== by 0x4004266: main (tool_main.c:199) === End of file valgrind1040 test 1039...[FTP PASV upload resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37705/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 1039: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37705/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 === End of file commands.log === Start of file ftp_server.log 14:54:14.170395 ====> Client connect 14:54:14.170540 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.170835 < "USER anonymous" 14:54:14.170873 > "331 We are happy you popped in![CR][LF]" 14:54:14.171046 < "PASS ftp@example.com" 14:54:14.171072 > "230 Welcome you silly person[CR][LF]" 14:54:14.171226 < "PWD" 14:54:14.171257 > "257 "/" is current directory[CR][LF]" 14:54:14.171415 < "EPSV" 14:54:14.171437 ====> Passive DATA channel requested by client 14:54:14.171450 DATA sockfilt for passive data channel starting... 14:54:14.173209 DATA sockfilt for passive data channel started (pid 131191) 14:54:14.173309 DATA sockfilt for passive data channel listens on port 45771 14:54:14.173342 > "229 Entering Passive Mode (|||45771|)[LF]" 14:54:14.173360 Client has been notified that DATA conn will be accepted on port 45771 14:54:14.173578 Client connects to port 45771 14:54:14.173606 ====> Client established passive DATA connection on port 45771 14:54:14.173676 < "TYPE I" 14:54:14.173702 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.173854 < "SIZE verifiedserver" 14:54:14.173888 > "213 17[CR][LF]" 14:54:14.174032 < "RETR verifiedserver" 14:54:14.174060 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.174234 =====> Closing passive DATA connection... 14:54:14.174251 Server disconnects passive DATA connection 14:54:14.174498 Server disconnected passive DATA connection 14:54:14.174523 DATA sockfilt for passive data channel quits (pid 131191) 14:54:14.175593 DATA sockfilt for passive data channel quit (pid 131191) 14:54:14.175621 =====> Closed passive DATA connection 14:54:14.175646 > "226 File transfer complete[CR][LF]" 14:54:14.217683 < "QUIT" 14:54:14.217743 > "221 bye bye baby[CR][LF]" 14:54:14.218787 MAIN sockfilt said DISC 14:54:14.218821 ====> Client disconnected 14:54:14.218910 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:14.253087 ====> Client connect 14:54:14.253366 Received DATA (on stdin) 14:54:14.253383 > 160 bytes data, server => client 14:54:14.253397 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:14.253409 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:14.253421 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:14.253501 < 16 bytes data, client => server 14:54:14.253516 'USER anonymous\r\n' 14:54:14.253689 Received DATA (on stdin) 14:54:14.253703 > 33 bytes data, server => client 14:54:14.253714 '331 We are happy you popped in!\r\n' 14:54:14.253769 < 22 bytes data, client => server 14:54:14.253782 'PASS ftp@example.com\r\n' 14:54:14.253884 Received DATA (on stdin) 14:54:14.253896 > 30 bytes data, server => client 14:54:14.253908 '230 Welcome you silly person\r\n' 14:54:14.253955 < 5 bytes data, client => server 14:54:14.253967 'PWD\r\n' 14:54:14.254069 Received DATA (on stdin) 14:54:14.254082 > 30 bytes data, server => client 14:54:14.254094 '257 "/" is current directory\r\n' 14:54:14.254149 < 6 bytes data, client => server 14:54:14.254160 'EPSV\r\n' 14:54:14.256178 Received DATA (on stdin) 14:54:14.256191 > 38 bytes data, server => client 14:54:14.256203 '229 Entering Passive Mode (|||45771|)\n' 14:54:14.256304 < 8 bytes data, client => server 14:54:14.256326 'TYPE I\r\n' 14:54:14.256515 Received DATA (on stdin) 14:54:14.256527 > 33 bytes data, server => client 14:54:14.256539 '200 I modify TYPE as you wanted\r\n' 14:54:14.256587 < 21 bytes data, client => server 14:54:14.256599 'SIZE verifiedserver\r\n' 14:54:14.256700 Received DATA (on stdin) 14:54:14.256711 > 8 bytes data, server => client 14:54:14.256721 '213 17\r\n' 14:54:14.256767 < 21 bytes data, client => server 14:54:14.256779 'RETR verifiedserver\r\n' 14:54:14.257066 Received DATA (on stdin) 14:54:14.257078 > 29 bytes data, server => client 14:54:14.257094 '150 Binary junk (17 bytes).\r\n' 14:54:14.258460 Received DATA (on stdin) 14:54:14.258474 > 28 bytes data, server => client 14:54:14.258486 '226 File transfer complete\r\n' 14:54:14.300288 < 6 bytes data, client => server 14:54:14.300321 'QUIT\r\n' 14:54:14.300562 Received DATA (on stdin) 14:54:14.300576 > 18 bytes data, server => client 14:54:14.300587 '221 bye bye baby\r\n' 14:54:14.301548 ====> Client disconnect 14:54:14.301725 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.255743 Running IPv4 version 14:54:14.255802 Listening on port 45771 14:54:14.255837 Wrote pid 131191 to log/14/server/ftp_sockdata.pid 14:54:14.255968 Received PING (on stdin) 14:54:14.256042 Received PORT (on stdin) 14:54:14.256347 ====> Client connect 14:54:14.257145 Received DATA (on stdin) 14:54:14.257159 > 17 bytes data, server => client 14:54:14.257170 'WE ROOLZ: 80387\r\n' 14:54:14.257196 Received DISC (on stdin) 14:54:14.257209 ====> Client forcibly disconnected 14:54:14.257342 Received QUIT (on stdin) 14:54:14.257354 quits 14:54:14.257406 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1039 === End of file server.cmd === Start of file upload1039 this is the *****cr@p******** that we're gonna upload worx? === End of file upload1039 === Start of file valgrind1039 ==131235== ==131235== Process terminating with default action of signal 4 (SIGILL) ==131235== Illegal opcode at adCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1041 ../src/curl -q --output log/6/curl1041.out --include --trace-ascii log/6/trace1041 --trace-time http://127.0.0.1:38791/1041 -Tlog/6/test1041.txt -C - > log/6/stdout1041 2> log/6/stderr1041 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:37587/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/stderr1045 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1042 ../src/curl -q --output log/4/curl1042.out --include --trace-ascii log/4/trace1042 --trace-time http://127.0.0.1:39793/1042 -C 200 > log/4/stdout1042 2> log/4/stderr1042 dress 0x4014B6F ==131235== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131235== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131235== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131235== by 0x4004266: main (tool_main.c:199) === End of file valgrind1039 test 1041...[HTTP PUT with resume from end of already-uploaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1041 ../src/curl -q --output log/6/curl1041.out --include --trace-ascii log/6/trace1041 --trace-time http://127.0.0.1:38791/1041 -Tlog/6/test1041.txt -C - > log/6/stdout1041 2> log/6/stderr1041 1041: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1041 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1041 ../src/curl -q --output log/6/curl1041.out --include --trace-ascii log/6/trace1041 --trace-time http://127.0.0.1:38791/1041 -Tlog/6/test1041.txt -C - > log/6/stdout1041 2> log/6/stderr1041 === End of file commands.log === Start of file http_server.log 14:54:14.450857 ====> Client connect 14:54:14.450890 accept_connection 3 returned 4 14:54:14.450907 accept_connection 3 returned 0 14:54:14.450922 Read 93 bytes 14:54:14.450933 Process 93 bytes request 14:54:14.450945 Got request: GET /verifiedserver HTTP/1.1 14:54:14.450955 Are-we-friendly question received 14:54:14.450980 Wrote request (93 bytes) input to log/6/server.input 14:54:14.450996 Identifying ourselves as friends 14:54:14.451049 Response sent (56 bytes) and written to log/6/server.response 14:54:14.451060 special request received, no persistency 14:54:14.451069 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 46650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1041 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file test1041.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test1041.txt === Start of file valgrind1041 ==131350== ==131350== Process terminating with default action of signal 4 (SIGILL) ==131350== Illegal opcode at address 0x4014B6F ==131350== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131350== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131350== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131350== by 0x4004266: main (tool_main.c:199) === End of file valgrind1041 test 1045...[HTTP GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:37587/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/stderr1045 1045: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:37587/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/stderr1045 === End of file commands.log === Start of file http_server.log 14:54:14.671086 ====> Client connect 14:54:14.671116 accept_connection 3 returned 4 14:54:14.671134 accept_connection 3 returned 0 14:54:14.671149 Read 93 bytes 14:54:14.671161 Process 93 bytes request 14:54:14.671177 Got request: GET /verifiedserver HTTP/1.1 14:54:14.671187 Are-we-friendly question received 14:54:14.671210 Wrote request (93 bytes) input to log/2/server.input 14:54:14.671228 Identifying ourselves as friends 14:54:14.671282 Response sent (56 bytes) and written to log/2/server.response 14:54:14.671293 special request received, no persistency 14:54:14.671303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 49058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1045 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1045 ==131536== ==131536== Process terminating with default action of signal 4 (SIGILL) ==131536== Illegal opcode at address 0x4014B6F ==131536== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131536== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131536== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131536== by 0x4004266: main (tool_main.c:199) === End of file valgrind1045 test 1042...[HTTP GET beyond end of entirely-downloaded file, no server resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1042 ../src/curl -q --output log/4/curl1042.out --include --trace-ascii log/4/trace1042 --trace-time http://127.0.0.1:39793/1042 -C 200 > log/4/stdout1042 2> log/4/stderr1042 1042: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1042 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1042 ../src/curl -q --output log/4/curl1042.out --include --trace-ascii log/4/trace1042 --trace-time http://127.0.0.1:39793/1042 -C 200 > log/4/stdout1042 2> log/4/stderr1042 === End of file commands.log === Start of file curl1042.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1042.out === Start of file http_server.log 14:54:14.624416 ====> Client connect 14:54:14.624453 accept_connection 3 returned 4 14:54:14.624471 accept_connection 3 returned 0 14:54:14.624489 Read 93 bytes 14:54:14.624500 Process 93 bytes request 14:54:14.624515 Got request: GET /verifiedserver HTTP/1.1 14:54:14.624526 Are-we-friendly question received 14:54:14.624554 Wrote request (93 bytes) input to log/4/server.input 14:54:14.624573 Identifying ourselves as friends 14:54:14.624632 Response sent (56 bytes) and written to log/4/server.response 14:54:14.624644 special request received, no persistency 14:54:14.624654 ====> Client disconnect 0 ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1043 ../src/curl -q --output log/23/curl1043.out --include --trace-ascii log/23/trace1043 --trace-time http://127.0.0.1:38851/1043 -C - > log/23/stdout1043 2> log/23/stderr1043 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1049 ../src/curl -q --output log/12/curl1049.out --include --trace-ascii log/12/trace1049 --trace-time tftp://127.0.0.1:51375//1049 --interface 127.0.0.1 > log/12/stdout1049 2> log/12/stderr1049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1044 ../src/curl -q --include --trace-ascii log/13/trace1044 --trace-time ftp://127.0.0.1:36645/blalbla/1044 -I > log/13/stdout1044 2> log/13/stderr1044 End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1042 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1042 ==131453== ==131453== Process terminating with default action of signal 4 (SIGILL) ==131453== Illegal opcode at address 0x4014B6F ==131453== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131453== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131453== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131453== by 0x4004266: main (tool_main.c:199) === End of file valgrind1042 test 1043...[HTTP GET with resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1043 ../src/curl -q --output log/23/curl1043.out --include --trace-ascii log/23/trace1043 --trace-time http://127.0.0.1:38851/1043 -C - > log/23/stdout1043 2> log/23/stderr1043 1043: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1043 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1043 ../src/curl -q --output log/23/curl1043.out --include --trace-ascii log/23/trace1043 --trace-time http://127.0.0.1:38851/1043 -C - > log/23/stdout1043 2> log/23/stderr1043 === End of file commands.log === Start of file curl1043.out 012345678 012345678 012345678 012345678 === End of file curl1043.out === Start of file http_server.log 14:54:14.656674 ====> Client connect 14:54:14.656724 accept_connection 3 returned 4 14:54:14.656744 accept_connection 3 returned 0 14:54:14.656761 Read 93 bytes 14:54:14.656773 Process 93 bytes request 14:54:14.656789 Got request: GET /verifiedserver HTTP/1.1 14:54:14.656800 Are-we-friendly question received 14:54:14.656829 Wrote request (93 bytes) input to log/23/server.input 14:54:14.656848 Identifying ourselves as friends 14:54:14.656912 Response sent (56 bytes) and written to log/23/server.response 14:54:14.656926 special request received, no persistency 14:54:14.656937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 43752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1043 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1043 ==131516== ==131516== Process terminating with default action of signal 4 (SIGILL) ==131516== Illegal opcode at address 0x4014B6F ==131516== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131516== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131516== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131516== by 0x4004266: main (tool_main.c:199) === End of file valgrind1043 test 1049...[TFTP retrieve with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1049 ../src/curl -q --output log/12/curl1049.out --include --trace-ascii log/12/trace1049 --trace-time tftp://127.0.0.1:51375//1049 --interface 127.0.0.1 > log/12/stdout1049 2> log/12/stderr1049 1049: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1049 ../src/curl -q --output log/12/curl1049.out --include --trace-ascii log/12/trace1049 --trace-time tftp://127.0.0.1:51375//1049 --interface 127.0.0.1 > log/12/stdout1049 2> log/12/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 14:54:14.721706 trying to get file: verifiedserver mode 1 14:54:14.721735 Are-we-friendly question received 14:54:14.721751 write 14:54:14.721772 read 14:54:14.722369 read: 4 14:54:14.722424 end of one transfer === End of file tftp_server.log === Start of file valgrind1049 ==131677== ==131677== Process terminating with default action of signal 4 (SIGILL) ==131677== Illegal opcode at address 0x4014B6F ==131677== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131677== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131677== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131677== by 0x4004266: main (tool_main.c:199) === End of file valgrind1049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1047 ../src/curl -q --output log/7/curl1047.out --include --trace-ascii log/7/trace1047 --trace-time ftp://127.0.0.1:37495/ --interface 127.0.0.1 > log/7/stdout1047 2> log/7/stderr1047 test 1044...[FTP download large file info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1044 ../src/curl -q --include --trace-ascii log/13/trace1044 --trace-time ftp://127.0.0.1:36645/blalbla/1044 -I > log/13/stdout1044 2> log/13/stderr1044 1044: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:15.538864632 +0000 +++ log/13/check-generated 2025-09-11 14:54:15.538864632 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] -Content-Length: 9999999999[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/13/ dir after test 1044 === Start of file check-expected Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] Content-Length: 9999999999[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1044 ../src/curl -q --include --trace-ascii log/13/trace1044 --trace-time ftp://127.0.0.1:36645/blalbla/1044 -I > log/13/stdout1044 2> log/13/stderr1044 === End of file commands.log === Start of file ftp_server.log 14:54:14.587786 ====> Client connect 14:54:14.587958 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.588275 < "USER anonymous" 14:54:14.588314 > "331 We are happy you popped in![CR][LF]" 14:54:14.588500 < "PASS ftp@example.com" 14:54:14.588531 > "230 Welcome you silly person[CR][LF]" 14:54:14.588706 < "PWD" 14:54:14.588741 > "257 "/" is current directory[CR][LF]" 14:54:14.588922 < "EPSV" 14:54:14.588948 ====> Passive DATA channel requested by client 14:54:14.588963 DATA sockfilt for passive data channel starting... 14:54:14.590916 DATA sockfilt for passive data channel started (pid 131511) 14:54:14.591030 DATA sockfilt for passive data channel listens on port 38279 14:54:14.591073 > "229 Entering Passive Mode (|||38279|)[LF]" 14:54:14.591094 Client has been notified that DATA conn will be accepted on port 38279 14:54:14.591327 Client connects to port 38279 14:54:14.591358 ====> Client established passive DATA connection on port 38279 14:54:14.591436 < "TYPE I" 14:54:14.591468 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.591647 < "SIZE verifiedserver" 14:54:14.591684 > "213 17[CR][LF]" 14:54:14.591862 < "RETR verifiedserver" 14:54:14.591896 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.591981 =====> Closing passive DATA connection... 14:54:14.592001 Server disconnects passive DATA connection 14:54:14.592253 Server disconnected passive DATA connection 14:54:14.592285 DATA sockfilt for passive data channel quits (pid 131511) 14:54:14.592511 DATA sockfilt for passive data channel quit (pid 131511) 14:54:14.592538 =====> Closed passive DATA connection 14:54:14.592567 > "226 File transfer complete[CR][LF]" 14:54:14.634089 < "QUIT" 14:54:14.634146 > "221 bye bye baby[CR][LF]" 14:54:14.634739 MAIN sockfilt said DISC 14:54:14.634765 ====> Client disconnected 14:54:14.634847 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:14.670478 ====> Client connect 14:54:14.670789 Received DATA (on stdin) 14:54:14.670808 > 160 bytes data, server => client 14:54:14.670824 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:14.670837 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:14.670849 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:14.670928 < 16 bytes data, client => server 14:54:14.670945 'USER anonymous\r\n' 14:54:14.671133 Received DATA (on stdin) 14:54:14.671148 > 33 bytes data, server => client 14:54:14.671160 '331 We are happy you popped in!\r\n' 14:54:14.671217 < 22 bytes data, client => server 14:54:14.671231 'PASS ftp@example.com\r\n' 14:54:14.671348 Received DATA (on stdin) 14:54:14.671362 > 30 bytes data, server => client 14:54:14.671374 '230 Welcome you silly person\r\n' 14:54:14.671427 < 5 bytes data, client => server 14:54:14.671441 'PWD\r\n' 14:54:14.671555 Received DATA (on stdin) 14:54:14.671569 > 30 bytes data, server => client 14:54:14.671581 '257 "/" is current directory\r\n' 14:54:14.671644 < 6 bytes data, client => server 14:54:14.671658 'EPSV\r\n' 14:54:14.673914 Received DATA (on stdin) 14:54:14.673929 > 38 bytes data, server => client 14:54:14.673942 '229 Entering Passive Mode (|||38279|)\n' 14:54:14.674053 < 8 bytes data, client => server 14:54:14.674071 'TYPE I\r\n' 14:54:14.674284 Received DATA (on stdin) 14:54:14.674299 > 33 bytes data, server => client 14:54:14.674312 '200 I modify TYPE as you wanted\r\n' 14:54:14.674367 < 21 bytes data, client => server 14:54:14.674382 'SIZE verifiedserver\r\n' 14:54:14.674501 Received DATA (on stdin) 14:54:14.674515 > 8 bytes data, server => client 14:54:14.674527 '213 17\r\n' 14:54:14.674582 < 21 bytes data, client => server 14:54:14.674596 'RETR verifiedserver\r\n' 14:54:14.674818 Received DATA (on stdin) 14:54:14.674832 > 29 bytes data, server => client 14:54:14.674844 '150 Binary junk (17 bytes).\r\n' 14:54:14.675384 Received DATA (on stdin) 14:54:14.675398 > 28 bytes data, server => client 14:54:14.675411 '226 File transfer complete\r\n' 14:54:14.716714 < 6 bytes data, client => server 14:54:14.716750 'QUIT\r\n' 14:54:14.716970 Received DATA (on stdin) 14:54:14.716984 > 18 bytes data, server => client 14:54:14.716996 '221 bye bye baby\r\n' 14:54:14.717503 ====> Client disconnect 14:54:14.717661 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.673417 Running IPv4 version 14:54:14.673480 Listening on port 38279 14:54:14.673521 Wrote pid 131511 to log/13/server/ftp_sockdata.pid 14:54:14.673665 Received PING (on stdin) 14:54:14.673757 Received PORT (on stdin) 14:54:14.674094 ====> Client connect 14:54:14.674877 Received DATA (on stdin) 14:54:14.674892 > 17 bytes data, server => client 14:54:14.674903 'WE ROOLZ: 80108\r\n' 14:54:14.674927 Received DISC (on stdin) 14:54:14.674940 ====> Client forcibly disconnected 14:54:14.675110 Received QUIT (on stdin) 14:54:14.675124 quits 14:54:14.675181 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==131671== ==131671== Process terminating with default action of signal 4 (SIGILL) ==131671== Illegal opcode at address 0x4014B6F ==131671== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131671== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131671== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131671== by 0x4004266: main (tool_main.c:199) === End of file valgrind1044 test 1047...[FTP dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1047 ../src/curl -q --output log/7/curl1047.out --include --trace-ascii log/7/trace1047 --trace-time ftp://127.0.0.1:37495/ --interface 127.0.0.1 > log/7/stdout1047 2> log/7/stderr1047 1047: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1047 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1047 ../src/curl -q --output log/7/curl1047.out --include --trace-ascii log/7/trace1047 --trace-time ftp://127.0.0.1:37495/ --interface 127.0.0.1 > log/7/stdout1047 2> log/7/stderr1047 === End of file commands.log === Start of file ftp_server.log 14:54:14.608108 ====> Client connect 14:54:14.608249 > "CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1051 ../src/curl -q --output log/3/curl1051.out --include --trace-ascii log/3/trace1051 --trace-time http://127.0.0.1:46791/want/1051 -L -T log/3/test1051.txt > log/3/stdout1051 2> log/3/stderr1051 220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.608581 < "USER anonymous" 14:54:14.608624 > "331 We are happy you popped in![CR][LF]" 14:54:14.608900 < "PASS ftp@example.com" 14:54:14.608928 > "230 Welcome you silly person[CR][LF]" 14:54:14.609087 < "PWD" 14:54:14.609120 > "257 "/" is current directory[CR][LF]" 14:54:14.609283 < "EPSV" 14:54:14.609307 ====> Passive DATA channel requested by client 14:54:14.609319 DATA sockfilt for passive data channel starting... 14:54:14.611242 DATA sockfilt for passive data channel started (pid 131567) 14:54:14.611399 DATA sockfilt for passive data channel listens on port 44417 14:54:14.611446 > "229 Entering Passive Mode (|||44417|)[LF]" 14:54:14.611470 Client has been notified that DATA conn will be accepted on port 44417 14:54:14.611722 Client connects to port 44417 14:54:14.611753 ====> Client established passive DATA connection on port 44417 14:54:14.611841 < "TYPE I" 14:54:14.611871 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.612088 < "SIZE verifiedserver" 14:54:14.612150 > "213 17[CR][LF]" 14:54:14.612378 < "RETR verifiedserver" 14:54:14.612418 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.612503 =====> Closing passive DATA connection... 14:54:14.612523 Server disconnects passive DATA connection 14:54:14.612609 Server disconnected passive DATA connection 14:54:14.612634 DATA sockfilt for passive data channel quits (pid 131567) 14:54:14.612899 DATA sockfilt for passive data channel quit (pid 131567) 14:54:14.612927 =====> Closed passive DATA connection 14:54:14.612956 > "226 File transfer complete[CR][LF]" 14:54:14.654634 < "QUIT" 14:54:14.654688 > "221 bye bye baby[CR][LF]" 14:54:14.655145 MAIN sockfilt said DISC 14:54:14.655196 ====> Client disconnected 14:54:14.655272 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:13.690812 ====> Client connect 14:54:13.691075 Received DATA (on stdin) 14:54:13.691091 > 160 bytes data, server => client 14:54:13.691104 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:13.691116 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:13.691128 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:13.691200 < 16 bytes data, client => server 14:54:13.691213 'USER anonymous\r\n' 14:54:13.691445 Received DATA (on stdin) 14:54:13.691461 > 33 bytes data, server => client 14:54:13.691474 '331 We are happy you popped in!\r\n' 14:54:13.691607 < 22 bytes data, client => server 14:54:13.691623 'PASS ftp@example.com\r\n' 14:54:13.691742 Received DATA (on stdin) 14:54:13.691754 > 30 bytes data, server => client 14:54:13.691766 '230 Welcome you silly person\r\n' 14:54:13.691814 < 5 bytes data, client => server 14:54:13.691827 'PWD\r\n' 14:54:13.691933 Received DATA (on stdin) 14:54:13.691946 > 30 bytes data, server => client 14:54:13.691958 '257 "/" is current directory\r\n' 14:54:13.692014 < 6 bytes data, client => server 14:54:13.692027 'EPSV\r\n' 14:54:13.694292 Received DATA (on stdin) 14:54:13.694307 > 38 bytes data, server => client 14:54:13.694320 '229 Entering Passive Mode (|||44417|)\n' 14:54:13.694441 < 8 bytes data, client => server 14:54:13.694460 'TYPE I\r\n' 14:54:13.694689 Received DATA (on stdin) 14:54:13.694704 > 33 bytes data, server => client 14:54:13.694717 '200 I modify TYPE as you wanted\r\n' 14:54:13.694773 < 21 bytes data, client => server 14:54:13.694788 'SIZE verifiedserver\r\n' 14:54:13.694975 Received DATA (on stdin) 14:54:13.694994 > 8 bytes data, server => client 14:54:13.695006 '213 17\r\n' 14:54:13.695097 < 21 bytes data, client => server 14:54:13.695113 'RETR verifiedserver\r\n' 14:54:13.695340 Received DATA (on stdin) 14:54:13.695355 > 29 bytes data, server => client 14:54:13.695368 '150 Binary junk (17 bytes).\r\n' 14:54:13.695772 Received DATA (on stdin) 14:54:13.695786 > 28 bytes data, server => client 14:54:13.695799 '226 File transfer complete\r\n' 14:54:13.737162 < 6 bytes data, client => server 14:54:13.737182 'QUIT\r\n' 14:54:13.737508 Received DATA (on stdin) 14:54:13.737522 > 18 bytes data, server => client 14:54:13.737534 '221 bye bye baby\r\n' 14:54:13.737885 ====> Client disconnect 14:54:13.738093 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.693865 Running IPv4 version 14:54:14.693931 Listening on port 44417 14:54:14.693971 Wrote pid 131567 to log/7/server/ftp_sockdata.pid 14:54:14.693995 Received PING (on stdin) 14:54:14.694113 Received PORT (on stdin) 14:54:14.694484 ====> Client connect 14:54:14.695247 Received DATA (on stdin) 14:54:14.695267 > 17 bytes data, server => client 14:54:14.695281 'WE ROOLZ: 80245\r\n' 14:54:14.695338 Received DISC (on stdin) 14:54:14.695357 ====> Client forcibly disconnected 14:54:14.695459 Received QUIT (on stdin) 14:54:14.695476 quits 14:54:14.695536 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==131714== ==131714== Process terminating with default action of signal 4 (SIGILL) ==131714== Illegal opcode at address 0x4014B6F ==131714== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131714== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131714== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131714== by 0x4004266: main (tool_main.c:199) === End of file valgrind1047 test 1051...[HTTP PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1051 ../src/curl -q --output log/3/curl1051.out --include --trace-ascii log/3/trace1051 --trace-time http://127.0.0.1:46791/want/1051 -L -T log/3/test1051.txt > log/3/stdout1051 2> log/3/stderr1051 1051: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1051 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1051 ../src/curl -q --output log/3/curl1051.out --include --trace-ascii log/3/trace1051 --trace-time http://127.0.0.1:46791/want/1051 -L -T log/3/test1051.txt > log/3/stdout1051 2> log/3/stderr1051 === End of file commands.log === Start of file http_server.log 14:54:14.902904 ====> Client connect 14:54:14.902937 accept_connection 3 returned 4 14:54:14.902954 accept_connection 3 returned 0 14:54:14.902969 Read 93 bytes 14:54:14.902980 Process 93 bytes request 14:54:14.903007 Got request: GET /verifiedserver HTTP/1.1 14:54:14.903018 Are-we-friendly question received 14:54:14.903044 Wrote request (93 bytes) input to log/3/server.input 14:54:14.903062 Identifying ourselves as friends 14:54:14.903119 Response sent (56 bytes) and written to log/3/server.response 14:54:14.903130 special request received, no persistency 14:54:14.903140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 34492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file test1051.txt Weird file to CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1054 ../src/curl -q --output log/16/curl1054.out --include --trace-ascii log/16/trace1054 --trace-time http://127.0.0.1:34475/blah/1054 -L -d @log/16/test1054.txt --post301 > log/16/stdout1054 2> log/16/stderr1054 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1053 ../src/curl -q --output log/1/curl1053.out --include --trace-ascii log/1/trace1053 --trace-time http://127.0.0.1:44029/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/1/test1053.txt > log/1/stdout1053 2> log/1/stderr1053 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1055 ../src/curl -q --output log/20/curl1055.out --include --trace-ascii log/20/trace1055 --trace-time http://127.0.0.1:39569/1055 -L -T log/20/test1055.txt > log/20/stdout1055 2> log/20/stderr1055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:34345/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==131934== ==131934== Process terminating with default action of signal 4 (SIGILL) ==131934== Illegal opcode at address 0x4014B6F ==131934== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131934== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131934== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131934== by 0x4004266: main (tool_main.c:199) === End of file valgrind1051 test 1054...[HTTP POST from file with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1054 ../src/curl -q --output log/16/curl1054.out --include --trace-ascii log/16/trace1054 --trace-time http://127.0.0.1:34475/blah/1054 -L -d @log/16/test1054.txt --post301 > log/16/stdout1054 2> log/16/stderr1054 1054: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1054 ../src/curl -q --output log/16/curl1054.out --include --trace-ascii log/16/trace1054 --trace-time http://127.0.0.1:34475/blah/1054 -L -d @log/16/test1054.txt --post301 > log/16/stdout1054 2> log/16/stderr1054 === End of file commands.log === Start of file http_server.log 14:54:14.916755 ====> Client connect 14:54:14.916787 accept_connection 3 returned 4 14:54:14.916804 accept_connection 3 returned 0 14:54:14.916819 Read 93 bytes 14:54:14.916830 Process 93 bytes request 14:54:14.916842 Got request: GET /verifiedserver HTTP/1.1 14:54:14.916853 Are-we-friendly question received 14:54:14.916876 Wrote request (93 bytes) input to log/16/server.input 14:54:14.916894 Identifying ourselves as friends 14:54:14.916948 Response sent (56 bytes) and written to log/16/server.response 14:54:14.916960 special request received, no persistency 14:54:14.916970 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 48214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==131993== ==131993== Process terminating with default action of signal 4 (SIGILL) ==131993== Illegal opcode at address 0x4014B6F ==131993== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131993== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131993== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131993== by 0x4004266: main (tool_main.c:199) === End of file valgrind1054 test 1053...[HTTP RFC1867-type formposting from file with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1053 ../src/curl -q --output log/1/curl1053.out --include --trace-ascii log/1/trace1053 --trace-time http://127.0.0.1:44029/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/1/test1053.txt > log/1/stdout1053 2> log/1/stderr1053 1053: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1053 ../src/curl -q --output log/1/curl1053.out --include --trace-ascii log/1/trace1053 --trace-time http://127.0.0.1:44029/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/1/test1053.txt > log/1/stdout1053 2> log/1/stderr1053 === End of file commands.log === Start of file http_server.log 14:54:14.913485 ====> Client connect 14:54:14.913515 accept_connection 3 returned 4 14:54:14.913641 accept_connection 3 returned 0 14:54:14.913658 Read 93 bytes 14:54:14.913669 Process 93 bytes request 14:54:14.913697 Got request: GET /verifiedserver HTTP/1.1 14:54:14.913708 Are-we-friendly question received 14:54:14.913731 Wrote request (93 bytes) input to log/1/server.input 14:54:14.913748 Identifying ourselves as friends 14:54:14.913798 Response sent (56 bytes) and written to log/1/server.response 14:54:14.913808 special request received, no persistency 14:54:14.913817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 59450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file test1053.txt foo- This is a moo- bar === End of file test1053.txt === Start of file valgrind1053 ==131988== ==131988== Process terminating with default action of signal 4 (SIGILL) ==131988== Illegal opcode at address 0x4014B6F ==131988== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131988== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131988== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131988== by 0x4004266: main (tool_main.c:199) === End of file valgrind1053 test 1052...[HTTP 1.0 PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:34345/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 1052: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1052 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:34345/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 === End of file commands.log === Start of file http_server.log 14:54:14.916379 ====> Client connect 14:54:14.916421 accept_connection 3 returned 4 14:54:14.916442 accept_connection 3 returned 0 14:54:14.916460 Read 93 bytes 14:54:14.916472 Process 93 bytes request 14:54:14.916487 Got request: GET /verifiedserver HTTP/1.1 14:54:14.916499 Are-we-friendly question received 14:54:14.916528 Wrote request (93 bytes) input to log/9/server.input 14:54:14.916548 Identifying ourselves as friends 14:54:14.916618 Response sent (56 bytes) and written to log/9/server.response 14:54:14.916630 special request received, no persistency 14:54:14.916640 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 60524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file test1052.txt Weird file to upload for testing the PUT feature === End of file test1052.txt === Start of file valgrind1052 ==131997== ==131997== Process terminating with default action of signal 4 (SIGILL) ==131997== Illegal opcode at address 0x4014B6F ==131997== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==131997== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==131997== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==131997== by 0x4004266: main (tool_main.c:199) === End of file valgrind1052 test 1055...[HTTP PUT Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1055 ../src/curl -q --output log/20/curl1055.out --include --trace-ascii log/20/trace1055 --trace-time http://127.0.0.1:39569/1055 -L -T log/20/test1055.txt > log/20/stdout1055 2> log/20/stderr1055 1055: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1055 ../src/curl -q --output log/20/curl1055.out --include --trace-ascii log/20/trace1055 --trace-time http://127.0.0.1:39569/1055 -L -T log/20/test1055.txt > log/20/stdout1055 2> log/20/stderr1055 === End of file commands.log === Start of file ftp_server.log 14:54:14.855535 ====> Client connect 14:54:14.855714 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.856007 < "USER anonymous" 14:54:14.856054 > "331 We are happy you popped in![CR][LF]" 14:54:14.856263 < "PASS ftp@example.com" 14:54:14.856298 > "230 Welcome you silly person[CR][LF]" 14:54:14.856492 < "PWD" 14:54:14.856531 > "257 "/" is current directory[CR][LF]" 14:54:14.856730 < "EPSV" 14:54:14.856758 ====> Passive DATA channel requested by client 14:54:14.856775 DATA sockfilt for passive data channel starting... 14:54:14.858904 DATA sockfilt for passive data channel started (pid 132033) 14:54:14.859039 DATA sockfilt for passive data channel listens on port 38553 14:54:14.859086 > "229 Entering Passive Mode (|||38553|)[LF]" 14:54:14.859110 Client has been notified that DATA conn will be accepted on port 38553 14:54:14.859546 Client connects to port 38553 14:54:14.859579 ====> Client established passive DATA connection on port 38553 14:54:14.859675 < "TYPE I" 14:54:14.859708 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.859884 < "SIZE verifiedserver" 14:54:14.859920 > "213 17[CR][LF]" 14:54:14.860079 < "RETR verifiedserver" 14:54:14.860113 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.860201 =====> Closing passive DATA connection... 14:54:14.860219 Server disconnects passive DATA connection 14:54:14.860319 Server disconnected passive DATA connection 14:54:14.860348 DATA sockfilt for passive data channel quits (pid 132033) 14:54:14.860566 DATA sockfilt for passive data channel quit (pid 132033) 14:54:14.860594 =====> Closed passive DATA connection 14:54:14.860631 > "226 File transfer complete[CR][LF]" 14:54:14.904813 < "QUIT" 14:54:14.904884 > "221 bye bye baby[CR][LF]" 14:54:14.907065 MAIN sockfilt said DISC 14:54:14.907141 ====> Client disconnected 14:54:14.907221 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:14.938246 ====> Client connect 14:54:14.938545 Received DATA (on stdin) 14:54:14.938564 > 160 bytes data, server => client 14:54:14.938579 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:14.938592 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:14.938603 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:14.938681 < 16 bytes data, client => server 14:54:14.938700 'USER anonymous\r\n' 14:54:14.938878 Received DATA (on stdin) 14:54:14.938894 > 33 bytes data, server => client 14:54:14.938907 '331 We are happy you popped in!\r\n' 14:54:14.938966 < 22 bytes data, client => server 14:54:14.938983 'PASS ftp@example.com\r\n' 14:54:14.939117 Received DATA (on stdin) 14:54:14.939133 > 30 bytes data, server => client 14:54:14.939146 '230 Welcome you silly person\r\n' 14:54:14.939203 < 5 bytes data, client => server 14:54:14.939219 'PWD\r\n' 14:54:14.939349 Received DATA (on stdin) 14:54:14.939364 > 30 bytes data, server => client 14:54:14.939377 '257 "/" is current directory\r\n' 14:54:14.939441 < 6 bytes data, client => server 14:54:14.939458 'EPSV\r\n' 14:54:14.941936 Received DATA (on stdin) 14:54:14.941955 > 38 bytes data, server => client 14:54:14.941968 '229 Entering Passive Mode (|||38553|)\n' 14:54:14.942270 < 8 bytes data, client => server 14:54:14.942360 'TYPE I\r\n' 14:54:14.942524 Received DATA (on stdin) 14:54:14.942538 > 33 bytes data, server => client 14:54:14.942551 '200 I modify TYPE as you wanted\r\n' 14:54:14.942608 < 21 bytes data, client => server 14:54:14.942622 'SIZE verifiedserver\r\n' 14:54:14.942733 Received DATA (on stdin) 14:54:14.942746 > 8 bytes data, server => client 14:54:14.942757 '213 17\r\n' 14:54:14.942808 < 21 bytes data, client => server 14:54:14.942821 'RETR verifiedserver\r\n' 14:54:14.942915 Received DATA (on stdin) 14:54:14.942932 > 29 bytes data, server => client 14:54:14.942942 '150 Binary junk (17 bytes).\r\n' 14:54:14.943451 Received DATA (on stdin) 14:54:14.943468 > 28 bytes data, server => client 14:54:14.943480 '226 File transfer complete\r\n' 14:54:14.987046 < 6 bytes data, client => server 14:54:14.987117 'QUIT\r\n' 14:54:14.987708 Received DATA (on stdin) 14:54:14.987725 > 18 bytes data, server => client 14:54:14.987737 '221 bye bye baby\r\n' 14:54:14.989770 ====> Client disconnect 14:54:14.990037 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.941522 Running IPv4 version 14:54:14.941591 Listening on port 38553 14:54:14.941629 Wrote pid 132033 to log/20/server/ftp_sockdata.pid 14:54:14.941649 Received PING (on stdin) 14:54:14.941753 Received PORT (on stdin) 14:54:14.942116 ====> Client connect 14:54:14.943000 Received DATA (on stdin) 14:54:14.943021 > 17 bytes data, server => client 14:54:14.943034 'WE ROOLZ: 80341\r\n' 14:54:14.943064 Received DISC (on stdin) 14:54:14.943080 ====> Client forcibly disconnected 14:54:14.943172 Received QUIT (on stdin) 14:54:14.943185 quits 14:54:14.943245 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:14.919709 ====> Client connect 14:54:14.919747 accept_connection 3 returned 4 14:54:14.919764 accept_connection 3 returned 0 14:54:14.919780 Read 93 bytes 14:54:14.919792 Process 93 bytes request 14:54:14.919805 Got request: GET /verifiedserver HTTP/1.1 14:54:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1059 ../src/curl -q --output log/8/curl1059.out --include --trace-ascii log/8/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:37085 > log/8/stdout1059 2> log/8/stderr1059 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1058 ../src/curl -q --output log/5/curl1058.out --include --trace-ascii log/5/trace1058 --trace-time http://127.0.0.1:46041/want/1058 -r -101 > log/5/stdout1058 2> log/5/stderr1058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1057 ../src/curl -q --output log/18/curl1057.out --include --trace-ascii log/18/trace1057 --trace-time -r -12 ftp://127.0.0.1:41069/1057 > log/18/stdout1057 2> log/18/stderr1057 4.919816 Are-we-friendly question received 14:54:14.919846 Wrote request (93 bytes) input to log/20/server.input 14:54:14.919866 Identifying ourselves as friends 14:54:14.919943 Response sent (56 bytes) and written to log/20/server.response 14:54:14.919956 special request received, no persistency 14:54:14.919967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 52098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file test1055.txt Weird file to upload for testing the PUT feature === End of file test1055.txt === Start of file valgrind1055 ==132291== ==132291== Process terminating with default action of signal 4 (SIGILL) ==132291== Illegal opcode at address 0x4014B6F ==132291== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132291== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132291== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132291== by 0x4004266: main (tool_main.c:199) === End of file valgrind1055 test 1059...[HTTP CONNECT with proxytunnel to unsupported FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1059 ../src/curl -q --output log/8/curl1059.out --include --trace-ascii log/8/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:37085 > log/8/stdout1059 2> log/8/stderr1059 1059: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1059 ../src/curl -q --output log/8/curl1059.out --include --trace-ascii log/8/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:37085 > log/8/stdout1059 2> log/8/stderr1059 === End of file commands.log === Start of file http_server.log 14:54:13.947996 ====> Client connect 14:54:13.948028 accept_connection 3 returned 4 14:54:13.948046 accept_connection 3 returned 0 14:54:13.948062 Read 93 bytes 14:54:13.948073 Process 93 bytes request 14:54:13.948088 Got request: GET /verifiedserver HTTP/1.1 14:54:13.948099 Are-we-friendly question received 14:54:13.948129 Wrote request (93 bytes) input to log/8/server.input 14:54:13.948149 Identifying ourselves as friends 14:54:13.948212 Response sent (56 bytes) and written to log/8/server.response 14:54:13.948225 special request received, no persistency 14:54:13.948236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 59186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1059 ==132137== ==132137== Process terminating with default action of signal 4 (SIGILL) ==132137== Illegal opcode at address 0x4014B6F ==132137== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132137== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132137== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132137== by 0x4004266: main (tool_main.c:199) === End of file valgrind1059 test 1058...[HTTP range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1058 ../src/curl -q --output log/5/curl1058.out --include --trace-ascii log/5/trace1058 --trace-time http://127.0.0.1:46041/want/1058 -r -101 > log/5/stdout1058 2> log/5/stderr1058 1058: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1058 ../src/curl -q --output log/5/curl1058.out --include --trace-ascii log/5/trace1058 --trace-time http://127.0.0.1:46041/want/1058 -r -101 > log/5/stdout1058 2> log/5/stderr1058 === End of file commands.log === Start of file http_server.log 14:54:14.935835 ====> Client connect 14:54:14.935870 accept_connection 3 returned 4 14:54:14.935889 accept_connection 3 returned 0 14:54:14.935905 Read 93 bytes 14:54:14.935916 Process 93 bytes request 14:54:14.935931 Got request: GET /verifiedserver HTTP/1.1 14:54:14.935942 Are-we-friendly question received 14:54:14.935970 Wrote request (93 bytes) input to log/5/server.input 14:54:14.935988 Identifying ourselves as friends 14:54:14.936048 Response sent (56 bytes) and written to log/5/server.response 14:54:14.936060 special request received, no persistency 14:54:14.936070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 34300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1058 ==132073== ==132073== Process terminating with default action of signal 4 (SIGILL) ==132073== Illegal opcode at address 0x4014B6F ==132073== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132073== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132073== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132073== by 0x4004266: main (tool_main.c:199) === End of file valgrind1058 test 1057...[FTP retrieve a byte-range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1057 ../src/curl -q --output log/18/curl1057.out --include --trace-ascii log/18/trace1057 --trace-time -r -12 ftp://127.0.0.1:41069/1057 > log/18/stdout1057 2> log/18/stderr1057 1057: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1057 === Start of file commands.log ../libtool CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1060 ../src/curl -q --output log/19/curl1060.out --include --trace-ascii log/19/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:33805 --proxy-user silly:person --proxy-digest --proxytunnel > log/19/stdout1060 2> log/19/stderr1060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1062 ../src/curl -q --output log/17/curl1062.out --include --trace-ascii log/17/trace1062 --trace-time ftp://127.0.0.1:40705/path/1062 > log/17/stdout1062 2> log/17/stderr1062 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1057 ../src/curl -q --output log/18/curl1057.out --include --trace-ascii log/18/trace1057 --trace-time -r -12 ftp://127.0.0.1:41069/1057 > log/18/stdout1057 2> log/18/stderr1057 === End of file commands.log === Start of file ftp_server.log 14:54:14.851683 ====> Client connect 14:54:14.851834 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.852123 < "USER anonymous" 14:54:14.852161 > "331 We are happy you popped in![CR][LF]" 14:54:14.852342 < "PASS ftp@example.com" 14:54:14.852372 > "230 Welcome you silly person[CR][LF]" 14:54:14.852536 < "PWD" 14:54:14.852572 > "257 "/" is current directory[CR][LF]" 14:54:14.852736 < "EPSV" 14:54:14.852761 ====> Passive DATA channel requested by client 14:54:14.852775 DATA sockfilt for passive data channel starting... 14:54:14.854829 DATA sockfilt for passive data channel started (pid 132004) 14:54:14.854970 DATA sockfilt for passive data channel listens on port 37505 14:54:14.855017 > "229 Entering Passive Mode (|||37505|)[LF]" 14:54:14.855041 Client has been notified that DATA conn will be accepted on port 37505 14:54:14.855285 Client connects to port 37505 14:54:14.855326 ====> Client established passive DATA connection on port 37505 14:54:14.855473 < "TYPE I" 14:54:14.855507 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.855968 < "SIZE verifiedserver" 14:54:14.856007 > "213 17[CR][LF]" 14:54:14.856166 < "RETR verifiedserver" 14:54:14.856200 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.856289 =====> Closing passive DATA connection... 14:54:14.856306 Server disconnects passive DATA connection 14:54:14.856445 Server disconnected passive DATA connection 14:54:14.856467 DATA sockfilt for passive data channel quits (pid 132004) 14:54:14.856747 DATA sockfilt for passive data channel quit (pid 132004) 14:54:14.856771 =====> Closed passive DATA connection 14:54:14.856801 > "226 File transfer complete[CR][LF]" 14:54:14.902488 < "QUIT" 14:54:14.902578 > "221 bye bye baby[CR][LF]" 14:54:14.902824 MAIN sockfilt said DISC 14:54:14.902883 ====> Client disconnected 14:54:14.902972 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:14.934396 ====> Client connect 14:54:14.934663 Received DATA (on stdin) 14:54:14.934679 > 160 bytes data, server => client 14:54:14.934693 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:14.934705 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:14.934717 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:14.934796 < 16 bytes data, client => server 14:54:14.934809 'USER anonymous\r\n' 14:54:14.934979 Received DATA (on stdin) 14:54:14.934993 > 33 bytes data, server => client 14:54:14.935005 '331 We are happy you popped in!\r\n' 14:54:14.935058 < 22 bytes data, client => server 14:54:14.935071 'PASS ftp@example.com\r\n' 14:54:14.935184 Received DATA (on stdin) 14:54:14.935197 > 30 bytes data, server => client 14:54:14.935209 '230 Welcome you silly person\r\n' 14:54:14.935262 < 5 bytes data, client => server 14:54:14.935275 'PWD\r\n' 14:54:14.935385 Received DATA (on stdin) 14:54:14.935397 > 30 bytes data, server => client 14:54:14.935409 '257 "/" is current directory\r\n' 14:54:14.935466 < 6 bytes data, client => server 14:54:14.935478 'EPSV\r\n' 14:54:14.937869 Received DATA (on stdin) 14:54:14.937888 > 38 bytes data, server => client 14:54:14.937901 '229 Entering Passive Mode (|||37505|)\n' 14:54:14.938175 < 8 bytes data, client => server 14:54:14.938192 'TYPE I\r\n' 14:54:14.938322 Received DATA (on stdin) 14:54:14.938608 > 33 bytes data, server => client 14:54:14.938626 '200 I modify TYPE as you wanted\r\n' 14:54:14.938685 < 21 bytes data, client => server 14:54:14.938698 'SIZE verifiedserver\r\n' 14:54:14.938821 Received DATA (on stdin) 14:54:14.938834 > 8 bytes data, server => client 14:54:14.938846 '213 17\r\n' 14:54:14.938896 < 21 bytes data, client => server 14:54:14.938909 'RETR verifiedserver\r\n' 14:54:14.939077 Received DATA (on stdin) 14:54:14.939101 > 29 bytes data, server => client 14:54:14.939115 '150 Binary junk (17 bytes).\r\n' 14:54:14.939619 Received DATA (on stdin) 14:54:14.939636 > 28 bytes data, server => client 14:54:14.939648 '226 File transfer complete\r\n' 14:54:14.984516 < 6 bytes data, client => server 14:54:14.984545 'QUIT\r\n' 14:54:14.985409 Received DATA (on stdin) 14:54:14.985426 > 18 bytes data, server => client 14:54:14.985438 '221 bye bye baby\r\n' 14:54:14.985553 ====> Client disconnect 14:54:14.985803 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.937287 Running IPv4 version 14:54:14.937350 Listening on port 37505 14:54:14.937386 Wrote pid 132004 to log/18/server/ftp_sockdata.pid 14:54:14.937582 Received PING (on stdin) 14:54:14.937683 Received PORT (on stdin) 14:54:14.938032 ====> Client connect 14:54:14.939128 Received DATA (on stdin) 14:54:14.939150 > 17 bytes data, server => client 14:54:14.939162 'WE ROOLZ: 80342\r\n' 14:54:14.939191 Received DISC (on stdin) 14:54:14.939204 ====> Client forcibly disconnected 14:54:14.939288 Received QUIT (on stdin) 14:54:14.939300 quits 14:54:14.939363 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==132276== ==132276== Process terminating with default action of signal 4 (SIGILL) ==132276== Illegal opcode at address 0x4014B6F ==132276== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132276== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132276== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132276== by 0x4004266: main (tool_main.c:199) === End of file valgrind1057 test 1060...[HTTP proxy CONNECT auth Digest, large headers and data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1060 ../src/curl -q --output log/19/curl1060.out --include --trace-ascii log/19/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:33805 --proxy-user silly:person --proxy-digest --proxytunnel > log/19/stdout1060 2> log/19/stderr1060 1060: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1060 ../src/curl -q --output log/19/curl1060.out --include --trace-ascii log/19/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:33805 --proxy-user silly:person --proxy-digest --proxytunnel > log/19/stdout1060 2> log/19/stderr1060 === End of file commands.log === Start of file http_server.log 14:54:14.036285 ====> Client connect 14:54:14.036398 accept_connection 3 returned 4 14:54:14.036426 accept_connection 3 returned 0 14:54:14.036443 Read 93 bytes 14:54:14.036454 Process 93 bytes request 14:54:14.036469 Got request: GET /verifiedserver HTTP/1.1 14:54:14.036479 Are-we-friendly question received 14:54:14.036513 Wrote request (93 bytes) input to log/19/server.input 14:54:14.036531 Identifying ourselves as friends 14:54:14.036585 Response sent (56 bytes) and written to log/19/server.response 14:54:14.036596 special request received, no persistency 14:54:14.036606 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 43098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1060 ==132460== ==132460== Process terminating with default action of signal 4 (SIGILL) ==132460== Illegal opcode at address 0x4014B6F ==132460== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132460== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132460== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132460== by 0x4004266: main (tool_main.c:199) === End of file valgrind1060 test 1062...[FTP with excessively long server command response lines, boundary condition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1062 ../src/curl -q --output log/17/curl1062.out --include --trace-ascii log/17/trace1062 --trace-time ftp://127.0.0.1:40705/path/1062 > log/17/stdout1062 2> log/17/stderr1062 1062: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1062 ../src/curl -q --output log/17/curl1062.out --include --trace-ascii log/17/trace1062 --trace-time ftp://127.0.0.1:40705/path/1062 > log/17/stdout1062 2> log/17/stderr1062 === End of file commands.log === Start of file ftp_server.log 14:54:14.993103 ====> Client connect 14:54:14.993263 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:14.993581 < "USER anonymous" 14:54:14.993623 > "331 We are happy you popped in![CR][LF]" 14:54:14.993823 < "PASS ftp@example.com" 14:54:14.993856 > "230 Welcome you silly person[CR][LF]" 14:54:14.994035 < "PWD" 14:54:14.994067 > "257 "/" is current directory[CR][LF]" 14:54:14.994249 < "EPSV" 14:54:14.994275 ====> Passive DATA channel requested by client 14:54:14.994291 DATA sockfilt for passive data channel starting... 14:54:14.995958 DATA sockfilt for passive data channel started (pid 132430) 14:54:14.996073 DATA sockfilt for passive data channel listens on port 34975 14:54:14.996115 > "229 Entering Passive Mode (|||34975|)[LF]" 14:54:14.996136 Client has been notified that DATA conn will be accepted on port 34975 14:54:14.996369 Client connects to port 34975 14:54:14.996399 ====> Client established passive DATA connection on port 34975 14:54:14.996477 < "TYPE I" 14:54:14.996506 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:14.996672 < "SIZE verifiedserver" 14:54:14.996710 > "213 17[CR][LF]" 14:54:14.996879 < "RETR verifiedserver" 14:54:14.996915 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:14.997003 =====> Closing passive DATA connection... 14:54:14.997020 Server disconnects passive DATA connection 14:54:14.997271 Server disconnected passive DATA connection 14:54:14.997300 DATA sockfilt for passive data channel quits (pid 132430) 14:54:14.997512 DATA sockfilt for passive data channel quit (pid 132430) 14:54:14.997536 =====> Closed passive DATA connection 14:54:14.997561 > "226 File transfer complete[CR][LF]" 14:54:15.040538 < "QUIT" 14:54:15.040587 > "221 bye bye baby[CR][LF]" 14:54:15.041439 MAIN sockfilt said DISC 14:54:15.041469 ====> Client disconnected 14:54:15.041552 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:15.075788 ====> Client connect 14:54:15.076093 Received DATA (on stdin) 14:54:15.076110 > 160 bytes data, server => client 14:54:15.076124 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:15.076136 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:15.076148 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:15.076228 < 16 bytes data, client => server 14:54:15.076245 'USER anonymous\r\n' 14:54:15.076445 Received DATA (on stdin) 14:54:15.076461 > 33 bytes data, server => client 14:54:15.076474 '331 We are happy you popped in!\r\n' 14:54:15.076531 < 22 bytes data, client => server 14:54:15.076546 'PASS ftp@example.com\r\n' 14:54:15.076672 Received DATA (on stdin) 14:54:15.076687 > 30 bytes data, server => client 14:54:15.076699 '230 Welcome you silly person\r\n' 14:54:15.076755 < 5 bytes data, client => server 14:54:15.076769 'PWD\r\n' 14:54:15.076882 Received DATA (on stdin) 14:54:15.076895 > 30 bytes data, server => client 14:54:15.076907 '257 "/" is current directory\r\n' 14:54:15.076970 < 6 bytes data, client => server 14:54:15.076984 'EPSV\r\n' 14:54:15.078954 Received DATA (on stdin) 14:54:15.078969 > 38 bytes data, server => client 14:54:15.078982 '229 Entering Passive Mode (|||34975|)\n' 14:54:15.079129 < 8 bytes data, client => server 14:54:15.079142 'TYPE I\r\n' 14:54:15.079322 Received DATA (on stdin) 14:54:15.079335 > 33 bytes data, server => client 14:54:15.079348 '200 I modify TYPE as you wanted\r\n' 14:54:15.079399 < 21 bytes data, client => server 14:54:15.079412 'SIZE verifiedserver\r\n' 14:54:15.079523 Received DATA (on stdin) 14:54:15.079536 > 8 bytes data, server => client 14:54:15.079548 '213 17\r\n' 14:54:15.079597 < 21 bytes data, client => server 14:54:15.079610 'RETR verifiedserver\r\n' 14:54:15.079838 Received DATA (on stdin) 14:54:15.079852 > 29 bytes data, server => client 14:54:15.079864 '150 Binary junk (17 bytes).\r\n' 14:54:15.080376 Received DATA (on stdin) 14:54:15.080390 > 28 bytes data, server => client 14:54:15.080403 '226 File transfer complete\r\n' 14:54:15.123141 < 6 bytes data, client => server 14:54:15.123179 'QUIT\r\n' 14:54:15.123404 Received DATA (on stdin) 14:54:15.123417 > 18 bytes data, server => client 14:54:15.123429 '221 bye bye baby\r\n' 14:54:15.124203 ====> Client disconnect 14:54:15.124367 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:14.078590 Running IPv4 version 14:54:14.078651 Listening on port 34975 14:54:14.078688 Wrote pid 132430 to log/17/server/ftp_sockdata.pid 14:54:14.078710 Received PING (on stdin) 14:54:14.078801 Received PORT (on stdin) 14:54:14.079100 ====> Client connect 14:54:14.079891 Received DATA (on stdin) 14:54:14.079906 > 17 bytes data, server => client 14:54:14.079918 'WE ROOLZ: 91632\r\n' 14:54:14.079942 Received DISC (on stdin) 14:54:14.079955 ====> Client forcibly disconnected 14:54:14.080122 Received QUIT (on stdin) 14:54:14.080136 quits 14:54:14.080192 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-A Exactly fill curl's buffer\r\n250 Finally, here is the response, boundary condition Testnum 1062 === End of file server.cmd === Start of file valgrind1062 ==132440== ==132440== Process terminating with default action of signal 4 (SIGILL) ==132440== Illegal opcode at address 0x4014B6F ==132440== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132440== by 0x4004266: UnknownInlinedFuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1061 ../src/curl -q --output log/24/curl1061.out --include --trace-ascii log/24/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:34449 --proxy-user silly:person --proxy-digest --proxytunnel > log/24/stdout1061 2> log/24/stderr1061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1063 ../src/curl -q --output log/22/curl1063.out --include --trace-ascii log/22/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/22/test1063.txt > log/22/stdout1063 2> log/22/stderr1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1064 ../src/curl -q --include --trace-ascii log/14/trace1064 --trace-time -H "Expect:" -T log/14/1064 http://127.0.0.1:46043/1064.upload1 -T log/14/1064 http://127.0.0.1:46043/10640002.upload2 > log/14/stdout1064 2> log/14/stderr1064 n (tool_getparam.c:3017) ==132440== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132440== by 0x4004266: main (tool_main.c:199) === End of file valgrind1062 test 1061...[HTTP proxy CONNECT auth Digest, large headers and chunked data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1061 ../src/curl -q --output log/24/curl1061.out --include --trace-ascii log/24/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:34449 --proxy-user silly:person --proxy-digest --proxytunnel > log/24/stdout1061 2> log/24/stderr1061 1061: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1061 ../src/curl -q --output log/24/curl1061.out --include --trace-ascii log/24/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:34449 --proxy-user silly:person --proxy-digest --proxytunnel > log/24/stdout1061 2> log/24/stderr1061 === End of file commands.log === Start of file http_server.log 14:54:15.061376 ====> Client connect 14:54:15.061414 accept_connection 3 returned 4 14:54:15.061432 accept_connection 3 returned 0 14:54:15.061448 Read 93 bytes 14:54:15.061460 Process 93 bytes request 14:54:15.061475 Got request: GET /verifiedserver HTTP/1.1 14:54:15.061486 Are-we-friendly question received 14:54:15.061511 Wrote request (93 bytes) input to log/24/server.input 14:54:15.061528 Identifying ourselves as friends 14:54:15.061582 Response sent (56 bytes) and written to log/24/server.response 14:54:15.061593 special request received, no persistency 14:54:15.061604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1061 ==132517== ==132517== Process terminating with default action of signal 4 (SIGILL) ==132517== Illegal opcode at address 0x4014B6F ==132517== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132517== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132517== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132517== by 0x4004266: main (tool_main.c:199) === End of file valgrind1061 test 1063...[Invalid large X- range on a file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1063 ../src/curl -q --output log/22/curl1063.out --include --trace-ascii log/22/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/22/test1063.txt > log/22/stdout1063 2> log/22/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/22/ dir after test 1063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1063 ../src/curl -q --output log/22/curl1063.out --include --trace-ascii log/22/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/22/test1063.txt > log/22/stdout1063 2> log/22/stderr1063 === End of file commands.log === Start of file server.cmd Testnum 1063 === End of file server.cmd === Start of file test1063.txt 1234567890 1234567890 === End of file test1063.txt === Start of file valgrind1063 ==132607== ==132607== Process terminating with default action of signal 4 (SIGILL) ==132607== Illegal opcode at address 0x4014B6F ==132607== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132607== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132607== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132607== by 0x4004266: main (tool_main.c:199) === End of file valgrind1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1065 ../src/curl -q --include --trace-ascii log/6/trace1065 --trace-time -H "Expect:" -T log/6/1065 http://127.0.0.1:38791/1065.upload1 http://127.0.0.1:38791/10650002.url2 > log/6/stdout1065 2> log/6/stderr1065 test 1064...[HTTP PUT twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1064 ../src/curl -q --include --trace-ascii log/14/trace1064 --trace-time -H "Expect:" -T log/14/1064 http://127.0.0.1:46043/1064.upload1 -T log/14/1064 http://127.0.0.1:46043/10640002.upload2 > log/14/stdout1064 2> log/14/stderr1064 1064: stdout FAILED: --- log/14/check-expected 2025-09-11 14:54:16.215531308 +0000 +++ log/14/check-generated 2025-09-11 14:54:16.215531308 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/14/ dir after test 1064 === Start of file 1064 test === End of file 1064 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1064 ../src/curl -q --include --trace-ascii log/14/trace1064 --trace-time -H "Expect:" -T log/14/1064 http://127.0.0.1:46043/1064.upload1 -T log/14/1064 http://127.0.0.1:46043/10640002.upload2 > log/14/stdout1064 2> log/14/stderr1064 === End of file commands.log === Start of file http_server.log 14:54:15.317982 ====> Client connect 14:54:15.318017 accept_connection 3 returned 4 14:54:15.318035 accept_connection 3 returned 0 14:54:15.318051 Read 93 bytes 14:54:15.318062 Process 93 bytes request 14:54:15.318076 Got request: GET /verifiedserver HTTP/1.1 14:54:15.318086 Are-we-friendly question received 14:54:15.318114 Wrote request (93 bytes) input to log/14/server.input 14:54:15.318131 Identifying ourselves as friends 14:54:15.318186 Response sent (56 bytes) and written to log/14/server.response 14:54:15.318198 special request received, no persistency 14:54:15.318207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1064 ==132648== ==132648== Process terminating with default action of signal 4 (SIGILL) ==132648== Illegal opcode at address 0x4014B6F ==132648== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132648== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132648== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132648== by 0x4004266: main (tool_main.c:199) === End of file valgrind1064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:37587/want/1066 http://127.0.0.1:37587/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/stderr1066 test 1065...[HTTP PUT with one file but two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1065 ../src/curl -q --include --trace-ascii log/6/trace1065 --trace-time -H "Expect:" -T log/6/1065 http://127.0.0.1:38791/1065.upload1 http://127.0.0.1:38791/10650002.url2 > log/6/stdout1065 2> log/6/stderr1065 1065: stdout FAILED: --- log/6/check-expected 2025-09-11 14:54:16.305531310 +0000 +++ log/6/check-generated 2025-09-11 14:54:16.305531310 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/6/ dir after test 1065 === Start of file 1065 test === End of file 1065 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1065 ../src/curl -q --include --trace-ascii log/6/trace1065 --trace-time -H "Expect:" -T log/6/1065 http://127.0.0.1:38791/1065.upload1 http://127.0.0.1:38791/10650002.url2 > log/6/stdout1065 2> log/6/stderr1065 === End of file commands.log === Start of file http_server.log 14:54:15.389076 ====> Client connect 14:54:15.389114 accept_connection 3 returned 4 14:54:15.389133 accept_connection 3 returned 0 14:54:15.389151 Read 93 bytes 14:54:15.389163 Process 93 bytes request 14:54:15.389178 Got request: GET /verifiedserver HTTP/1.1 14:54:15.389188 Are-we-friendly question received 14:54:15.389216 Wrote request (93 bytes) input to log/6/server.input 14:54:15.389235 Identifying ourselves as friends 14:54:15.389292 Response sent (56 bytes) and written to log/6/server.response 14:54:15.389303 special request received, no persistency 14:54:15.389313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1065 ==132744== ==132744== Process terminating with default action of signal 4 (SIGILL) ==132744== Illegal opcode at address 0x4014B6F ==132744== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132744== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132744== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132744== by 0x4004266: main (tool_main.c:199) === End of file valgrind1065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1069 ../src/curl -q --output log/12/curl1069.out --include --trace-ascii log/12/trace1069 --trace-time http://127.0.0.1:43359/bzz/1069 -T - -0 log/12/stdout1069 2> log/12/stderr1069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:41533/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 test 1066...[HTTP --dump-header - with two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:37587/want/1066 http://127.0.0.1:37587/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/stderr1066 1066: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:16.552197979 +0000 +++ log/2/check-generated 2025-09-11 14:54:16.552197979 +0000 @@ -1,22 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 6[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -[CR][LF] -first[LF] -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 7[CR][LF] -Content-Length: 7[CR][LF] -[CR][LF] -[CR][LF] -second[LF] == Contents of files in the log/2/ dir after test 1066 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 6[CR][LF] Content-Length: 6[CR][LF] [CR][LF] [CR][LF] first[LF] HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 7[CR][LF] Content-Length: 7[CR][LF] [CR][LF] [CR][LF] second[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:37587/want/1066 http://127.0.0.1:37587/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/stderr1066 === End of file commands.log === Start of file http_server.log 14:54:15.619712 ====> Client connect 14:54:15.619755 accept_connection 3 returned 4 14:54:15.619827 accept_connection 3 returned 0 14:54:15.619845 Read 93 bytes 14:54:15.619857 Process 93 bytes request 14:54:15.619872 Got request: GET /verifiedserver HTTP/1.1 14:54:15.619890 Are-we-friendly question received 14:54:15.619939 Wrote request (93 bytes) input to log/2/server.input 14:54:15.619967 Identifying ourselves as friends 14:54:15.620031 Response sent (56 bytes) and written to log/2/server.response 14:54:15.620042 special request received, no persistency 14:54:15.620053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 44334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1066 ==132889== ==132889== Process terminating with default action of signal 4 (SIGILL) ==132889== Illegal opcode at address 0x4014B6F ==132889== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132889== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132889== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132889== by 0x4004266: main (tool_main.c:199) === End of file valgrind1066 test 1069...[HTTP 1.0 PUT from stdin with no content length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1069 ../src/curl -q --output log/12/curl1069.out --include --trace-ascii log/12/trace1069 --trace-time http://127.0.0.1:43359/bzz/1069 -T - -0 log/12/stdout1069 2> log/12/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/12/ dir after test 1069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1069 ../src/curl -q --output log/12/curl1069.out --include --trace-ascii log/12/trace1069 --trace-time http://127.0.0.1:43359/bzz/1069 -T - -0 log/12/stdout1069 2> log/12/stderr1069 === End of file commands.log === Start of file http_server.log 14:54:15.639438 ====> Client connect 14:54:15.639472 accept_connection 3 returned 4 14:54:15.639490 accept_connection 3 returned 0 14:54:15.639506 Read 93 bytes 14:54:15.639518 Process 93 bytes request 14:54:15.639531 Got request: GET /verifiedserver HTTP/1.1 14:54:15.639542 Are-we-friendly question received 14:54:15.639569 Wrote request (93 bytes) input to log/12/server.input 14:54:15.639586 Identifying ourselves as friends 14:54:15.639640 Response sent (56 bytes) and written to log/12/server.response 14:54:15.639664 special request received, no persistency 14:54:15.639675 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stdin-for-1069 this data can't be sent === End of file stdin-for-1069 === Start of file valgrind1069 ==132936== ==132936== Process terminating with default action of signal 4 (SIGILL) ==132936== Illegal opcode at address 0x4014B6F ==132936== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132936== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132936== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132936== by 0x4004266: main (tool_main.c:199) === End of file valgrind1069 test 1070...[HTTP POST with server closing connection before (all) data is received] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:41533/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 1070: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1070 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:41533/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 === End of file commands.log === Start of file http_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1067 ../src/curl -q --output log/4/curl1067.out --include --trace-ascii log/4/trace1067 --trace-time http://127.0.0.1:39793/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/4/stdout1067 2> log/4/stderr1067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1068 ../src/curl -q --output log/23/curl1068.out --include --trace-ascii log/23/trace1068 --trace-time http://127.0.0.1:38851/bzz/1068 -T - log/23/stdout1068 2> log/23/stderr1068 server.log 14:54:15.646973 ====> Client connect 14:54:15.647009 accept_connection 3 returned 4 14:54:15.647028 accept_connection 3 returned 0 14:54:15.647044 Read 93 bytes 14:54:15.647056 Process 93 bytes request 14:54:15.647069 Got request: GET /verifiedserver HTTP/1.1 14:54:15.647080 Are-we-friendly question received 14:54:15.647106 Wrote request (93 bytes) input to log/13/server.input 14:54:15.647125 Identifying ourselves as friends 14:54:15.647183 Response sent (56 bytes) and written to log/13/server.response 14:54:15.647196 special request received, no persistency 14:54:15.647207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 58340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file input1070 This creates the named file with this content before the test case is run, which is useful if the test case needs a file to act on. We create this file rather large (larger than your typical TCP packet) so that not all of it can nor will be sent in one go as that is kind of the point of this test Here's 2000 x 'O': OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO === End of file input1070 === Start of file server.cmd skip: 2300 Testnum 1070 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1070 ==132985== ==132985== Process terminating with default action of signal 4 (SIGILL) ==132985== Illegal opcode at address 0x4014B6F ==132985== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132985== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132985== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132985== by 0x4004266: main (tool_main.c:199) === End of file valgrind1070 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:45445/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 test 1067...[HTTP Location: following with auto-referer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1067 ../src/curl -q --output log/4/curl1067.out --include --trace-ascii log/4/trace1067 --trace-time http://127.0.0.1:39793/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/4/stdout1067 2> log/4/stderr1067 1067: stderr FAILED: --- log/4/check-expected 2025-09-11 14:54:16.565531314 +0000 +++ log/4/check-generated 2025-09-11 14:54:16.565531314 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:39793/want/1067| == Contents of files in the log/4/ dir after test 1067 === Start of file check-expected |http://127.0.0.1:39793/want/1067| === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1067 ../src/curl -q --output log/4/curl1067.out --include --trace-ascii log/4/trace1067 --trace-time http://127.0.0.1:39793/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/4/stdout1067 2> log/4/stderr1067 === End of file commands.log === Start of file http_server.log 14:54:15.625905 ====> Client connect 14:54:15.625940 accept_connection 3 returned 4 14:54:15.625958 accept_connection 3 returned 0 14:54:15.625974 Read 93 bytes 14:54:15.625985 Process 93 bytes request 14:54:15.626000 Got request: GET /verifiedserver HTTP/1.1 14:54:15.626012 Are-we-friendly question received 14:54:15.626038 Wrote request (93 bytes) input to log/4/server.input 14:54:15.626059 Identifying ourselves as friends 14:54:15.626117 Response sent (56 bytes) and written to log/4/server.response 14:54:15.626129 special request received, no persistency 14:54:15.626140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1067 ==132906== ==132906== Process terminating with default action of signal 4 (SIGILL) ==132906== Illegal opcode at address 0x4014B6F ==132906== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132906== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132906== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132906== by 0x4004266: main (tool_main.c:199) === End of file valgrind1067 test 1068...[HTTP PUT from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1068 ../src/curl -q --output log/23/curl1068.out --include --trace-ascii log/23/trace1068 --trace-time http://127.0.0.1:38851/bzz/1068 -T - log/23/stdout1068 2> log/23/stderr1068 1068: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1068 ../src/curl -q --output log/23/curl1068.out --include --trace-ascii log/23/trace1068 --trace-time http://127.0.0.1:38851/bzz/1068 -T - log/23/stdout1068 2> log/23/stderr1068 === End of file commands.log === Start of file http_server.log 14:54:15.633844 ====> Client connect 14:54:15.633879 accept_connection 3 returned 4 14:54:15.633897 accept_connection 3 returned 0 14:54:15.633913 Read 93 bytes 14:54:15.633924 Process 93 bytes request 14:54:15.633939 Got request: GET /verifiedserver HTTP/1.1 14:54:15.633950 Are-we-friendly question received 14:54:15.633978 Wrote request (93 bytes) input to log/23/server.input 14:54:15.633997 Identifying ourselves as friends 14:54:15.634061 Response sent (56 bytes) and written to log/23/server.response 14:54:15.634073 special request received, no persistency 14:54:15.634084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 45468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stdin-for-1068 more than one byte === End of file stdin-for-1068 === Start of file valgrind1068 ==132920== ==132920== Process terminating with default action of signal 4 (SIGILL) ==132920== Illegal opcode at address 0x4014B6F ==132920== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==132920== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==132920== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==132920== by 0x4004266: main (tool_main.c:199) === End of file valgrind1068 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_ipv6_server.pid" --logfile "log/10/http_ipv6_server.log" --logdir "log/10" --portfile log/10/server/http_ipv6_server.port --config log/10/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 131509 port 45445 * pid http-ipv6 => 131509 131509 test 1046...[HTTP-IPv6 GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:45445/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 1046: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1046 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:45445/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 === End of file commands.log === Start of file http_ipv6_server.log 14:54:14.692978 Running HTTP IPv6 version on port 45445 14:54:14.693084 Wrote pid 131509 to log/10/server/http_ipv6_server.pid 14:54:14.693119 Wrote port 45445 to log/10/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1046 === End of file server.cmd === Start of file valgrind1046 ==133119== ==133119== Process terminating with default action of signal 4 (SIGILL) ==133119== IlleCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1071 ../src/curl -q --output log/7/curl1071.out --include --trace-ascii log/7/trace1071 --trace-time http://127.0.0.1:40545/1071 -T log/7/put1071 -u testuser:testpass --anyauth > log/7/stdout1071 2> log/7/stderr1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1048 ../src/curl -q --output log/15/curl1048.out --include --trace-ascii log/15/trace1048 --trace-time -g "ftp://[::1]:45329/" --interface ::1 > log/15/stdout1048 2> log/15/stderr1048 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1050 ../src/curl -q --output log/11/curl1050.out --include --trace-ascii log/11/trace1050 --trace-time -g "ftp://[::1]:40869/" -P ::1 > log/11/stdout1050 2> log/11/stderr1050 gal opcode at address 0x4014B6F ==133119== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133119== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133119== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133119== by 0x4004266: main (tool_main.c:199) === End of file valgrind1046 test 1071...[Downgraded HTTP PUT to HTTP 1.0 with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1071 ../src/curl -q --output log/7/curl1071.out --include --trace-ascii log/7/trace1071 --trace-time http://127.0.0.1:40545/1071 -T log/7/put1071 -u testuser:testpass --anyauth > log/7/stdout1071 2> log/7/stderr1071 1071: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1071 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1071 ../src/curl -q --output log/7/curl1071.out --include --trace-ascii log/7/trace1071 --trace-time http://127.0.0.1:40545/1071 -T log/7/put1071 -u testuser:testpass --anyauth > log/7/stdout1071 2> log/7/stderr1071 === End of file commands.log === Start of file http_server.log 14:54:15.676841 ====> Client connect 14:54:15.676879 accept_connection 3 returned 4 14:54:15.676898 accept_connection 3 returned 0 14:54:15.676915 Read 93 bytes 14:54:15.676928 Process 93 bytes request 14:54:15.676942 Got request: GET /verifiedserver HTTP/1.1 14:54:15.676953 Are-we-friendly question received 14:54:15.676981 Wrote request (93 bytes) input to log/7/server.input 14:54:15.676999 Identifying ourselves as friends 14:54:15.677059 Response sent (56 bytes) and written to log/7/server.response 14:54:15.677071 special request received, no persistency 14:54:15.677082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file put1071 This is data we upload with PUT a second line line three four is the number of lines === End of file put1071 === Start of file server.cmd Testnum 1071 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1071 ==133163== ==133163== Process terminating with default action of signal 4 (SIGILL) ==133163== Illegal opcode at address 0x4014B6F ==133163== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133163== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133163== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133163== by 0x4004266: main (tool_main.c:199) === End of file valgrind1071 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_ipv6_server.pid" --logfile "log/15/ftp_ipv6_server.log" --logdir "log/15" --portfile "log/15/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 45329 (log/15/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 131578 port 45329 * pid ftp-ipv6 => 131578 131578 test 1048...[FTP-IPv6 dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1048 ../src/curl -q --output log/15/curl1048.out --include --trace-ascii log/15/trace1048 --trace-time -g "ftp://[::1]:45329/" --interface ::1 > log/15/stdout1048 2> log/15/stderr1048 1048: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1048 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1048 ../src/curl -q --output log/15/curl1048.out --include --trace-ascii log/15/trace1048 --trace-time -g "ftp://[::1]:45329/" --interface ::1 > log/15/stdout1048 2> log/15/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 14:54:14.655155 FTP server listens on port IPv6/45329 14:54:14.655274 logged pid 131578 in log/15/server/ftp_ipv6_server.pid 14:54:14.655306 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:54:14.736965 Running IPv6 version 14:54:14.737033 Listening on port 45329 14:54:14.737089 Wrote pid 131682 to log/15/server/ftp_ipv6_sockctrl.pid 14:54:14.737119 Wrote port 45329 to log/15/server/ftp_ipv6_server.port 14:54:14.737800 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1048 === End of file server.cmd === Start of file valgrind1048 ==133205== ==133205== Process terminating with default action of signal 4 (SIGILL) ==133205== Illegal opcode at address 0x4014B6F ==133205== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133205== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133205== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133205== by 0x4004266: main (tool_main.c:199) === End of file valgrind1048 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_ipv6_server.pid" --logfile "log/11/ftp_ipv6_server.log" --logdir "log/11" --portfile "log/11/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 40869 (log/11/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 131822 port 40869 * pid ftp-ipv6 => 131822 131822 test 1050...[FTP-IPv6 dir list, EPRT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1050 ../src/curl -q --output log/11/curl1050.out --include --trace-ascii log/11/trace1050 --trace-time -g "ftp://[::1]:40869/" -P ::1 > log/11/stdout1050 2> log/11/stderr1050 1050: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1050 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1050 ../src/curl -q --output log/11/curl1050.out --include --trace-ascii log/11/trace1050 --trace-time -g "ftp://[::1]:40869/" -P ::1 > log/11/stdout1050 2> log/11/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 14:54:14.777719 FTP server listens on port IPv6/40869 14:54:14.777806 logged pid 131822 in log/11/server/ftp_ipv6_server.pid 14:54:14.777828 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 14:54:14.860329 Running IPv6 version 14:54:14.860386 Listening on port 40869 14:54:14.860415 Wrote pid 131827 to log/11/server/ftp_ipv6_sockctrl.pid 14:54:14.860438 Wrote port 40869 to log/11/server/ftp_ipv6_server.port 14:54:14.860454 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1078 ../src/curl -q --include --trace-ascii log/5/trace1078 --trace-time --proxy1.0 127.0.0.1:44127 -p http://127.0.0.1:46041/we/want/that/page/1078 http://127.0.0.1:46041/we/want/that/page/1078 > log/5/stdout1078 2> log/5/stderr1078 art of file valgrind1050 ==133317== ==133317== Process terminating with default action of signal 4 (SIGILL) ==133317== Illegal opcode at address 0x4014B6F ==133317== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133317== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133317== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133317== by 0x4004266: main (tool_main.c:199) === End of file valgrind1050 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1081 ../src/curl -q --include --trace-ascii log/17/trace1081 --trace-time http://127.0.0.1:45171/we/want/our/1081 http://127.0.0.1:45171/we/want/our/10810002 -w '%{redirect_url}\n' > log/17/stdout1081 2> log/17/stderr1081 test 1078...[HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1078 ../src/curl -q --include --trace-ascii log/5/trace1078 --trace-time --proxy1.0 127.0.0.1:44127 -p http://127.0.0.1:46041/we/want/that/page/1078 http://127.0.0.1:46041/we/want/that/page/1078 > log/5/stdout1078 2> log/5/stderr1078 1078: stdout FAILED: --- log/5/check-expected 2025-09-11 14:54:16.858864651 +0000 +++ log/5/check-generated 2025-09-11 14:54:16.858864651 +0000 @@ -1,21 +0,0 @@ -HTTP/1.1 200 Mighty fine indeed[CR][LF] -Server: test tunnel 2000[CR][LF] -[CR][LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] == Contents of files in the log/5/ dir after test 1078 === Start of file check-expected HTTP/1.1 200 Mighty fine indeed[CR][LF] Server: test tunnel 2000[CR][LF] [CR][LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1078 ../src/curl -q --include --trace-ascii log/5/trace1078 --trace-time --proxy1.0 127.0.0.1:44127 -p http://127.0.0.1:46041/we/want/that/page/1078 http://127.0.0.1:46041/we/want/that/page/1078 > log/5/stdout1078 2> log/5/stderr1078 === End of file commands.log === Start of file http2_server.log 14:54:15.998995 ====> Client connect 14:54:15.999034 accept_connection 3 returned 4 14:54:15.999053 accept_connection 3 returned 0 14:54:15.999070 Read 93 bytes 14:54:15.999086 Process 93 bytes request 14:54:15.999099 Got request: GET /verifiedserver HTTP/1.1 14:54:15.999110 Are-we-friendly question received 14:54:15.999134 Wrote request (93 bytes) input to log/5/proxy.input 14:54:15.999155 Identifying ourselves as friends 14:54:15.999232 Response sent (57 bytes) and written to log/5/proxy.response 14:54:15.999247 special request received, no persistency 14:54:15.999257 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44127... * Established connection to 127.0.0.1 (127.0.0.1 port 44127) from 127.0.0.1 port 45784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44127 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44127 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112724 === End of file http2_verify.out === Start of file http_server.log 14:54:15.978718 ====> Client connect 14:54:15.978753 accept_connection 3 returned 4 14:54:15.978771 accept_connection 3 returned 0 14:54:15.978787 Read 93 bytes 14:54:15.978798 Process 93 bytes request 14:54:15.978811 Got request: GET /verifiedserver HTTP/1.1 14:54:15.978822 Are-we-friendly question received 14:54:15.978849 Wrote request (93 bytes) input to log/5/server.input 14:54:15.978867 Identifying ourselves as friends 14:54:15.978929 Response sent (56 bytes) and written to log/5/server.response 14:54:15.978941 special request received, no persistency 14:54:15.978951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112724 === End of file proxy.response === Start of file server.cmd Testnum 1078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1078 ==133742== ==133742== Process terminating with default action of signal 4 (SIGILL) ==133742== Illegal opcode at address 0x4014B6F ==133742== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133742== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133742== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133742== by 0x4004266: main (tool_main.c:199) === End of file valgrind1078 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1080 ../src/curl -q --include --trace-ascii log/19/trace1080 --trace-time http://127.0.0.1:33805/we/want/our/1080 http://127.0.0.1:33805/we/want/our/1080 -w '%{redirect_url}\n' > log/19/stdout1080 2> log/19/stderr1080 test 1081...[HTTP no Location: on second URL 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1081 ../src/curl -q --include --trace-ascii log/17/trace1081 --trace-time http://127.0.0.1:45171/we/want/our/1081 http://127.0.0.1:45171/we/want/our/10810002 -w '%{redirect_url}\n' > log/17/stdout1081 2> log/17/stderr1081 1081: stdout FAILED: --- log/17/check-expected 2025-09-11 14:54:16.902197985 +0000 +++ log/17/check-generated 2025-09-11 14:54:16.902197985 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10810099.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:45171/we/want/our/data/10810099.txt?coolsite=yes[LF] -HTTP/1.1 200 Followed here fine swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 41[CR][LF] -[CR][LF] -This second URL does not have a location[LF] -[LF] == Contents of files in the log/17/ dir after test 1081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10810099.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:45171/we/want/our/data/10810099.txt?coolsite=yes[LF] HTTP/1.1 200 Followed here fine swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 41[CR][LF] [CR][LF] This second URL does not have a location[LF] [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1081 ../src/curl -q --include --trace-ascii log/17/trace1081 --trace-time http://127.0.0.1:45171/we/want/our/1081 http://127.0.0.1:45171/we/want/our/10810002 -w '%{redirect_url}\n' > log/17/stdout1081 2> log/17/stderr1081 === End of file commands.log === Start of file http_server.log 14:54:16.078246 ====> Client connect 14:54:16.078283 accept_connection 3 returned 4 14:54:16.078301 accept_connection 3 returned 0 14:54:16.078318 Read 93 bytes 14:54:16.078330 Process 93 bytes request 14:54:16.078344 Got request: GET /verifiedserver HTTP/1.1 14:54:16.078355 Are-we-friendly question received 14:54:16.078384 Wrote request (93 bytes) input to log/17/server.input 14:54:16.078404 Identifying ourselves as friends 14:54:16.078465 Response sent (56 bytes) and written to log/17/server.response 14:54:16.078478 special request received, no persistency 14:54:16.078489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1081 ==133979== ==133979== Process terminating with default action of signal 4 (SIGILL) ==133979== Illegal opcode at address 0x4014B6F ==133979== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133979== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133979== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133979== by 0x4004266: main (tool_main.c:199) === End of file valgrind1081 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1056 ../src/curl -q --output log/21/curl1056.out --include --trace-ascii log/21/trace1056 --trace-time http://127.0.0.1:34037/we/are/all/twits/1056 -L > log/21/stdout1056 2> log/21/stderr1056 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1073 ../src/curl -q --output log/16/curl1073.out --include --trace-ascii log/16/trace1073 --trace-time http://127.0.0.1:34475/1073 -T - -L log/16/stdout1073 2> log/16/stderr1073 test 1080...[HTTP Location: on two URLs 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1080 ../src/curl -q --include --trace-ascii log/19/trace1080 --trace-time http://127.0.0.1:33805/we/want/our/1080 http://127.0.0.1:33805/we/want/our/1080 -w '%{redirect_url}\n' > log/19/stdout1080 2> log/19/stderr1080 1080: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:16.942197985 +0000 +++ log/19/check-generated 2025-09-11 14:54:16.942197985 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:33805/we/want/our/data/10800002.txt?coolsite=yes[LF] -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:33805/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/19/ dir after test 1080 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:33805/we/want/our/data/10800002.txt?coolsite=yes[LF] HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:33805/we/want/our/data/10800002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1080 ../src/curl -q --include --trace-ascii log/19/trace1080 --trace-time http://127.0.0.1:33805/we/want/our/1080 http://127.0.0.1:33805/we/want/our/1080 -w '%{redirect_url}\n' > log/19/stdout1080 2> log/19/stderr1080 === End of file commands.log === Start of file http_server.log 14:54:15.078462 ====> Client connect 14:54:15.078495 accept_connection 3 returned 4 14:54:15.078515 accept_connection 3 returned 0 14:54:15.078531 Read 93 bytes 14:54:15.078543 Process 93 bytes request 14:54:15.078555 Got request: GET /verifiedserver HTTP/1.1 14:54:15.078566 Are-we-friendly question received 14:54:15.078594 Wrote request (93 bytes) input to log/19/server.input 14:54:15.078613 Identifying ourselves as friends 14:54:15.078672 Response sent (56 bytes) and written to log/19/server.response 14:54:15.078684 special request received, no persistency 14:54:15.078695 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1080 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1080 ==133971== ==133971== Process terminating with default action of signal 4 (SIGILL) ==133971== Illegal opcode at address 0x4014B6F ==133971== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133971== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133971== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133971== by 0x4004266: main (tool_main.c:199) === End of file valgrind1080 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_ipv6_server.pid" --logfile "log/21/http_ipv6_server.log" --logdir "log/21" --portfile log/21/server/http_ipv6_server.port --config log/21/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 131941 port 40101 * pid http-ipv6 => 131941 131941 test 1056...[HTTP follow redirect from IPv4 to IPv6 with scope] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1056 ../src/curl -q --output log/21/curl1056.out --include --trace-ascii log/21/trace1056 --trace-time http://127.0.0.1:34037/we/are/all/twits/1056 -L > log/21/stdout1056 2> log/21/stderr1056 1056: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1056 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1056 ../src/curl -q --output log/21/curl1056.out --include --trace-ascii log/21/trace1056 --trace-time http://127.0.0.1:34037/we/are/all/twits/1056 -L > log/21/stdout1056 2> log/21/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 14:54:14.942533 Running HTTP IPv6 version on port 40101 14:54:14.942614 Wrote pid 131941 to log/21/server/http_ipv6_server.pid 14:54:14.942648 Wrote port 40101 to log/21/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 14:54:14.921185 ====> Client connect 14:54:14.921242 accept_connection 3 returned 4 14:54:14.921260 accept_connection 3 returned 0 14:54:14.921275 Read 93 bytes 14:54:14.921286 Process 93 bytes request 14:54:14.921298 Got request: GET /verifiedserver HTTP/1.1 14:54:14.921309 Are-we-friendly question received 14:54:14.921348 Wrote request (93 bytes) input to log/21/server.input 14:54:14.921365 Identifying ourselves as friends 14:54:14.921423 Response sent (56 bytes) and written to log/21/server.response 14:54:14.921435 special request received, no persistency 14:54:14.921445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 33898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1056 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1056 ==133385== ==133385== Process terminating with default action of signal 4 (SIGILL) ==133385== Illegal opcode at address 0x4014B6F ==133385== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133385== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133385== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133385== by 0x4004266: main (tool_main.c:199) === End of file valgrind1056 test 1073...[HTTP chunked PUT to HTTP 1.0 server with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1074 ../src/curl -q --include --trace-ascii log/1/trace1074 --trace-time http://127.0.0.1:44029/want/1074 http://127.0.0.1:44029/wantmore/10740001 > log/1/stdout1074 2> log/1/stderr1074 =log/16/valgrind1073 ../src/curl -q --output log/16/curl1073.out --include --trace-ascii log/16/trace1073 --trace-time http://127.0.0.1:34475/1073 -T - -L log/16/stdout1073 2> log/16/stderr1073 1073: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1073 ../src/curl -q --output log/16/curl1073.out --include --trace-ascii log/16/trace1073 --trace-time http://127.0.0.1:34475/1073 -T - -L log/16/stdout1073 2> log/16/stderr1073 === End of file commands.log === Start of file http_server.log 14:54:15.965745 ====> Client connect 14:54:15.965779 accept_connection 3 returned 4 14:54:15.965799 accept_connection 3 returned 0 14:54:15.965815 Read 93 bytes 14:54:15.965828 Process 93 bytes request 14:54:15.965842 Got request: GET /verifiedserver HTTP/1.1 14:54:15.965854 Are-we-friendly question received 14:54:15.965881 Wrote request (93 bytes) input to log/16/server.input 14:54:15.965900 Identifying ourselves as friends 14:54:15.965986 Response sent (56 bytes) and written to log/16/server.response 14:54:15.965999 special request received, no persistency 14:54:15.966009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stdin-for-1073 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1073 === Start of file valgrind1073 ==133533== ==133533== Process terminating with default action of signal 4 (SIGILL) ==133533== Illegal opcode at address 0x4014B6F ==133533== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133533== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133533== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133533== by 0x4004266: main (tool_main.c:199) === End of file valgrind1073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1077 ../src/curl -q --output log/8/curl1077.out --include --trace-ascii log/8/trace1077 --trace-time -x 127.0.0.1:37085 ftp://127.0.0.1:37085/we/want/that/page/1077 ftp://127.0.0.1:37085/we/want/that/page/10770002 > log/8/stdout1077 2> log/8/stderr1077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1072 ../src/curl -q --output log/3/curl1072.out --include --trace-ascii log/3/trace1072 --trace-time http://127.0.0.1:46791/1072 -T - -u testuser:testpass --anyauth log/3/stdout1072 2> log/3/stderr1072 test 1074...[HTTP downgrade to HTTP/1.0 on second request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1074 ../src/curl -q --include --trace-ascii log/1/trace1074 --trace-time http://127.0.0.1:44029/want/1074 http://127.0.0.1:44029/wantmore/10740001 > log/1/stdout1074 2> log/1/stderr1074 1074: stdout FAILED: --- log/1/check-expected 2025-09-11 14:54:16.962197985 +0000 +++ log/1/check-generated 2025-09-11 14:54:16.962197985 +0000 @@ -1,11 +0,0 @@ -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -Connection: Keep-Alive[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.0 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/1/ dir after test 1074 === Start of file check-expected HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] Connection: Keep-Alive[CR][LF] [CR][LF] surprise[LF] HTTP/1.0 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1074 ../src/curl -q --include --trace-ascii log/1/trace1074 --trace-time http://127.0.0.1:44029/want/1074 http://127.0.0.1:44029/wantmore/10740001 > log/1/stdout1074 2> log/1/stderr1074 === End of file commands.log === Start of file http_server.log 14:54:15.963494 ====> Client connect 14:54:15.963528 accept_connection 3 returned 4 14:54:15.963547 accept_connection 3 returned 0 14:54:15.963564 Read 93 bytes 14:54:15.963575 Process 93 bytes request 14:54:15.963591 Got request: GET /verifiedserver HTTP/1.1 14:54:15.963602 Are-we-friendly question received 14:54:15.963627 Wrote request (93 bytes) input to log/1/server.input 14:54:15.963649 Identifying ourselves as friends 14:54:15.963709 Response sent (56 bytes) and written to log/1/server.response 14:54:15.963722 special request received, no persistency 14:54:15.963732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1074 ==133538== ==133538== Process terminating with default action of signal 4 (SIGILL) ==133538== Illegal opcode at address 0x4014B6F ==133538== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133538== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133538== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133538== by 0x4004266: main (tool_main.c:199) === End of file valgrind1074 test 1077...[FTP over HTTP proxy with downgrade to HTTP 1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1077 ../src/curl -q --output log/8/curl1077.out --include --trace-ascii log/8/trace1077 --trace-time -x 127.0.0.1:37085 ftp://127.0.0.1:37085/we/want/that/page/1077 ftp://127.0.0.1:37085/we/want/that/page/10770002 > log/8/stdout1077 2> log/8/stderr1077 1077: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1077 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1077 ../src/curl -q --output log/8/curl1077.out --include --trace-ascii log/8/trace1077 --trace-time -x 127.0.0.1:37085 ftp://127.0.0.1:37085/we/want/that/page/1077 ftp://127.0.0.1:37085/we/want/that/page/10770002 > log/8/stdout1077 2> log/8/stderr1077 === End of file commands.log === Start of file http_server.log 14:54:14.975734 ====> Client connect 14:54:14.975763 accept_connection 3 returned 4 14:54:14.975779 accept_connection 3 returned 0 14:54:14.975793 Read 93 bytes 14:54:14.975804 Process 93 bytes request 14:54:14.975817 Got request: GET /verifiedserver HTTP/1.1 14:54:14.975827 Are-we-friendly question received 14:54:14.975857 Wrote request (93 bytes) input to log/8/server.input 14:54:14.975875 Identifying ourselves as friends 14:54:14.975925 Response sent (56 bytes) and written to log/8/server.response 14:54:14.975936 special request received, no persistency 14:54:14.975946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1077 ==133612== ==133612== Process terminating with default action of signal 4 (SIGILL) ==133612== Illegal opcode at address 0x4014B6F ==133612== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133612== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133612== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133612== by 0x4004266: main (tool_main.c:199) === End of file valgrind1077 test 1072...[HTTP chunked PUT to HTTP 1.0 server with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1072 ../src/curl -q --output log/3/curl1072.out --include --trace-ascii log/3/trace1072 --trace-time http://127.0.0.1:46791/1072 -T - -u testuser:testpass --anyauth log/3/stdout1072 2> log/3/stderr1072 1072: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1072 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1072 ../src/curl -q --output log/3/curl1072.out --include --trace-ascii log/3/trace1072 --trace-time http://127.0.0.1:46791/1072 -T - -u testuser:testpass --anyauth log/3/stdout1072 2> log/3/stderr1072 === End of file commands.log === Start of file http_server.log 14:54:15.931804 ====> Client connect 14:54:15.931842 accept_connection 3 returned 4 14:54:15.931860 accept_connection 3 returned 0 14:54:15.931877 Read 93 bytes 14:54:15.931888 Process 93 bytes request 14:54:15.931903 Got request: GET /verifiedserver HTTP/1.1 14:54:15.931914 Are-we-friendly question received 14:54:15.931940 Wrote request (93 bytes) input to log/3/server.input 14:54:15.931958 IdentiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1079 ../src/curl -q --output log/18/curl1079.out --include --trace-ascii log/18/trace1079 --trace-time http://127.0.0.1:43297/1079 -u testuser:testpass --digest > log/18/stdout1079 2> log/18/stderr1079 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1076 ../src/curl -q --output log/20/curl1076.out --include --trace-ascii log/20/trace1076 --trace-time http://127.0.0.1:39569/blah/1076 -L -d "moo" --post302 > log/20/stdout1076 2> log/20/stderr1076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1075 ../src/curl -q --output log/9/curl1075.out --include --trace-ascii log/9/trace1075 --trace-time http://127.0.0.1:34345/1075 -T log/9/put1075 -u testuser:testpass --anyauth > log/9/stdout1075 2> log/9/stderr1075 fying ourselves as friends 14:54:15.932012 Response sent (56 bytes) and written to log/3/server.response 14:54:15.932023 special request received, no persistency 14:54:15.932033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1072 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file stdin-for-1072 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1072 === Start of file valgrind1072 ==133444== ==133444== Process terminating with default action of signal 4 (SIGILL) ==133444== Illegal opcode at address 0x4014B6F ==133444== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133444== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133444== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133444== by 0x4004266: main (tool_main.c:199) === End of file valgrind1072 test 1079...[HTTP retry after closed connection and empty response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1079 ../src/curl -q --output log/18/curl1079.out --include --trace-ascii log/18/trace1079 --trace-time http://127.0.0.1:43297/1079 -u testuser:testpass --digest > log/18/stdout1079 2> log/18/stderr1079 1079: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1079 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1079 ../src/curl -q --output log/18/curl1079.out --include --trace-ascii log/18/trace1079 --trace-time http://127.0.0.1:43297/1079 -u testuser:testpass --digest > log/18/stdout1079 2> log/18/stderr1079 === End of file commands.log === Start of file http_server.log 14:54:15.993039 ====> Client connect 14:54:15.993075 accept_connection 3 returned 4 14:54:15.993095 accept_connection 3 returned 0 14:54:15.993306 Read 93 bytes 14:54:15.993327 Process 93 bytes request 14:54:15.993343 Got request: GET /verifiedserver HTTP/1.1 14:54:15.993355 Are-we-friendly question received 14:54:15.993386 Wrote request (93 bytes) input to log/18/server.input 14:54:15.993406 Identifying ourselves as friends 14:54:15.993472 Response sent (56 bytes) and written to log/18/server.response 14:54:15.993485 special request received, no persistency 14:54:15.993496 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 33974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1079 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1079 ==133704== ==133704== Process terminating with default action of signal 4 (SIGILL) ==133704== Illegal opcode at address 0x4014B6F ==133704== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133704== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133704== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133704== by 0x4004266: main (tool_main.c:199) === End of file valgrind1079 test 1075...[HTTP PUT with --anyauth authorization (picking Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1075 ../src/curl -q --output log/9/curl1075.out --include --trace-ascii log/9/trace1075 --trace-time http://127.0.0.1:34345/1075 -T log/9/put1075 -u testuser:testpass --anyauth > log/9/stdout1075 2> log/9/stderr1075 1075: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1075 ../src/curl -q --output log/9/curl1075.out --include --trace-ascii log/9/trace1075 --trace-time http://127.0.0.1:34345/1075 -T log/9/put1075 -u testuser:testpass --anyauth > log/9/stdout1075 2> log/9/stderr1075 === End of file commands.log === Start of file http_server.log 14:54:15.975233 ====> Client connect 14:54:15.975269 accept_connection 3 returned 4 14:54:15.975288 accept_connection 3 returned 0 14:54:15.975303 Read 93 bytes 14:54:15.975314 Process 93 bytes request 14:54:15.975327 Got request: GET /verifiedserver HTTP/1.1 14:54:15.975337 Are-we-friendly question received 14:54:15.975368 Wrote request (93 bytes) input to log/9/server.input 14:54:15.975386 Identifying ourselves as friends 14:54:15.975442 Response sent (56 bytes) and written to log/9/server.response 14:54:15.975454 special request received, no persistency 14:54:15.975464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file put1075 This is data we upload with PUT a second line line three four is the number of lines === End of file put1075 === Start of file server.cmd Testnum 1075 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1075 ==133603== ==133603== Process terminating with default action of signal 4 (SIGILL) ==133603== Illegal opcode at address 0x4014B6F ==133603== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133603== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133603== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133603== by 0x4004266: main (tool_main.c:199) === End of file valgrind1075 test 1076...[HTTP POST with 302 redirect and --post302] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1076 ../src/curl -q --output log/20/curl1076.out --include --trace-ascii log/20/trace1076 --trace-time http://127.0.0.1:39569/blah/1076 -L -d "moo" --post302 > log/20/stdout1076 2> log/20/stderr1076 1076: protocol FAILED! There was no content at all in the file log/20/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1082 ../src/curl -q --output log/24/curl1082.out --include --trace-ascii log/24/trace1082 --trace-time http://127.0.0.1:34449/1082 -4 --interface 127.0.0.1 > log/24/stdout1082 2> log/24/stderr1082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1084 ../src/curl -q --output log/14/curl1084.out --include --trace-ascii log/14/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/14/stdout1084 2> log/14/stderr1084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1085 ../src/curl -q --output log/6/curl1085.out --include --trace-ascii log/6/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/6/stdout1085 2> log/6/stderr1085 server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1076 ../src/curl -q --output log/20/curl1076.out --include --trace-ascii log/20/trace1076 --trace-time http://127.0.0.1:39569/blah/1076 -L -d "moo" --post302 > log/20/stdout1076 2> log/20/stderr1076 === End of file commands.log === Start of file http_server.log 14:54:15.983741 ====> Client connect 14:54:15.983778 accept_connection 3 returned 4 14:54:15.983796 accept_connection 3 returned 0 14:54:15.983812 Read 93 bytes 14:54:15.983824 Process 93 bytes request 14:54:15.983838 Got request: GET /verifiedserver HTTP/1.1 14:54:15.983849 Are-we-friendly question received 14:54:15.983876 Wrote request (93 bytes) input to log/20/server.input 14:54:15.983895 Identifying ourselves as friends 14:54:15.983953 Response sent (56 bytes) and written to log/20/server.response 14:54:15.983964 special request received, no persistency 14:54:15.983975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1076 ==133650== ==133650== Process terminating with default action of signal 4 (SIGILL) ==133650== Illegal opcode at address 0x4014B6F ==133650== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==133650== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==133650== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==133650== by 0x4004266: main (tool_main.c:199) === End of file valgrind1076 prechecked /usr/bin/perl -e "print 'Test requires default test client host address' if('127.0.0.1' ne '127.0.0.1');" test 1082...[HTTP GET with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1082 ../src/curl -q --output log/24/curl1082.out --include --trace-ascii log/24/trace1082 --trace-time http://127.0.0.1:34449/1082 -4 --interface 127.0.0.1 > log/24/stdout1082 2> log/24/stderr1082 1082: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1082 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1082 ../src/curl -q --output log/24/curl1082.out --include --trace-ascii log/24/trace1082 --trace-time http://127.0.0.1:34449/1082 -4 --interface 127.0.0.1 > log/24/stdout1082 2> log/24/stderr1082 === End of file commands.log === Start of file http_server.log 14:54:16.153221 ====> Client connect 14:54:16.153358 accept_connection 3 returned 4 14:54:16.153375 accept_connection 3 returned 0 14:54:16.153390 Read 93 bytes 14:54:16.153401 Process 93 bytes request 14:54:16.153413 Got request: GET /verifiedserver HTTP/1.1 14:54:16.153422 Are-we-friendly question received 14:54:16.153447 Wrote request (93 bytes) input to log/24/server.input 14:54:16.153463 Identifying ourselves as friends 14:54:16.153515 Response sent (56 bytes) and written to log/24/server.response 14:54:16.153525 special request received, no persistency 14:54:16.153534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1082 ==134091== ==134091== Process terminating with default action of signal 4 (SIGILL) ==134091== Illegal opcode at address 0x4014B6F ==134091== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134091== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134091== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134091== by 0x4004266: main (tool_main.c:199) === End of file valgrind1082 test 1084...[HTTP GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1084 ../src/curl -q --output log/14/curl1084.out --include --trace-ascii log/14/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/14/stdout1084 2> log/14/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/14/ dir after test 1084 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1084 ../src/curl -q --output log/14/curl1084.out --include --trace-ascii log/14/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/14/stdout1084 2> log/14/stderr1084 === End of file commands.log === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==134166== ==134166== Process terminating with default action of signal 4 (SIGILL) ==134166== Illegal opcode at address 0x4014B6F ==134166== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134166== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134166== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134166== by 0x4004266: main (tool_main.c:199) === End of file valgrind1084 prechecked ./server/servers resolve --ipv6 ::1 test 1085...[HTTP-IPv6 GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1085 ../src/curl -q --output log/6/curl1085.out --include --trace-ascii log/6/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/6/stdout1085 2> log/6/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/6/ dir after test 1085 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1085 ../src/curl -q --output log/6/curl1085.out --include --trace-ascii log/6/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/6/stdout1085 2> log/6/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==134227== ==134227== Process terminating wiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1088 ../src/curl -q --output log/4/curl1088.out --include --trace-ascii log/4/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:39793 --user iam:myself --location-trusted --anyauth > log/4/stdout1088 2> log/4/stderr1088 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:41533 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1090 ../src/curl -q --include --trace-ascii log/10/trace1090 --trace-time http://127.0.0.1:35893/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout1090 2> log/10/stderr1090 th default action of signal 4 (SIGILL) ==134227== Illegal opcode at address 0x4014B6F ==134227== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134227== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134227== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134227== by 0x4004266: main (tool_main.c:199) === End of file valgrind1085 test 1088...[HTTP, proxy with --anyauth and Location: to new host using location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1088 ../src/curl -q --output log/4/curl1088.out --include --trace-ascii log/4/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:39793 --user iam:myself --location-trusted --anyauth > log/4/stdout1088 2> log/4/stderr1088 1088: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1088 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1088 ../src/curl -q --output log/4/curl1088.out --include --trace-ascii log/4/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:39793 --user iam:myself --location-trusted --anyauth > log/4/stdout1088 2> log/4/stderr1088 === End of file commands.log === Start of file http_server.log 14:54:16.679606 ====> Client connect 14:54:16.679641 accept_connection 3 returned 4 14:54:16.679671 accept_connection 3 returned 0 14:54:16.679687 Read 93 bytes 14:54:16.679698 Process 93 bytes request 14:54:16.679712 Got request: GET /verifiedserver HTTP/1.1 14:54:16.679723 Are-we-friendly question received 14:54:16.679749 Wrote request (93 bytes) input to log/4/server.input 14:54:16.679766 Identifying ourselves as friends 14:54:16.679819 Response sent (56 bytes) and written to log/4/server.response 14:54:16.679830 special request received, no persistency 14:54:16.679840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1088 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1088 ==134411== ==134411== Process terminating with default action of signal 4 (SIGILL) ==134411== Illegal opcode at address 0x4014B6F ==134411== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134411== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134411== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134411== by 0x4004266: main (tool_main.c:199) === End of file valgrind1088 test 1087...[HTTP, proxy with --anyauth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:41533 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 1087: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1087 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:41533 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 === End of file commands.log === Start of file http_server.log 14:54:16.669010 ====> Client connect 14:54:16.669043 accept_connection 3 returned 4 14:54:16.669061 accept_connection 3 returned 0 14:54:16.669077 Read 93 bytes 14:54:16.669088 Process 93 bytes request 14:54:16.669102 Got request: GET /verifiedserver HTTP/1.1 14:54:16.669112 Are-we-friendly question received 14:54:16.669138 Wrote request (93 bytes) input to log/13/server.input 14:54:16.669156 Identifying ourselves as friends 14:54:16.669211 Response sent (56 bytes) and written to log/13/server.response 14:54:16.669223 special request received, no persistency 14:54:16.669233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 58356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1087 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1087 ==134388== ==134388== Process terminating with default action of signal 4 (SIGILL) ==134388== Illegal opcode at address 0x4014B6F ==134388== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134388== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134388== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134388== by 0x4004266: main (tool_main.c:199) === End of file valgrind1087 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1092 ../src/curl -q --output log/15/curl1092.out --include --trace-ascii log/15/trace1092 --trace-time "ftp://127.0.0.1:42107/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:42107 > log/15/stdout1092 2> log/15/stderr1092 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1089 ../src/curl -q --include --trace-ascii log/23/trace1089 --trace-time http://127.0.0.1:38851/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/23/stdout1089 2> log/23/stderr1089 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:45597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 * kill pid for ftp-ctrl => 80248 RUN: Process with pid 80219 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1093 ../src/curl -q --output log/7/curl1093.out --include --trace-ascii log/7/trace1093 --trace-time "tftp://127.0.0.1:33281//1093;mode=i" --use-ascii > log/7/stdout1093 2> log/7/stderr1093 test 1090...[HTTP GET --write-out with redirected fetch and chunked reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1090 ../src/curl -q --include --trace-ascii log/10/trace1090 --trace-time http://127.0.0.1:35893/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout1090 2> log/10/stderr1090 1090: stdout FAILED: --- log/10/check-expected 2025-09-11 14:54:17.695531330 +0000 +++ log/10/check-generated 2025-09-11 14:54:17.695531330 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10900001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:35893/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/10/ dir after test 1090 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10900001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:35893/10900001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1090 ../src/curl -q --include --trace-ascii log/10/trace1090 --trace-time http://127.0.0.1:35893/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout1090 2> log/10/stderr1090 === End of file commands.log === Start of file http_server.log 14:54:16.679260 ====> Client connect 14:54:16.679294 accept_connection 3 returned 4 14:54:16.679311 accept_connection 3 returned 0 14:54:16.679326 Read 93 bytes 14:54:16.679337 Process 93 bytes request 14:54:16.679349 Got request: GET /verifiedserver HTTP/1.1 14:54:16.679359 Are-we-friendly question received 14:54:16.679383 Wrote request (93 bytes) input to log/10/server.input 14:54:16.679400 Identifying ourselves as friends 14:54:16.679452 Response sent (56 bytes) and written to log/10/server.response 14:54:16.679463 special request received, no persistency 14:54:16.679473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 43176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1090 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1090 ==134401== ==134401== Process terminating with default action of signal 4 (SIGILL) ==134401== Illegal opcode at address 0x4014B6F ==134401== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134401== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134401== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134401== by 0x4004266: main (tool_main.c:199) === End of file valgrind1090 test 1093...[TFTP retrieve with mode=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1093 ../src/curl -q --output log/7/curl1093.out --include --trace-ascii log/7/trace1093 --trace-time "tftp://127.0.0.1:33281//1093;mode=i" --use-ascii > log/7/stdout1093 2> log/7/stderr1093 1093: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1093 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1093 ../src/curl -q --output log/7/curl1093.out --include --trace-ascii log/7/trace1093 --trace-time "tftp://127.0.0.1:33281//1093;mode=i" --use-ascii > log/7/stdout1093 2> log/7/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 14:54:16.746847 trying to get file: verifiedserver mode 1 14:54:16.746882 Are-we-friendly question received 14:54:16.746899 write 14:54:16.746921 read 14:54:16.747609 read: 4 14:54:16.747670 end of one transfer === End of file tftp_server.log === Start of file valgrind1093 ==134681== ==134681== Process terminating with default action of signal 4 (SIGILL) ==134681== Illegal opcode at address 0x4014B6F ==134681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134681== by 0x4004266: main (tool_main.c:199) === End of file valgrind1093 test 1092...[FTP with type=i over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1092 ../src/curl -q --output log/15/curl1092.out --include --trace-ascii log/15/trace1092 --trace-time "ftp://127.0.0.1:42107/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:42107 > log/15/stdout1092 2> log/15/stderr1092 1092: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1092 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1092 ../src/curl -q --output log/15/curl1092.out --include --trace-ascii log/15/trace1092 --trace-time "ftp://127.0.0.1:42107/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:42107 > log/15/stdout1092 2> log/15/stderr1092 === End of file commands.log === Start of file http_server.log 14:54:16.719174 ====> Client connect 14:54:16.719210 accept_connection 3 returned 4 14:54:16.719228 accept_connection 3 returned 0 14:54:16.719244 Read 93 bytes 14:54:16.719255 Process 93 bytes request 14:54:16.719269 Got request: GET /verifiedserver HTTP/1.1 14:54:16.719280 Are-we-friendly question received 14:54:16.719314 Wrote request (93 bytes) input to log/15/server.input 14:54:16.719334 Identifying ourselves as friends 14:54:16.719393 Response sent (56 bytes) and written to log/15/server.response 14:54:16.719406 special request received, no persistency 14:54:16.719417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38141/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 TTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1092 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1092 ==134571== ==134571== Process terminating with default action of signal 4 (SIGILL) ==134571== Illegal opcode at address 0x4014B6F ==134571== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134571== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134571== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134571== by 0x4004266: main (tool_main.c:199) === End of file valgrind1092 test 1089...[HTTP GET --write-out with redirected fetch] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1089 ../src/curl -q --include --trace-ascii log/23/trace1089 --trace-time http://127.0.0.1:38851/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/23/stdout1089 2> log/23/stderr1089 1089: stdout FAILED: --- log/23/check-expected 2025-09-11 14:54:17.702197997 +0000 +++ log/23/check-generated 2025-09-11 14:54:17.702197997 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10890001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:38851/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/23/ dir after test 1089 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10890001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:38851/10890001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1089 ../src/curl -q --include --trace-ascii log/23/trace1089 --trace-time http://127.0.0.1:38851/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/23/stdout1089 2> log/23/stderr1089 === End of file commands.log === Start of file http_server.log 14:54:16.683044 ====> Client connect 14:54:16.683082 accept_connection 3 returned 4 14:54:16.683101 accept_connection 3 returned 0 14:54:16.683118 Read 93 bytes 14:54:16.683130 Process 93 bytes request 14:54:16.683143 Got request: GET /verifiedserver HTTP/1.1 14:54:16.683154 Are-we-friendly question received 14:54:16.683184 Wrote request (93 bytes) input to log/23/server.input 14:54:16.683204 Identifying ourselves as friends 14:54:16.683267 Response sent (56 bytes) and written to log/23/server.response 14:54:16.683279 special request received, no persistency 14:54:16.683291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 45474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1089 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1089 ==134413== ==134413== Process terminating with default action of signal 4 (SIGILL) ==134413== Illegal opcode at address 0x4014B6F ==134413== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134413== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134413== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134413== by 0x4004266: main (tool_main.c:199) === End of file valgrind1089 test 1091...[FTP URL with type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38141/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 1091: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1091 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38141/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 === End of file commands.log === Start of file ftp_server.log 14:54:16.624999 ====> Client connect 14:54:16.625178 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:16.625522 < "USER anonymous" 14:54:16.625570 > "331 We are happy you popped in![CR][LF]" 14:54:16.625764 < "PASS ftp@example.com" 14:54:16.625794 > "230 Welcome you silly person[CR][LF]" 14:54:16.625950 < "PWD" 14:54:16.625981 > "257 "/" is current directory[CR][LF]" 14:54:16.626227 < "EPSV" 14:54:16.626273 ====> Passive DATA channel requested by client 14:54:16.626287 DATA sockfilt for passive data channel starting... 14:54:16.628466 DATA sockfilt for passive data channel started (pid 134470) 14:54:16.628608 DATA sockfilt for passive data channel listens on port 37479 14:54:16.628654 > "229 Entering Passive Mode (|||37479|)[LF]" 14:54:16.628673 Client has been notified that DATA conn will be accepted on port 37479 14:54:16.628941 Client connects to port 37479 14:54:16.628971 ====> Client established passive DATA connection on port 37479 14:54:16.629065 < "TYPE I" 14:54:16.629097 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:16.629264 < "SIZE verifiedserver" 14:54:16.629300 > "213 17[CR][LF]" 14:54:16.629456 < "RETR verifiedserver" 14:54:16.629488 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:16.629576 =====> Closing passive DATA connection... 14:54:16.629592 Server disconnects passive DATA connection 14:54:16.629879 Server disconnected passive DATA connection 14:54:16.629924 DATA sockfilt for passive data channel quits (pid 134470) 14:54:16.630232 DATA sockfilt for passive data channel quit (pid 134470) 14:54:16.630256 =====> Closed passive DATA connection 14:54:16.630294 > "226 File transfer complete[CR][LF]" 14:54:16.675020 < "QUIT" 14:54:16.675115 > "221 bye bye baby[CR][LF]" 14:54:16.675331 MAIN sockfilt said DISC 14:54:16.675368 ====> Client disconnected 14:54:16.675513 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:15.707682 ====> Client connect 14:54:15.708012 Received DATA (on stdin) 14:54:15.708031 > 160 bytes data, server => client 14:54:15.708044 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:15.708056 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:15.708067 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:15.708168 < 16 bytes data, client => server 14:54:15.708182 'USER anonymous\r\n' 14:54:15.708389 Received DATA (on stdin) 14:54:15.708403 > 33 bytes data, server => client 14:54:15.708415 '331 We are happy you popped in!\r\n' 14:54:15.708472 < 22 bytes data, client => server 14:54:15.708484 'PASS ftp@example.com\r\n' 14:54:15.708607 Received DATA (on stdin) 14:54:15.708619 > 30 bytes data, server => client 14:54:15.708631 '230 Welcome you CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1094 ../src/curl -q --output log/11/curl1094.out --include --trace-ascii log/11/trace1094 --trace-time "tftp://127.0.0.1:56517//1094;mode=netascii" > log/11/stdout1094 2> log/11/stderr1094 RUN: Process with pid 80219 gracefully died silly person\r\n' 14:54:15.708678 < 5 bytes data, client => server 14:54:15.708689 'PWD\r\n' 14:54:15.708793 Received DATA (on stdin) 14:54:15.708805 > 30 bytes data, server => client 14:54:15.708816 '257 "/" is current directory\r\n' 14:54:15.708872 < 6 bytes data, client => server 14:54:15.708883 'EPSV\r\n' 14:54:15.711493 Received DATA (on stdin) 14:54:15.711510 > 38 bytes data, server => client 14:54:15.711522 '229 Entering Passive Mode (|||37479|)\n' 14:54:15.711668 < 8 bytes data, client => server 14:54:15.711684 'TYPE I\r\n' 14:54:15.711912 Received DATA (on stdin) 14:54:15.711925 > 33 bytes data, server => client 14:54:15.711938 '200 I modify TYPE as you wanted\r\n' 14:54:15.711990 < 21 bytes data, client => server 14:54:15.712003 'SIZE verifiedserver\r\n' 14:54:15.712113 Received DATA (on stdin) 14:54:15.712126 > 8 bytes data, server => client 14:54:15.712137 '213 17\r\n' 14:54:15.712186 < 21 bytes data, client => server 14:54:15.712198 'RETR verifiedserver\r\n' 14:54:15.712408 Received DATA (on stdin) 14:54:15.712421 > 29 bytes data, server => client 14:54:15.712433 '150 Binary junk (17 bytes).\r\n' 14:54:15.713118 Received DATA (on stdin) 14:54:15.713136 > 28 bytes data, server => client 14:54:15.713149 '226 File transfer complete\r\n' 14:54:15.757516 < 6 bytes data, client => server 14:54:15.757569 'QUIT\r\n' 14:54:15.757943 Received DATA (on stdin) 14:54:15.757961 > 18 bytes data, server => client 14:54:15.757975 '221 bye bye baby\r\n' 14:54:15.758095 ====> Client disconnect 14:54:15.758333 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:16.711072 Running IPv4 version 14:54:16.711139 Listening on port 37479 14:54:16.711189 Wrote pid 134470 to log/12/server/ftp_sockdata.pid 14:54:16.711212 Received PING (on stdin) 14:54:16.711323 Received PORT (on stdin) 14:54:16.711706 ====> Client connect 14:54:16.712435 Received DATA (on stdin) 14:54:16.712467 > 17 bytes data, server => client 14:54:16.712480 'WE ROOLZ: 80195\r\n' 14:54:16.712529 Received DISC (on stdin) 14:54:16.712544 ====> Client forcibly disconnected 14:54:16.712751 Received QUIT (on stdin) 14:54:16.712764 quits 14:54:16.712847 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==134711== ==134711== Process terminating with default action of signal 4 (SIGILL) ==134711== Illegal opcode at address 0x4014B6F ==134711== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134711== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134711== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134711== by 0x4004266: main (tool_main.c:199) === End of file valgrind1091 test 1094...[TFTP retrieve with mode=netascii] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1094 ../src/curl -q --output log/11/curl1094.out --include --trace-ascii log/11/trace1094 --trace-time "tftp://127.0.0.1:56517//1094;mode=netascii" > log/11/stdout1094 2> log/11/stderr1094 1094: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1094 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1094 ../src/curl -q --output log/11/curl1094.out --include --trace-ascii log/11/trace1094 --trace-time "tftp://127.0.0.1:56517//1094;mode=netascii" > log/11/stdout1094 2> log/11/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 14:54:16.893026 trying to get file: verifiedserver mode 1 14:54:16.893056 Are-we-friendly question received 14:54:16.893072 write 14:54:16.893093 read 14:54:16.894075 read: 4 14:54:16.894127 end of one transfer === End of file tftp_server.log === Start of file valgrind1094 ==134853== ==134853== Process terminating with default action of signal 4 (SIGILL) ==134853== Illegal opcode at address 0x4014B6F ==134853== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134853== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134853== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134853== by 0x4004266: main (tool_main.c:199) === End of file valgrind1094 test 1086...[FTP download with strict timeout and slow data transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:45597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 1086: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1086 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:45597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 === End of file commands.log === Start of file ftp_server.log 14:54:16.583610 ====> Client connect 14:54:16.583762 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:16.584052 < "USER anonymous" 14:54:16.584091 > "331 We are happy you popped in![CR][LF]" 14:54:16.584269 < "PASS ftp@example.com" 14:54:16.584295 > "230 Welcome you silly person[CR][LF]" 14:54:16.584453 < "PWD" 14:54:16.584484 > "257 "/" is current directory[CR][LF]" 14:54:16.584648 < "EPSV" 14:54:16.584673 ====> Passive DATA channel requested by client 14:54:16.584686 DATA sockfilt for passive data channel starting... 14:54:16.587025 DATA sockfilt for passive data channel started (pid 134357) 14:54:16.587146 DATA sockfilt for passive data channel listens on port 39419 14:54:16.587189 > "229 Entering Passive Mode (|||39419|)[LF]" 14:54:16.587210 Client has been notified that DATA conn will be accepted on port 39419 14:54:16.587508 Client connects to port 39419 14:54:16.587541 ====> Client established passive DATA connection on port 39419 14:54:16.587630 < "TYPE I" 14:54:16.587666 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:16.587849 < "SIZE verifiedserver" 14:54:16.587887 > "213 17[CR][LF]" 14:54:16.588047 < "RETR verifiedserver" 14:54:16.588080 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:16.588170 =====> Closing passive DATA connection... 14:54:16.588187 Server disconnects passive DATA connection 14:54:16.588440 Server disconnected passive DATA connection 14:54:16.588467 DATA sockfilt for passive data channel quits (pid 134357) 14:54:16.588714 DATA sockfilt for passive data channel quit (pid 134357) 14:54:16.588736 =====> Closed passive DATA connection 14:54:16.588764 > "226 File transfer complete[CR][LF]" 14:54:16.634261 < "QUIT" 14:54:16.634318 > "221 bye bye baby[CR][LF]" 14:54:16.634642 MAIN sockfilt said DISC 14:54:16.634677 ====> Client disconnected 14:54:16.634763 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:15.666301 ====> Client connect 14:54:15.666590 Received DATA (on stdin) 14:54:15.666607 > 160 bytes data, server => client 14:54:15.666620 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:15.666632 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:15.666644 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:15.666725 < 16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1095 ../src/curl -q --output log/5/curl1095.out --include --trace-ascii log/5/trace1095 --trace-time http://127.0.0.1:46041/1095 -u testuser:testpass --digest > log/5/stdout1095 2> log/5/stderr1095 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1107 ../src/curl -q --output log/9/curl1107.out --include --trace-ascii log/9/trace1107 --trace-time ftp://127.0.0.1:37027/1107 --ftp-pret > log/9/stdout1107 2> log/9/stderr1107 bytes data, client => server 14:54:15.666739 'USER anonymous\r\n' 14:54:15.666909 Received DATA (on stdin) 14:54:15.666923 > 33 bytes data, server => client 14:54:15.666935 '331 We are happy you popped in!\r\n' 14:54:15.666986 < 22 bytes data, client => server 14:54:15.666999 'PASS ftp@example.com\r\n' 14:54:15.667108 Received DATA (on stdin) 14:54:15.667121 > 30 bytes data, server => client 14:54:15.667132 '230 Welcome you silly person\r\n' 14:54:15.667182 < 5 bytes data, client => server 14:54:15.667194 'PWD\r\n' 14:54:15.667296 Received DATA (on stdin) 14:54:15.667309 > 30 bytes data, server => client 14:54:15.667321 '257 "/" is current directory\r\n' 14:54:15.667377 < 6 bytes data, client => server 14:54:15.667389 'EPSV\r\n' 14:54:15.670034 Received DATA (on stdin) 14:54:15.670056 > 38 bytes data, server => client 14:54:15.670069 '229 Entering Passive Mode (|||39419|)\n' 14:54:15.670227 < 8 bytes data, client => server 14:54:15.670244 'TYPE I\r\n' 14:54:15.670486 Received DATA (on stdin) 14:54:15.670503 > 33 bytes data, server => client 14:54:15.670515 '200 I modify TYPE as you wanted\r\n' 14:54:15.670574 < 21 bytes data, client => server 14:54:15.670588 'SIZE verifiedserver\r\n' 14:54:15.670704 Received DATA (on stdin) 14:54:15.670716 > 8 bytes data, server => client 14:54:15.670727 '213 17\r\n' 14:54:15.670776 < 21 bytes data, client => server 14:54:15.670788 'RETR verifiedserver\r\n' 14:54:15.671001 Received DATA (on stdin) 14:54:15.671015 > 29 bytes data, server => client 14:54:15.671027 '150 Binary junk (17 bytes).\r\n' 14:54:15.671579 Received DATA (on stdin) 14:54:15.671593 > 28 bytes data, server => client 14:54:15.671605 '226 File transfer complete\r\n' 14:54:15.716898 < 6 bytes data, client => server 14:54:15.716926 'QUIT\r\n' 14:54:15.717136 Received DATA (on stdin) 14:54:15.717150 > 18 bytes data, server => client 14:54:15.717162 '221 bye bye baby\r\n' 14:54:15.717400 ====> Client disconnect 14:54:15.717512 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:16.669420 Running IPv4 version 14:54:16.669480 Listening on port 39419 14:54:16.669518 Wrote pid 134357 to log/2/server/ftp_sockdata.pid 14:54:16.669771 Received PING (on stdin) 14:54:16.669870 Received PORT (on stdin) 14:54:16.670267 ====> Client connect 14:54:16.671080 Received DATA (on stdin) 14:54:16.671096 > 17 bytes data, server => client 14:54:16.671108 'WE ROOLZ: 80219\r\n' 14:54:16.671134 Received DISC (on stdin) 14:54:16.671147 ====> Client forcibly disconnected 14:54:16.671288 Received QUIT (on stdin) 14:54:16.671300 quits 14:54:16.671361 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWNDATA REPLY welcome 220 Hey REPLY USER 331 OK REPLY PASS 230 OK REPLY PWD 257 "/" REPLY TYPE 200 OK Testnum 1086 === End of file server.cmd === Start of file valgrind1086 ==134588== ==134588== Process terminating with default action of signal 4 (SIGILL) ==134588== Illegal opcode at address 0x4014B6F ==134588== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134588== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134588== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134588== by 0x4004266: main (tool_main.c:199) === End of file valgrind1086 test 1095...[HTTP with Digest and realm with quoted quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1095 ../src/curl -q --output log/5/curl1095.out --include --trace-ascii log/5/trace1095 --trace-time http://127.0.0.1:46041/1095 -u testuser:testpass --digest > log/5/stdout1095 2> log/5/stderr1095 1095: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1095 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1095 ../src/curl -q --output log/5/curl1095.out --include --trace-ascii log/5/trace1095 --trace-time http://127.0.0.1:46041/1095 -u testuser:testpass --digest > log/5/stdout1095 2> log/5/stderr1095 === End of file commands.log === Start of file http_server.log 14:54:16.968161 ====> Client connect 14:54:16.968194 accept_connection 3 returned 4 14:54:16.968209 accept_connection 3 returned 0 14:54:16.968222 Read 93 bytes 14:54:16.968231 Process 93 bytes request 14:54:16.968242 Got request: GET /verifiedserver HTTP/1.1 14:54:16.968250 Are-we-friendly question received 14:54:16.968270 Wrote request (93 bytes) input to log/5/server.input 14:54:16.968288 Identifying ourselves as friends 14:54:16.968335 Response sent (56 bytes) and written to log/5/server.response 14:54:16.968344 special request received, no persistency 14:54:16.968351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1095 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1095 ==134906== ==134906== Process terminating with default action of signal 4 (SIGILL) ==134906== Illegal opcode at address 0x4014B6F ==134906== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==134906== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==134906== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==134906== by 0x4004266: main (tool_main.c:199) === End of file valgrind1095 test 1107...[FTP RETR PASV with PRET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1107 ../src/curl -q --output log/9/curl1107.out --include --trace-ascii log/9/trace1107 --trace-time ftp://127.0.0.1:37027/1107 --ftp-pret > log/9/stdout1107 2> log/9/stderr1107 1107: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1107 ../src/curl -q --output log/9/curl1107.out --include --trace-ascii log/9/trace1107 --trace-time ftp://127.0.0.1:37027/1107 --ftp-pret > log/9/stdout1107 2> log/9/stderr1107 === End of file commands.log === Start of file ftp_server.log 14:54:17.007158 ====> Client connect 14:54:17.007308 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:17.007666 < "USER anonymous" 14:54:17.007717 > "331 We are happy you popped in![CR][LF]" 14:54:17.007980 < "PASS ftp@example.com" 14:54:17.008019 > "230 Welcome you silly person[CR][LF]" 14:54:17.008224 < "PWD" 14:54:17.008264 > "257 "/" is current directory[CR][LF]" 14:54:17.008460 < "EPSV" 14:54:17.008487 ====> Passive DATA channel requested by client 14:54:17.008502 DATA sockfilt for passive data channel starting... 14:54:17.010393 DATA sockfilt for passive data channel started (pid 135178) 14:54:17.010554 DATA sockfilt for passive data channel listens on port 37399 14:54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1105 ../src/curl -q --output log/18/curl1105.out --include --trace-ascii log/18/trace1105 --trace-time "http://127.0.0.1:43297/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/18/cookie1105.txt -d "userid=myname&password=mypassword" > log/18/stdout1105 2> log/18/stderr1105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1101 ../src/curl -q --output log/16/curl1101.out --include --trace-ascii log/16/trace1101 --trace-time http://user:secret@127.0.0.1:34475/gimme/1101 > log/16/stdout1101 2> log/16/stderr1101 :17.010602 > "229 Entering Passive Mode (|||37399|)[LF]" 14:54:17.010626 Client has been notified that DATA conn will be accepted on port 37399 14:54:17.010879 Client connects to port 37399 14:54:17.010913 ====> Client established passive DATA connection on port 37399 14:54:17.010995 < "TYPE I" 14:54:17.011028 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:17.011200 < "SIZE verifiedserver" 14:54:17.011236 > "213 17[CR][LF]" 14:54:17.011400 < "RETR verifiedserver" 14:54:17.011434 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:17.011525 =====> Closing passive DATA connection... 14:54:17.011542 Server disconnects passive DATA connection 14:54:17.012028 Fancy that; client wants to DISC, too 14:54:17.012115 Server disconnected passive DATA connection 14:54:17.012140 DATA sockfilt for passive data channel quits (pid 135178) 14:54:17.012350 DATA sockfilt for passive data channel quit (pid 135178) 14:54:17.012374 =====> Closed passive DATA connection 14:54:17.012404 > "226 File transfer complete[CR][LF]" 14:54:17.054334 < "QUIT" 14:54:17.054388 > "221 bye bye baby[CR][LF]" 14:54:17.054749 MAIN sockfilt said DISC 14:54:17.054793 ====> Client disconnected 14:54:17.054866 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.089875 ====> Client connect 14:54:17.090136 Received DATA (on stdin) 14:54:17.090172 > 160 bytes data, server => client 14:54:17.090186 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.090199 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.090210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.090307 < 16 bytes data, client => server 14:54:17.090320 'USER anonymous\r\n' 14:54:17.090535 Received DATA (on stdin) 14:54:17.090548 > 33 bytes data, server => client 14:54:17.090563 '331 We are happy you popped in!\r\n' 14:54:17.090648 < 22 bytes data, client => server 14:54:17.090674 'PASS ftp@example.com\r\n' 14:54:17.090838 Received DATA (on stdin) 14:54:17.090853 > 30 bytes data, server => client 14:54:17.090866 '230 Welcome you silly person\r\n' 14:54:17.090928 < 5 bytes data, client => server 14:54:17.090943 'PWD\r\n' 14:54:17.091080 Received DATA (on stdin) 14:54:17.091094 > 30 bytes data, server => client 14:54:17.091107 '257 "/" is current directory\r\n' 14:54:17.091172 < 6 bytes data, client => server 14:54:17.091189 'EPSV\r\n' 14:54:17.093450 Received DATA (on stdin) 14:54:17.093466 > 38 bytes data, server => client 14:54:17.093479 '229 Entering Passive Mode (|||37399|)\n' 14:54:17.093608 < 8 bytes data, client => server 14:54:17.093626 'TYPE I\r\n' 14:54:17.093844 Received DATA (on stdin) 14:54:17.093857 > 33 bytes data, server => client 14:54:17.093870 '200 I modify TYPE as you wanted\r\n' 14:54:17.093923 < 21 bytes data, client => server 14:54:17.093937 'SIZE verifiedserver\r\n' 14:54:17.094050 Received DATA (on stdin) 14:54:17.094063 > 8 bytes data, server => client 14:54:17.094075 '213 17\r\n' 14:54:17.094126 < 21 bytes data, client => server 14:54:17.094139 'RETR verifiedserver\r\n' 14:54:17.094563 Received DATA (on stdin) 14:54:17.094600 > 29 bytes data, server => client 14:54:17.094613 '150 Binary junk (17 bytes).\r\n' 14:54:17.095219 Received DATA (on stdin) 14:54:17.095234 > 28 bytes data, server => client 14:54:17.095247 '226 File transfer complete\r\n' 14:54:17.136951 < 6 bytes data, client => server 14:54:17.136984 'QUIT\r\n' 14:54:17.137205 Received DATA (on stdin) 14:54:17.137218 > 18 bytes data, server => client 14:54:17.137229 '221 bye bye baby\r\n' 14:54:17.137491 ====> Client disconnect 14:54:17.137683 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:17.092832 Running IPv4 version 14:54:17.092890 Listening on port 37399 14:54:17.092932 Wrote pid 135178 to log/9/server/ftp_sockdata.pid 14:54:17.092954 Received PING (on stdin) 14:54:17.093261 Received PORT (on stdin) 14:54:17.093647 ====> Client connect 14:54:17.094641 Received DATA (on stdin) 14:54:17.094656 > 17 bytes data, server => client 14:54:17.094668 'WE ROOLZ: 80262\r\n' 14:54:17.094766 ====> Client disconnect 14:54:17.094842 Received DISC (on stdin) 14:54:17.094856 Crikey! Client also wants to disconnect 14:54:17.094870 Received ACKD (on stdin) 14:54:17.094961 Received QUIT (on stdin) 14:54:17.094973 quits 14:54:17.095030 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 200 fine Testnum 1107 === End of file server.cmd === Start of file valgrind1107 ==135438== ==135438== Process terminating with default action of signal 4 (SIGILL) ==135438== Illegal opcode at address 0x4014B6F ==135438== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135438== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135438== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135438== by 0x4004266: main (tool_main.c:199) === End of file valgrind1107 test 1105...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1105 ../src/curl -q --output log/18/curl1105.out --include --trace-ascii log/18/trace1105 --trace-time "http://127.0.0.1:43297/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/18/cookie1105.txt -d "userid=myname&password=mypassword" > log/18/stdout1105 2> log/18/stderr1105 1105: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1105 ../src/curl -q --output log/18/curl1105.out --include --trace-ascii log/18/trace1105 --trace-time "http://127.0.0.1:43297/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/18/cookie1105.txt -d "userid=myname&password=mypassword" > log/18/stdout1105 2> log/18/stderr1105 === End of file commands.log === Start of file http_server.log 14:54:17.086896 ====> Client connect 14:54:17.086927 accept_connection 3 returned 4 14:54:17.086945 accept_connection 3 returned 0 14:54:17.086959 Read 93 bytes 14:54:17.086970 Process 93 bytes request 14:54:17.086982 Got request: GET /verifiedserver HTTP/1.1 14:54:17.086993 Are-we-friendly question received 14:54:17.087017 Wrote request (93 bytes) input to log/18/server.input 14:54:17.087034 Identifying ourselves as friends 14:54:17.087081 Response sent (56 bytes) and written to log/18/server.response 14:54:17.087089 special request received, no persistency 14:54:17.087097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 33980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1105 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1105 ==135198== ==135198== Process terminating with default action of signal 4 (SIGILL) ==135198== Illegal opcode at address 0x4014B6F ==135198== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135198== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135198== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135198== by 0x4004266: main (tool_main.c:199) === End of file valgrind1105 setenv no_proxy = 127.0.0.1 setenvCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:33805 > log/19/stdout1098 2> log/19/stderr1098 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1104 ../src/curl -q --output log/3/curl1104.out --include --trace-ascii log/3/trace1104 --trace-time http://127.0.0.1:46791/want/1104 -L -x 127.0.0.1:46791 -c log/3/cookies1104.jar > log/3/stdout1104 2> log/3/stderr1104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1106 ../src/curl -q --output log/20/curl1106.out --include --trace-ascii log/20/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/20/stdout1106 2> log/20/stderr1106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1103 ../src/curl -q --output log/8/curl1103.out --include --trace-ascii log/8/trace1103 --trace-time ftp://127.0.0.1:37557/1103 > log/8/stdout1103 2> log/8/stderr1103 http_proxy = http://non-existing-host.haxx.se:3128/ test 1101...[NO_PROXY test, with user name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1101 ../src/curl -q --output log/16/curl1101.out --include --trace-ascii log/16/trace1101 --trace-time http://user:secret@127.0.0.1:34475/gimme/1101 > log/16/stdout1101 2> log/16/stderr1101 1101: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1101 ../src/curl -q --output log/16/curl1101.out --include --trace-ascii log/16/trace1101 --trace-time http://user:secret@127.0.0.1:34475/gimme/1101 > log/16/stdout1101 2> log/16/stderr1101 === End of file commands.log === Start of file http_server.log 14:54:17.064000 ====> Client connect 14:54:17.064031 accept_connection 3 returned 4 14:54:17.064050 accept_connection 3 returned 0 14:54:17.064066 Read 93 bytes 14:54:17.064078 Process 93 bytes request 14:54:17.064093 Got request: GET /verifiedserver HTTP/1.1 14:54:17.064104 Are-we-friendly question received 14:54:17.064129 Wrote request (93 bytes) input to log/16/server.input 14:54:17.064146 Identifying ourselves as friends 14:54:17.064205 Response sent (56 bytes) and written to log/16/server.response 14:54:17.064217 special request received, no persistency 14:54:17.064227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1101 ==135082== ==135082== Process terminating with default action of signal 4 (SIGILL) ==135082== Illegal opcode at address 0x4014B6F ==135082== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135082== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135082== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135082== by 0x4004266: main (tool_main.c:199) === End of file valgrind1101 test 1104...[HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1104 ../src/curl -q --output log/3/curl1104.out --include --trace-ascii log/3/trace1104 --trace-time http://127.0.0.1:46791/want/1104 -L -x 127.0.0.1:46791 -c log/3/cookies1104.jar > log/3/stdout1104 2> log/3/stderr1104 1104: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1104 ../src/curl -q --output log/3/curl1104.out --include --trace-ascii log/3/trace1104 --trace-time http://127.0.0.1:46791/want/1104 -L -x 127.0.0.1:46791 -c log/3/cookies1104.jar > log/3/stdout1104 2> log/3/stderr1104 === End of file commands.log === Start of file http_server.log 14:54:17.079756 ====> Client connect 14:54:17.079788 accept_connection 3 returned 4 14:54:17.079806 accept_connection 3 returned 0 14:54:17.079902 Read 93 bytes 14:54:17.079917 Process 93 bytes request 14:54:17.079933 Got request: GET /verifiedserver HTTP/1.1 14:54:17.079944 Are-we-friendly question received 14:54:17.079973 Wrote request (93 bytes) input to log/3/server.input 14:54:17.079992 Identifying ourselves as friends 14:54:17.080050 Response sent (56 bytes) and written to log/3/server.response 14:54:17.080062 special request received, no persistency 14:54:17.080072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1104 ==135187== ==135187== Process terminating with default action of signal 4 (SIGILL) ==135187== Illegal opcode at address 0x4014B6F ==135187== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135187== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135187== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135187== by 0x4004266: main (tool_main.c:199) === End of file valgrind1104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1096 ../src/curl -q --output log/17/curl1096.out --include --trace-ascii log/17/trace1096 --trace-time ftp://127.0.0.1:40705/dir/1096 ftp://127.0.0.1:40705/dir/1096 > log/17/stdout1096 2> log/17/stderr1096 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1102 ../src/curl -q --output log/1/curl1102.out --include --trace-ascii log/1/trace1102 --trace-time ftp://127.0.0.1:43113/1102 > log/1/stdout1102 2> log/1/stderr1102 test 1098...[FTP RETR twice over proxy confirming persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:33805 > log/19/stdout1098 2> log/19/stderr1098 1098: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:18.002198001 +0000 +++ log/19/check-generated 2025-09-11 14:54:18.002198001 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] == Contents of files in the log/19/ dir after test 1098 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:33805 > log/19/stdout1098 2> log/19/stderr1098 === End of file commands.log === Start of file http_server.log 14:54:16.056395 ====> Client connect 14:54:16.056436 accept_connection 3 returned 4 14:54:16.056457 accept_connection 3 returned 0 14:54:16.056475 Read 93 bytes 14:54:16.056488 Process 93 bytes request 14:54:16.056503 Got request: GET /verifiedserver HTTP/1.1 14:54:16.056515 Are-we-friendly question received 14:54:16.056543 Wrote request (93 bytes) input to log/19/server.input 14:54:16.056562 Identifying ourselves as friends 14:54:16.056640 Response sent (56 bytes) and written to log/19/server.response 14:54:16.056653 special request received, no persistency 14:54:16.056664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1098 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1098 ==135060== ==135060== Process terminating with default action of signal 4 (SIGILL) ==135060== Illegal opcode at address 0x4014B6F ==135060== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135060== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135060== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135060== by 0x4004266: main (tool_main.c:199) === End of file valgrind1098 setenv ftp_proxy = http://127.0.0.1:39569/ test 1106...[FTP URL and with ftp_proxy environment variable set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1106 ../src/curl -q --output log/20/curl1106.out --include --trace-ascii log/20/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/20/stdout1106 2> log/20/stderr1106 1106: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1106 ../src/curl -q --output log/20/curl1106.out --include --trace-ascii log/20/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/20/stdout1106 2> log/20/stderr1106 === End of file commands.log === Start of file http_server.log 14:54:17.088402 ====> Client connect 14:54:17.088434 accept_connection 3 returned 4 14:54:17.088450 accept_connection 3 returned 0 14:54:17.088462 Read 93 bytes 14:54:17.088471 Process 93 bytes request 14:54:17.088482 Got request: GET /verifiedserver HTTP/1.1 14:54:17.088490 Are-we-friendly question received 14:54:17.088511 Wrote request (93 bytes) input to log/20/server.input 14:54:17.088524 Identifying ourselves as friends 14:54:17.088570 Response sent (56 bytes) and written to log/20/server.response 14:54:17.088579 special request received, no persistency 14:54:17.088586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1106 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1106 ==135208== ==135208== Process terminating with default action of signal 4 (SIGILL) ==135208== Illegal opcode at address 0x4014B6F ==135208== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135208== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135208== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135208== by 0x4004266: main (tool_main.c:199) === End of file valgrind1106 test 1102...[FTP OS/400 server name format check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1102 ../src/curl -q --output log/1/curl1102.out --include --trace-ascii log/1/trace1102 --trace-time ftp://127.0.0.1:43113/1102 > log/1/stdout1102 2> log/1/stderr1102 1102: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1102 ../src/curl -q --output log/1/curl1102.out --include --trace-ascii log/1/trace1102 --trace-time ftp://127.0.0.1:43113/1102 > log/1/stdout1102 2> log/1/stderr1102 === End of file commands.log === Start of file ftp_server.log 14:54:16.988618 ====> Client connect 14:54:16.988788 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:16.989168 < "USER anonymous" 14:54:16.989213 > "331 We are happy you popped in![CR][LF]" 14:54:16.989396 < "PASS ftp@example.com" 14:54:16.989423 > "230 Welcome you silly person[CR][LF]" 14:54:16.989576 < "PWD" 14:54:16.989605 > "257 "/" is current directory[CR][LF]" 14:54:16.989762 < "EPSV" 14:54:16.989787 ====> Passive DATA channel requested by client 14:54:16.989801 DATA sockfilt for passive data channel starting... 14:54:16.991790 DATA sockfilt for passive data channel started (pid 135061) 14:54:16.991903 DATA sockfilt for passive data channel listens on port 37251 14:54:16.991944 > "229 Entering Passive Mode (|||37251|)[LF]" 14:54:16.991966 Client has been notified that DATA conn will be accepted on port 37251 14:54:16.992227 Client connects to port 37251 14:54:16.992256 ====> Client established passive DATA connection on port 37251 14:54:16.992332 < "TYPE I" 14:54:16.992362 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:16.992517 < "SIZE verifiedserver" 14:54:16.992550 > "213 17[CR][LF]" 14:54:16.992699 < "RETR verifiedserver" 14:54:16.992728 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:16.992814 =====> Closing passive DATA connection... 14:54:16.992830 Server disconnects passive DATA connection 14:54:16.993074 Server disconnected passive DATA connection 14:54:16.993100 DATA sockfilt for passive data channel quits (pid 135061) 14:54:16.993367 DATA sockfilt for passive data channel quit (pid 135061) 14:54:16.993389 =====> Closed passive DATA connection 14:54:16.993415 > "226 File transfer complete[CR][LF]" 14:54:17.038327 < "QUIT" 14:54:17.038383 > "221 bye bye baby[CR][LF]" 14:54:17.039564 MAIN sockfilt said DISC 14:54:17.039664 ====> Client disconnected 14:54:17.039777 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:16.071329 ====> Client connect 14:54:16.071593 Received DATA (on stdin) 14:54:16.071615 > 160 bytes data, server => client 14:54:16.071628 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:16.071640 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:16.071671 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:16.071820 < 16 bytes data, client => server 14:54:16.071843 'USER anonymous\r\n' 14:54:16.072030 Received DATA (on stdin) 14:54:16.072044 > 33 bytes data, server => client 14:54:16.072056 '331 We are happy you popped in!\r\n' 14:54:16.072109 < 22 bytes data, client => server 14:54:16.072122 'PASS ftp@example.com\r\n' 14:54:16.072236 Received DATA (on stdin) 14:54:16.072249 > 30 bytes data, server => client 14:54:16.072261 '230 Welcome you silly person\r\n' 14:54:16.072309 < 5 bytes data, client => server 14:54:16.072321 'PWD\r\n' 14:54:16.072417 Received DATA (on stdin) 14:54:16.072429 > 30 bytes data, server => client 14:54:16.072441 '257 "/" is current directory\r\n' 14:54:16.072498 < 6 bytes data, client => server 14:54:16.072509 'EPSV\r\n' 14:54:16.074786 Received DATA (on stdin) 14:54:16.074801 > 38 bytes data, server => client 14:54:16.074814 '229 Entering Passive Mode (|||37251|)\n' 14:54:16.074988 < 8 bytes data, client => server 14:54:16.075001 'TYPE I\r\n' 14:54:16.075175 Received DATA (on stdin) 14:54:16.075188 > 33 bytes data, server => client 14:54:16.075200 '200 I modify TYPE as you wanted\r\n' 14:54:16.075249 < 21 bytes data, client => server 14:54:16.075261 'SIZE verifiedserver\r\n' 14:54:16.075362 Received DATA (on stdin) 14:54:16.075374 > 8 bytes data, server => client 14:54:16.075386 '213 17\r\n' 14:54:16.075431 < 21 bytes data, client => server 14:54:16.075443 'RETR verifiedserver\r\n' 14:54:16.075645 Received DATA (on stdin) 14:54:16.075658 > 29 bytes data, server => client 14:54:16.075670 '150 Binary junk (17 bytes).\r\n' 14:54:16.076229 Received DATA (on stdin) 14:54:16.076243 > 28 bytes data, server => client 14:54:16.076255 '226 File transfer complete\r\n' 14:54:16.120969 < 6 bytes data, client => server 14:54:16.120992 'QUIT\r\n' 14:54:16.121203 Received DATA (on stdin) 14:54:16.121219 > 18 bytes data, server => client 14:54:16.121230 '221 bye bye baby\r\n' 14:54:16.122274 ====> Client disconnect 14:54:16.122608 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:16.074270 Running IPv4 version 14:54:16.074335 Listening on port 37251 14:54:16.074376 Wrote pid 135061 to log/1/server/ftp_sockdata.pid 14:54:16.074547 Received PING (on stdin) 14:54:16.074630 Received PORT (on stdin) 14:54:16.074958 ====> Client connect 14:54:16.075696 Received DATA (on stdin) 14:54:16.075711 > 17 bytes data, server => client 14:54:16.075723 'WE ROOLZ: 80194\r\n' 14:54:16.075747 Received DISC (on stdin) 14:54:16.075759 ====> Client forcibly disconnected 14:54:16.075919 Received QUIT (on stdin) 14:54:16.075932 quits 14:54:16.075999 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "QGPL" is the current library REPLY SYST 215 OS/400 runs this server REPLY SITE 250 Name format set to 1 Testnum 1102 === End of file server.cmd === Start of file valgrind1102 ==135383== ==135383== Process terminating with default action of signal 4 (SIGILL) ==135383== Illegal opcode at address 0x4014B6F ==135383== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135383== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135383== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135383== by 0x4004266: main (tool_main.c:199) === End of file valgrind1102 test 1103...[FTP non-OS/400 server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1103 ../src/curl -q --output log/8/curl1103.out --include --trace-ascii log/8/trace1103 --trace-time ftp://127.0.0.1:37557/1103 > log/8/stdout1103 2> log/8/stderr1103 1103: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1103 ../src/curl -q --output log/8/curl1103.out --include --trace-ascii log/8/trace1103 --trace-time ftp://127.0.0.1:37557/1103 > log/8/stdout1103 2> log/8/stderr1103 === End of file commands.log === Start of file ftp_server.log 14:54:16.990910 ====> Client connect 14:54:16.991067 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:16.991299 < "USER anonymous" 14:54:16.991334 > "331 We are happy you popped in![CR][LF]" 14:54:16.991493 < "PASS ftp@example.com" 14:54:16.991526 > "230 Welcome you silly person[CR][LF]" 14:54:16.991713 < "PWD" 14:54:16.991745 > "257 "/" is current directory[CR][LF]" 14:54:16.991922 < "EPSV" 14:54:16.991947 ====> Passive DATA channel requested by client 14:54:16.991962 DATA sockfilt for passive data channel starting... 14:54:16.994354 DATA sockfilt for passive data channel started (pid 135077) 14:54:16.994472 DATA sockfilt for passive data channel listens on port 34645 14:54:16.994515 > "229 Entering Passive Mode (|||34645|)[LF]" 14:54:16.994537 Client has been notified that DATA conn will be accepted on port 34645 14:54:16.994775 Client connects to port 34645 14:54:16.994805 ====> Client established passive DATA connection on port 34645 14:54:16.994879 < "TYPE I" 14:54:16.994908 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:16.995077 < "SIZE verifiedserver" 14:54:16.995112 > "213 17[CR][LF]" 14:54:16.995493 < "RETR verifiedserver" 14:54:16.995528 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:16.995612 =====> Closing passive DATA connection... 14:54:16.995628 Server disconnects passive DATA connection 14:54:16.995753 Server disconnected passive DATA connection 14:54:16.995777 DATA sockfilt for passive data channel quits (pid 135077) 14:54:16.995985 DATA sockfilt for passive data channel quit (pid 135077) 14:54:16.996009 =====> Closed passive DATA connection 14:54:16.996039 > "226 File transfer complete[CR][LF]" 14:54:17.037258 < "QUIT" 14:54:17.037315 > "221 bye bye baby[CR][LF]" 14:54:17.037718 MAIN sockfilt said DISC 14:54:17.037767 ====> Client disconnected 14:54:17.037852 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.073627 ====> Client connect 14:54:17.073886 Received DATA (on stdin) 14:54:17.073899 > 160 bytes data, server => client 14:54:17.073909 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.073918 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.073927 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.073983 < 16 bytes data, client => server 14:54:17.073993 'USER anonymous\r\n' 14:54:17.074151 Received DATA (on stdin) 14:54:17.074164 > 33 bytes data, server => client 14:54:17.074176 '331 We are happy you popped in!\r\n' 14:54:17.074229 < 22 bytes data, client => server 14:54:17.074242 'PASS ftp@example.com\r\n' 14:54:17.074344 Received DATA (on stdin) 14:54:17.074360 > 30 bytes data, server => client 14:54:17.074373 '230 Welcome you silly person\r\n' 14:54:17.074432 < 5 bytes data, client => server 14:54:17.074447 'PWD\r\n' 14:54:17.074561 Received DATA (on stdin) 14:54:17.074575 > 30 bytes data, server => client 14:54:17.074587 '257 "/" is current directory\r\n' 14:54:17.074650 < 6 bytes data, client => server 14:54:17.074662 'EPSV\r\n' 14:54:17.077356 Received DATA (on stdin) 14:54:17.077371 > 38 bytes data, server => client 14:54:17.077383 '229 Entering Passive Mode (|||34645|)\n' 14:54:17.077503 < 8 bytes data, client => server 14:54:17.077520 'TYPE I\r\n' 14:54:17.077723 Received DATA (on stdin) 14:54:17.077737 > 33 bytes data, server => client 14:54:17.077749 '200 I modify TYPE as you wanted\r\n' 14:54:17.077805 < 21 bytes data, client => server 14:54:17.077817 'SIZE verifiedserver\r\n' 14:54:17.077924 Received DATA (on stdin) 14:54:17.077936 > 8 bytes data, server => client 14:54:17.077947 '213 17\r\n' 14:54:17.078207 < 21 bytes data, client => server 14:54:17.078226 'RETR verifiedserver\r\n' 14:54:17.078395 Received DATA (on stdin) 14:54:17.078416 > 29 bytes data, server => client 14:54:17.078430 '150 Binary junk (17 bytes).\r\n' 14:54:17.078853 Received DATA (on stdin) 14:54:17.078867 > 28 bytes data, server => client 14:54:17.078879 '226 File transfer complete\r\n' 14:54:17.119873 < 6 bytes data, client => server 14:54:17.119907 'QUIT\r\n' 14:54:17.120136 Received DATA (on stdin) 14:54:17.120152 > 18 bytes data, server => client 14:54:17.120165 '221 bye bye baby\r\n' 14:54:17.120470 ====> Client disconnect 14:54:17.120666 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:16.076728 Running IPv4 version 14:54:16.076783 Listening on port 34645 14:54:16.076822 Wrote pid 135077 to log/8/server/ftp_sockdata.pid 14:54:16.077101 Received PING (on stdin) 14:54:16.077197 Received PORT (on stdin) 14:54:16.077540 ====> Client connect 14:54:16.078446 Received DATA (on stdin) 14:54:16.078460 > 17 bytes data, server => client 14:54:16.078472 'WE ROOLZ: 80267\r\n' 14:54:16.078500 Received DISC (on stdin) 14:54:16.078513 ====> Client forcibly disconnected 14:54:16.078597 Received QUIT (on stdin) 14:54:16.078609 quits 14:54:16.078666 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "C:/somedir" is the current directory REPLY SYST 215 unknown-OS runs this server Testnum 1103 === End of file server.cmd === Start of file valgrind1103 ==135373== ==135373== Process terminating with default action of signal 4 (SIGILL) ==135373== Illegal opcode at address 0x4014B6F ==135373== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135373== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135373== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135373== by 0x4004266: main (tool_main.c:199) === End of file valgrind1103 test 1096...[Two FTP downloads, with failed RETR but reused control connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1096 ../src/curl -q --output log/17/curl1096.out --include --trace-ascii log/17/trace1096 --trace-time ftp://127.0.0.1:40705/dir/1096 ftp://127.0.0.1:40705/dir/1096 > log/17/stdout1096 2> log/17/stderr1096 1096: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1096 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1096 ../src/curl -q --output log/17/curl1096.out --include --trace-ascii log/17/trace1096 --trace-time ftp://127.0.0.1:40705/dir/1096 ftp://127.0.0.1:40705/dir/1096 > log/17/stdout1096 2> log/17/stderr1096 === End of file commands.log === Start of file ftp_server.log 14:54:16.925280 ====> Client connect 14:54:16.925446 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:16.925698 < "USER anonymous" 14:54:16.925726 > "331 We are happy you popped in![CR][LF]" 14:54:16.925861 < "PASS ftp@example.com" 14:54:16.925883 > "230 Welcome you silly person[CR][LF]" 14:54:16.926003 < "PWD" 14:54:16.926026 > "257 "/" is current directory[CR][LF]" 14:54:16.926150 < "EPSV" 14:54:16.926170 ====> Passive DATA channel requested by client 14:54:16.926181 DATA sockfilt for passive data channel starting... 14:54:16.927466 DATA sockfilt for passive data channel started (pid 134969) 14:54:16.927824 DATA sockfilt for passive data channel listens on port 38235 14:54:16.927860 > "229 Entering Passive Mode (|||38235|)[LF]" 14:54:16.927876 Client has been notified that DATA conn will be accepted on port 38235 14:54:16.928058 Client connects to port 38235 14:54:16.928082 ====> Client established passive DATA connection on port 38235 14:54:16.928141 < "TYPE I" 14:54:16.928164 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:16.928294 < "SIZE verifiedserver" 14:54:16.928327 > "213 17[CR][LF]" 14:54:16.928470 < "RETR verifiedserver" 14:54:16.928504 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:16.928589 =====> Closing passive DATA connection... 14:54:16.928606 Server disconnects passive DATA connection 14:54:16.928697 Server disconnected passive DATA connection 14:54:16.928722 DATA sockfilt for passive data channel quits (pid 134969) 14:54:16.928901 DATA sockfilt for passive data channel quit (pid 134969) 14:54:16.928921 =====> Closed passive DATA connection 14:54:16.928941 > "226 File transfer complete[CR][LF]" 14:54:16.970872 < "QUIT" 14:54:16.970915 > "221 bye bye baby[CR][LF]" 14:54:16.971585 MAIN sockfilt said DISC 14:54:16.971610 ====> Client disconnected 14:54:16.971754 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.007963 ====> Client connect 14:54:17.008274 Received DATA (on stdin) 14:54:17.008287 > 160 bytes data, server => client 14:54:17.008297 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.008307 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.008315 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.008384 < 16 bytes data, client => server 14:54:17.008394 'USER anonymous\r\n' 14:54:17.008538 Received DATA (on stdin) 14:54:17.008549 > 33 bytes data, server => client 14:54:17.008558 '331 We are happy you popped in!\r\n' 14:54:17.008600 < 22 bytes data, client => server 14:54:17.008609 'PASS ftp@example.com\r\n' 14:54:17.008690 Received DATA (on stdin) 14:54:17.008700 > 30 bytes data, server => client 14:54:17.008709 '230 Welcome you silly person\r\n' 14:54:17.008747 < 5 bytes data, client => server 14:54:17.008756 'PWD\r\n' 14:54:17.008833 Received DATA (on stdin) 14:54:17.008843 > 30 bytes data, server => client 14:54:17.008852 '257 "/" is current directory\r\n' 14:54:17.008896 < 6 bytes data, client => server 14:54:17.008905 'EPSV\r\n' 14:54:17.010689 Received DATA (on stdin) 14:54:17.010701 > 38 byCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/11/stdout1119 2> log/11/stderr1119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1110 ../src/curl -q --output log/6/curl1110.out --include --trace-ascii log/6/trace1110 --trace-time http://127.0.0.1:38791/1110?q=foobar#fragment > log/6/stdout1110 2> log/6/stderr1110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1108 ../src/curl -q --output log/24/curl1108.out --include --trace-ascii log/24/trace1108 --trace-time ftp://127.0.0.1:42919/1108 --ftp-pret > log/24/stdout1108 2> log/24/stderr1108 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1109 ../src/curl -q --output log/14/curl1109.out --include --trace-ascii log/14/trace1109 --trace-time http://127.0.0.1:46043/1109#test > log/14/stdout1109 2> log/14/stderr1109 tes data, server => client 14:54:17.010710 '229 Entering Passive Mode (|||38235|)\n' 14:54:17.010801 < 8 bytes data, client => server 14:54:17.010814 'TYPE I\r\n' 14:54:17.010972 Received DATA (on stdin) 14:54:17.010982 > 33 bytes data, server => client 14:54:17.010991 '200 I modify TYPE as you wanted\r\n' 14:54:17.011030 < 21 bytes data, client => server 14:54:17.011041 'SIZE verifiedserver\r\n' 14:54:17.011136 Received DATA (on stdin) 14:54:17.011147 > 8 bytes data, server => client 14:54:17.011157 '213 17\r\n' 14:54:17.011200 < 21 bytes data, client => server 14:54:17.011212 'RETR verifiedserver\r\n' 14:54:17.011350 Received DATA (on stdin) 14:54:17.011365 > 29 bytes data, server => client 14:54:17.011377 '150 Binary junk (17 bytes).\r\n' 14:54:17.011751 Received DATA (on stdin) 14:54:17.011762 > 28 bytes data, server => client 14:54:17.011771 '226 File transfer complete\r\n' 14:54:17.053526 < 6 bytes data, client => server 14:54:17.053548 'QUIT\r\n' 14:54:17.053947 Received DATA (on stdin) 14:54:17.053958 > 18 bytes data, server => client 14:54:17.053968 '221 bye bye baby\r\n' 14:54:17.054352 ====> Client disconnect 14:54:17.054451 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:16.010129 Running IPv4 version 14:54:16.010186 Listening on port 38235 14:54:16.010214 Wrote pid 134969 to log/17/server/ftp_sockdata.pid 14:54:16.010230 Received PING (on stdin) 14:54:16.010553 Received PORT (on stdin) 14:54:16.010830 ====> Client connect 14:54:16.011421 Received DATA (on stdin) 14:54:16.011435 > 17 bytes data, server => client 14:54:16.011447 'WE ROOLZ: 91632\r\n' 14:54:16.011468 Received DISC (on stdin) 14:54:16.011478 ====> Client forcibly disconnected 14:54:16.011548 Received QUIT (on stdin) 14:54:16.011561 quits 14:54:16.011610 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 no such file REPLY SIZE 500 command not understood Testnum 1096 === End of file server.cmd === Start of file valgrind1096 ==135058== ==135058== Process terminating with default action of signal 4 (SIGILL) ==135058== Illegal opcode at address 0x4014B6F ==135058== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135058== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135058== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135058== by 0x4004266: main (tool_main.c:199) === End of file valgrind1096 test 1119...[Verify that symbols-in-versions and headers are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/11/stdout1119 2> log/11/stderr1119 valgrind SKIPPED s------e--- OK (1047 out of 1725, remaining: 00:56, took 0.294s, duration: 01:26) test 1110...[HTTP GET with URL that contains a fragment after the query part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1110 ../src/curl -q --output log/6/curl1110.out --include --trace-ascii log/6/trace1110 --trace-time http://127.0.0.1:38791/1110?q=foobar#fragment > log/6/stdout1110 2> log/6/stderr1110 1110: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1110 ../src/curl -q --output log/6/curl1110.out --include --trace-ascii log/6/trace1110 --trace-time http://127.0.0.1:38791/1110?q=foobar#fragment > log/6/stdout1110 2> log/6/stderr1110 === End of file commands.log === Start of file http_server.log 14:54:17.326624 ====> Client connect 14:54:17.326661 accept_connection 3 returned 4 14:54:17.326679 accept_connection 3 returned 0 14:54:17.326695 Read 93 bytes 14:54:17.326707 Process 93 bytes request 14:54:17.326722 Got request: GET /verifiedserver HTTP/1.1 14:54:17.326732 Are-we-friendly question received 14:54:17.326758 Wrote request (93 bytes) input to log/6/server.input 14:54:17.326775 Identifying ourselves as friends 14:54:17.326832 Response sent (56 bytes) and written to log/6/server.response 14:54:17.326844 special request received, no persistency 14:54:17.326854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1110 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1110 ==135703== ==135703== Process terminating with default action of signal 4 (SIGILL) ==135703== Illegal opcode at address 0x4014B6F ==135703== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135703== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135703== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135703== by 0x4004266: main (tool_main.c:199) === End of file valgrind1110 test 1109...[HTTP GET with URL that contains fragment after the path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1109 ../src/curl -q --output log/14/curl1109.out --include --trace-ascii log/14/trace1109 --trace-time http://127.0.0.1:46043/1109#test > log/14/stdout1109 2> log/14/stderr1109 1109: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1109 ../src/curl -q --output log/14/curl1109.out --include --trace-ascii log/14/trace1109 --trace-time http://127.0.0.1:46043/1109#test > log/14/stdout1109 2> log/14/stderr1109 === End of file commands.log === Start of file http_server.log 14:54:17.286705 ====> Client connect 14:54:17.286764 accept_connection 3 returned 4 14:54:17.286784 accept_connection 3 returned 0 14:54:17.286803 Read 93 bytes 14:54:17.286815 Process 93 bytes request 14:54:17.286832 Got request: GET /verifiedserver HTTP/1.1 14:54:17.286842 Are-we-friendly question received 14:54:17.286872 Wrote request (93 bytes) input to log/14/server.input 14:54:17.286892 Identifying ourselves as friends 14:54:17.286950 Response sent (56 bytes) and written to log/14/server.response 14:54:17.286961 special request received, no persistency 14:54:17.286970 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1109 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 =CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/6/stdout1132 2> log/6/stderr1132 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/14/stdout1135 2> log/14/stderr1135 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1111 ../src/curl -q --output log/4/curl1111.out --include --trace-ascii log/4/trace1111 --trace-time http://127.0.0.1:39793/1111?q=foobar#fragment#fragment2 > log/4/stdout1111 2> log/4/stderr1111 == End of file server.response === Start of file valgrind1109 ==135619== ==135619== Process terminating with default action of signal 4 (SIGILL) ==135619== Illegal opcode at address 0x4014B6F ==135619== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135619== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135619== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135619== by 0x4004266: main (tool_main.c:199) === End of file valgrind1109 test 1108...[FTP RETR PASV with PRET not supported] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1108 ../src/curl -q --output log/24/curl1108.out --include --trace-ascii log/24/trace1108 --trace-time ftp://127.0.0.1:42919/1108 --ftp-pret > log/24/stdout1108 2> log/24/stderr1108 1108: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1108 ../src/curl -q --output log/24/curl1108.out --include --trace-ascii log/24/trace1108 --trace-time ftp://127.0.0.1:42919/1108 --ftp-pret > log/24/stdout1108 2> log/24/stderr1108 === End of file commands.log === Start of file ftp_server.log 14:54:17.130332 ====> Client connect 14:54:17.130488 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:17.130805 < "USER anonymous" 14:54:17.130845 > "331 We are happy you popped in![CR][LF]" 14:54:17.131129 < "PASS ftp@example.com" 14:54:17.131156 > "230 Welcome you silly person[CR][LF]" 14:54:17.131305 < "PWD" 14:54:17.131331 > "257 "/" is current directory[CR][LF]" 14:54:17.131487 < "EPSV" 14:54:17.131511 ====> Passive DATA channel requested by client 14:54:17.131525 DATA sockfilt for passive data channel starting... 14:54:17.133591 DATA sockfilt for passive data channel started (pid 135564) 14:54:17.133742 DATA sockfilt for passive data channel listens on port 46527 14:54:17.133794 > "229 Entering Passive Mode (|||46527|)[LF]" 14:54:17.133818 Client has been notified that DATA conn will be accepted on port 46527 14:54:17.134123 Client connects to port 46527 14:54:17.134153 ====> Client established passive DATA connection on port 46527 14:54:17.134245 < "TYPE I" 14:54:17.134281 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:17.134456 < "SIZE verifiedserver" 14:54:17.134495 > "213 17[CR][LF]" 14:54:17.134668 < "RETR verifiedserver" 14:54:17.134704 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:17.134795 =====> Closing passive DATA connection... 14:54:17.134813 Server disconnects passive DATA connection 14:54:17.135064 Server disconnected passive DATA connection 14:54:17.135098 DATA sockfilt for passive data channel quits (pid 135564) 14:54:17.135333 DATA sockfilt for passive data channel quit (pid 135564) 14:54:17.135362 =====> Closed passive DATA connection 14:54:17.135391 > "226 File transfer complete[CR][LF]" 14:54:17.181089 < "QUIT" 14:54:17.181167 > "221 bye bye baby[CR][LF]" 14:54:17.181356 MAIN sockfilt said DISC 14:54:17.181386 ====> Client disconnected 14:54:17.181452 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.213015 ====> Client connect 14:54:17.213313 Received DATA (on stdin) 14:54:17.213329 > 160 bytes data, server => client 14:54:17.213343 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.213356 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.213367 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.213448 < 16 bytes data, client => server 14:54:17.213461 'USER anonymous\r\n' 14:54:17.213771 Received DATA (on stdin) 14:54:17.213786 > 33 bytes data, server => client 14:54:17.213798 '331 We are happy you popped in!\r\n' 14:54:17.213850 < 22 bytes data, client => server 14:54:17.213862 'PASS ftp@example.com\r\n' 14:54:17.213968 Received DATA (on stdin) 14:54:17.213980 > 30 bytes data, server => client 14:54:17.213992 '230 Welcome you silly person\r\n' 14:54:17.214038 < 5 bytes data, client => server 14:54:17.214049 'PWD\r\n' 14:54:17.214142 Received DATA (on stdin) 14:54:17.214154 > 30 bytes data, server => client 14:54:17.214166 '257 "/" is current directory\r\n' 14:54:17.214220 < 6 bytes data, client => server 14:54:17.214232 'EPSV\r\n' 14:54:17.216641 Received DATA (on stdin) 14:54:17.216661 > 38 bytes data, server => client 14:54:17.216675 '229 Entering Passive Mode (|||46527|)\n' 14:54:17.216878 < 8 bytes data, client => server 14:54:17.216892 'TYPE I\r\n' 14:54:17.217099 Received DATA (on stdin) 14:54:17.217113 > 33 bytes data, server => client 14:54:17.217125 '200 I modify TYPE as you wanted\r\n' 14:54:17.217178 < 21 bytes data, client => server 14:54:17.217192 'SIZE verifiedserver\r\n' 14:54:17.217310 Received DATA (on stdin) 14:54:17.217324 > 8 bytes data, server => client 14:54:17.217335 '213 17\r\n' 14:54:17.217388 < 21 bytes data, client => server 14:54:17.217403 'RETR verifiedserver\r\n' 14:54:17.217720 Received DATA (on stdin) 14:54:17.217734 > 29 bytes data, server => client 14:54:17.217747 '150 Binary junk (17 bytes).\r\n' 14:54:17.218208 Received DATA (on stdin) 14:54:17.218223 > 28 bytes data, server => client 14:54:17.218235 '226 File transfer complete\r\n' 14:54:17.263511 < 6 bytes data, client => server 14:54:17.263539 'QUIT\r\n' 14:54:17.263987 Received DATA (on stdin) 14:54:17.264002 > 18 bytes data, server => client 14:54:17.264013 '221 bye bye baby\r\n' 14:54:17.264075 ====> Client disconnect 14:54:17.265060 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:17.216144 Running IPv4 version 14:54:17.216226 Listening on port 46527 14:54:17.216294 Wrote pid 135564 to log/24/server/ftp_sockdata.pid 14:54:17.216330 Received PING (on stdin) 14:54:17.216456 Received PORT (on stdin) 14:54:17.216846 ====> Client connect 14:54:17.217628 Received DATA (on stdin) 14:54:17.217642 > 17 bytes data, server => client 14:54:17.217653 'WE ROOLZ: 80263\r\n' 14:54:17.217680 Received DISC (on stdin) 14:54:17.217693 ====> Client forcibly disconnected 14:54:17.217923 Received QUIT (on stdin) 14:54:17.217937 quits 14:54:17.217995 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==135586== ==135586== Process terminating with default action of signal 4 (SIGILL) ==135586== Illegal opcode at address 0x4014B6F ==135586== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135586== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135586== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135586== by 0x4004266: main (tool_main.c:199) === End of file valgrind1108 test 1132...[Verify memory #include files in libcurl's C source files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/6/stdout1132 2> log/6/stderr1132 valgrind SKIPPED -------e--- OK (1060 out of 1725, remaining: 00:54, took 0.029s, duration: 01:26) test 1135...[Verify CURL_EXTERN order] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/14/stdout1135 2> log/14/stderr1135 valgrind SKIPPED s------e--- OK (1063 out of 1725, remaining: 00:54, took 0.032s, duration: 01:26) test 1111...[HTTP GET with URL whose fragment contains a # (which is illegal)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1111 ../src/curl -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:38851/1115 > log/23/stdout1115 2> log/23/stderr1115 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1116 ../src/curl -q --output log/12/curl1116.out --include --trace-ascii log/12/trace1116 --trace-time http://127.0.0.1:43359/1116 -D log/12/heads1116 > log/12/stdout1116 2> log/12/stderr1116 q --output log/4/curl1111.out --include --trace-ascii log/4/trace1111 --trace-time http://127.0.0.1:39793/1111?q=foobar#fragment#fragment2 > log/4/stdout1111 2> log/4/stderr1111 1111: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1111 ../src/curl -q --output log/4/curl1111.out --include --trace-ascii log/4/trace1111 --trace-time http://127.0.0.1:39793/1111?q=foobar#fragment#fragment2 > log/4/stdout1111 2> log/4/stderr1111 === End of file commands.log === Start of file http_server.log 14:54:17.769271 ====> Client connect 14:54:17.769307 accept_connection 3 returned 4 14:54:17.769326 accept_connection 3 returned 0 14:54:17.769343 Read 93 bytes 14:54:17.769390 Process 93 bytes request 14:54:17.769405 Got request: GET /verifiedserver HTTP/1.1 14:54:17.769418 Are-we-friendly question received 14:54:17.769447 Wrote request (93 bytes) input to log/4/server.input 14:54:17.769467 Identifying ourselves as friends 14:54:17.769530 Response sent (56 bytes) and written to log/4/server.response 14:54:17.769568 special request received, no persistency 14:54:17.769579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1111 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1111 ==135828== ==135828== Process terminating with default action of signal 4 (SIGILL) ==135828== Illegal opcode at address 0x4014B6F ==135828== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135828== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135828== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135828== by 0x4004266: main (tool_main.c:199) === End of file valgrind1111 test 1115...[HTTP GET with unexpected 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:38851/1115 > log/23/stdout1115 2> log/23/stderr1115 1115: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:38851/1115 > log/23/stdout1115 2> log/23/stderr1115 === End of file commands.log === Start of file http_server.log 14:54:17.811921 ====> Client connect 14:54:17.811956 accept_connection 3 returned 4 14:54:17.811975 accept_connection 3 returned 0 14:54:17.811990 Read 93 bytes 14:54:17.812001 Process 93 bytes request 14:54:17.812015 Got request: GET /verifiedserver HTTP/1.1 14:54:17.812025 Are-we-friendly question received 14:54:17.812054 Wrote request (93 bytes) input to log/23/server.input 14:54:17.812072 Identifying ourselves as friends 14:54:17.812131 Response sent (56 bytes) and written to log/23/server.response 14:54:17.812143 special request received, no persistency 14:54:17.812153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 45486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1115 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1115 ==135933== ==135933== Process terminating with default action of signal 4 (SIGILL) ==135933== Illegal opcode at address 0x4014B6F ==135933== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135933== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135933== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135933== by 0x4004266: main (tool_main.c:199) === End of file valgrind1115 test 1116...[HTTP GET with chunked trailer without Trailer:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1116 ../src/curl -q --output log/12/curl1116.out --include --trace-ascii log/12/trace1116 --trace-time http://127.0.0.1:43359/1116 -D log/12/heads1116 > log/12/stdout1116 2> log/12/stderr1116 1116: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1116 ../src/curl -q --output log/12/curl1116.out --include --trace-ascii log/12/trace1116 --trace-time http://127.0.0.1:43359/1116 -D log/12/heads1116 > log/12/stdout1116 2> log/12/stderr1116 === End of file commands.log === Start of file http_server.log 14:54:17.813207 ====> Client connect 14:54:17.813240 accept_connection 3 returned 4 14:54:17.813258 accept_connection 3 returned 0 14:54:17.813273 Read 93 bytes 14:54:17.813285 Process 93 bytes request 14:54:17.813299 Got request: GET /verifiedserver HTTP/1.1 14:54:17.813310 Are-we-friendly question received 14:54:17.813336 Wrote request (93 bytes) input to log/12/server.input 14:54:17.813354 Identifying ourselves as friends 14:54:17.813410 Response sent (56 bytes) and written to log/12/server.response 14:54:17.813422 special request received, no persistency 14:54:17.813432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1116 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1116 ==135947== ==135947== Process terminating with default action of signal 4 (SIGILL) ==135947== Illegal opcode atCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1117 ../src/curl -q --include --trace-ascii log/15/trace1117 --trace-time -r 10-22 http://127.0.0.1:42107/want/1117 http://127.0.0.1:42107/wantmore/11170001 > log/15/stdout1117 2> log/15/stderr1117 address 0x4014B6F ==135947== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==135947== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==135947== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==135947== by 0x4004266: main (tool_main.c:199) === End of file valgrind1116 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/12/stdout1139 2> log/12/stderr1139 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36645/fully_simulated/DOS/*.txt" > log/13/stdout1113 2> log/13/stderr1113 test 1117...[HTTP with invalid range then another URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1117 ../src/curl -q --include --trace-ascii log/15/trace1117 --trace-time -r 10-22 http://127.0.0.1:42107/want/1117 http://127.0.0.1:42107/wantmore/11170001 > log/15/stdout1117 2> log/15/stderr1117 1117: stdout FAILED: --- log/15/check-expected 2025-09-11 14:54:18.708864678 +0000 +++ log/15/check-generated 2025-09-11 14:54:18.708864678 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] -Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 115[CR][LF] -[CR][LF] -This is a long error message that is large enough that the test server is[LF] -guaranteed to split it into two packets.[LF] -HTTP/1.1 206 Partial Content[CR][LF] -Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Range: bytes 10-18/155[CR][LF] -Content-Length: 13[CR][LF] -Content-Type: text/plain[CR][LF] -[CR][LF] -partial body[LF] == Contents of files in the log/15/ dir after test 1117 === Start of file check-expected HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 115[CR][LF] [CR][LF] This is a long error message that is large enough that the test server is[LF] guaranteed to split it into two packets.[LF] HTTP/1.1 206 Partial Content[CR][LF] Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Range: bytes 10-18/155[CR][LF] Content-Length: 13[CR][LF] Content-Type: text/plain[CR][LF] [CR][LF] partial body[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1117 ../src/curl -q --include --trace-ascii log/15/trace1117 --trace-time -r 10-22 http://127.0.0.1:42107/want/1117 http://127.0.0.1:42107/wantmore/11170001 > log/15/stdout1117 2> log/15/stderr1117 === End of file commands.log === Start of file http_server.log 14:54:17.839151 ====> Client connect 14:54:17.839188 accept_connection 3 returned 4 14:54:17.839206 accept_connection 3 returned 0 14:54:17.839224 Read 93 bytes 14:54:17.839235 Process 93 bytes request 14:54:17.839249 Got request: GET /verifiedserver HTTP/1.1 14:54:17.839261 Are-we-friendly question received 14:54:17.839289 Wrote request (93 bytes) input to log/15/server.input 14:54:17.839308 Identifying ourselves as friends 14:54:17.839370 Response sent (56 bytes) and written to log/15/server.response 14:54:17.839384 special request received, no persistency 14:54:17.839394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd writedelay: 100 Testnum 1117 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1117 ==136031== ==136031== Process terminating with default action of signal 4 (SIGILL) ==136031== Illegal opcode at address 0x4014B6F ==136031== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136031== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136031== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136031== by 0x4004266: main (tool_main.c:199) === End of file valgrind1117 test 1139...[Verify that all libcurl options have man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/12/stdout1139 2> log/12/stderr1139 valgrind SKIPPED -r-----e--- OK (1067 out of 1725, remaining: 00:53, took 0.038s, duration: 01:27) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1118 ../src/curl -q --output log/7/curl1118.out --include --trace-ascii log/7/trace1118 --trace-time http://127.0.0.1:40545?email=name@example.com/1118 > log/7/stdout1118 2> log/7/stderr1118 test 1113...[FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36645/fully_simulated/DOS/*.txt" > log/13/stdout1113 2> log/13/stderr1113 1113: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:18.722198011 +0000 +++ log/13/check-generated 2025-09-11 14:54:18.722198011 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/13/ dir after test 1113 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36645/fully_simulated/DOS/*.txt" > log/13/stdout1113 2> log/13/stderr1113 === End of file commands.log === Start of file ftp_server.log 14:54:17.709728 ====> Client connect 14:54:17.709858 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:17.710125 < "USER anonymous" 14:54:17.710156 > "331 We are happy you popped in![CR][LF]" 14:54:17.710322 < "PASS ftp@example.com" 14:54:17.710350 > "230 Welcome you silly person[CR][LF]" 14:54:17.710501 < "PWD" 14:54:17.710530 > "257 "/" is current directory[CR][LF]" 14:54:17.710696 < "EPSV" 14:54:17.710720 ====> Passive DATA channel requested by client 14:54:17.710734 DATA sockfilt for passive data channel starting... 14:54:17.712934 DATA sockfilt for passive data channel started (pid 135853) 14:54:17.713079 DATA sockfilt for passive data channel listens on port 41999 14:54:17.713128 > "229 Entering Passive Mode (|||41999|)[LF]" 14:54:17.713148 Client has been notified that DATA conn will be accepted on port 41999 14:54:17.713434 Client connects to port 41999 14:54:17.713465 ====> Client established passive DATA connection on port 41999 14:54:17.713567 < "TYPE I" 14:54:17.713604 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:17.713783 < "SIZE verifiedserver" 14:54:17.713819 > "213 17[CR][LF]" 14:54:17.713981 < "RETR verifiedserver" 14:54:17.714018 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:17.714108 =====> Closing passive DATA connection... 14:54:17.714124 Server disconnects passive DATA connection 14:54:17.714414 Server disconnected passive DATA connection 14:54:17.714448 DATA sockfilt for passive data channel quits (pid 135853) 14:54:17.714717 DATA sockfilt for passive data channel quit (pid 135853) 14:54:17.714746 =====> Closed passive DATA connection 14:54:17.714779 > "226 File transfer complete[CR][LF]" 14:54:17.757301 < "QUIT" 14:54:17.757360 > "221 bye bye baby[CR][LF]" 14:54:17.758232 MAIN sockfilt said DISC 14:54:17.758263 ====> Client disconnected 14:54:17.758341 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.792384 ====> Client connect 14:54:17.792678 Received DATA (on stdin) 14:54:17.792695 > 160 bytes data, server => client 14:54:17.792708 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.792721 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.792732 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.792804 < 16 bytes data, client => server 14:54:17.792819 'USER anonymous\r\n' 14:54:17.792966 Received DATA (on stdin) 14:54:17.792977 > 33 bytes data, server => client 14:54:17.792996 '331 We are happy you popped in!\r\n' 14:54:17.793044 < 22 bytes data, client => server 14:54:17.793057 'PASS ftp@example.com\r\n' 14:54:17.793163 Received DATA (on stdin) 14:54:17.793175 > 30 bytes data, server => client 14:54:17.793187 '230 Welcome you silly person\r\n' 14:54:17.793233 < 5 bytes data, client => server 14:54:17.793246 'PWD\r\n' 14:54:17.793341 Received DATA (on stdin) 14:54:17.793352 > 30 bytes data, server => client 14:54:17.793363 '257 "/" is current directory\r\n' 14:54:17.793420 < 6 bytes data, client => server 14:54:17.793434 'EPSV\r\n' 14:54:17.795970 Received DATA (on stdin) 14:54:17.795989 > 38 bytes data, server => client 14:54:17.796002 '229 Entering Passive Mode (|||41999|)\n' 14:54:17.796190 < 8 bytes data, client => server 14:54:17.796204 'TYPE I\r\n' 14:54:17.796421 Received DATA (on stdin) 14:54:17.796434 > 33 bytes data, server => client 14:54:17.796447 '200 I modify TYPE as you wanted\r\n' 14:54:17.796505 < 21 bytes data, client => server 14:54:17.796517 'SIZE verifiedserver\r\n' 14:54:17.796632 Received DATA (on stdin) 14:54:17.796645 > 8 bytes data, server => client 14:54:17.796658 '213 17\r\n' 14:54:17.796708 < 21 bytes data, client => server 14:54:17.796721 'RETR verifiedserver\r\n' 14:54:17.797037 Received DATA (on stdin) 14:54:17.797051 > 29 bytes data, server => client 14:54:17.797063 '150 Binary junk (17 bytes).\r\n' 14:54:17.797601 Received DATA (on stdin) 14:54:17.797616 > 28 bytes data, server => client 14:54:17.797629 '226 File transfer complete\r\n' 14:54:17.839923 < 6 bytes data, client => server 14:54:17.839948 'QUIT\r\n' 14:54:17.840180 Received DATA (on stdin) 14:54:17.840195 > 18 bytes data, server => client 14:54:17.840207 '221 bye bye baby\r\n' 14:54:17.840989 ====> Client disconnect 14:54:17.841160 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:17.795516 Running IPv4 version 14:54:17.795602 Listening on port 41999 14:54:17.795658 Wrote pid 135853 to log/13/server/ftp_sockdata.pid 14:54:17.795682 Received PING (on stdin) 14:54:17.795789 Received PORT (on stdin) 14:54:17.796160 ====> Client connect 14:54:17.796940 Received DATA (on stdin) 14:54:17.796955 > 17 bytes data, server => client 14:54:17.796967 'WE ROOLZ: 80108\r\n' 14:54:17.796998 Received DISC (on stdin) 14:54:17.797012 ====> Client forcibly disconnected 14:54:17.797275 Received QUIT (on stdin) 14:54:17.797290 quits 14:54:17.797352 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1113 === End of file server.cmd === Start of file stderr1113 URL: ftp://127.0.0.1:36645/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==136035== ==136035== Process terminating with default action of signal 4 (SIGILL) ==136035== Illegal opcode at address 0x51D42F3 ==136035== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==136035== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==136035== by 0x51D42F3: Curl_open (url.c:551) ==136035== by 0x514CA2F: curl_easy_init (easy.c:372) ==136035== by 0x4015A46: test_lib574.lto_priv.0 (lib574.c:47) ==136035== by 0x400347F: main (first.c:281) ==136035== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==136035== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==136035== by 0x51D4243: Curl_open (url.c:530) ==136035== by 0x514CA2F: curl_easy_init (easy.c:372) ==136035== by 0x4015A46: test_lib574.lto_priv.0 (lib574.c:47) ==136035== by 0CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/15/stdout1140 2> log/15/stderr1140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:42691/fully_simulated/DOS/* > log/10/stdout1114 2> log/10/stderr1114 x400347F: main (first.c:281) ==136035== === End of file valgrind1113 test 1118...[URL without slash and @-letter in query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1118 ../src/curl -q --output log/7/curl1118.out --include --trace-ascii log/7/trace1118 --trace-time http://127.0.0.1:40545?email=name@example.com/1118 > log/7/stdout1118 2> log/7/stderr1118 1118: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1118 ../src/curl -q --output log/7/curl1118.out --include --trace-ascii log/7/trace1118 --trace-time http://127.0.0.1:40545?email=name@example.com/1118 > log/7/stdout1118 2> log/7/stderr1118 === End of file commands.log === Start of file http_server.log 14:54:17.842839 ====> Client connect 14:54:17.842873 accept_connection 3 returned 4 14:54:17.842891 accept_connection 3 returned 0 14:54:17.842906 Read 93 bytes 14:54:17.842918 Process 93 bytes request 14:54:17.842934 Got request: GET /verifiedserver HTTP/1.1 14:54:17.842948 Are-we-friendly question received 14:54:17.842974 Wrote request (93 bytes) input to log/7/server.input 14:54:17.843007 Identifying ourselves as friends 14:54:17.843070 Response sent (56 bytes) and written to log/7/server.response 14:54:17.843083 special request received, no persistency 14:54:17.843094 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1118 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1118 ==136030== ==136030== Process terminating with default action of signal 4 (SIGILL) ==136030== Illegal opcode at address 0x4014B6F ==136030== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136030== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136030== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136030== by 0x4004266: main (tool_main.c:199) === End of file valgrind1118 test 1140...[Verify the nroff of manpages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/15/stdout1140 2> log/15/stderr1140 valgrind SKIPPED s------e--- OK (1068 out of 1725, remaining: 00:53, took 0.059s, duration: 01:27) test 1114...[FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:42691/fully_simulated/DOS/* > log/10/stdout1114 2> log/10/stderr1114 1114: stdout FAILED: --- log/10/check-expected 2025-09-11 14:54:18.795531346 +0000 +++ log/10/check-generated 2025-09-11 14:54:18.792198013 +0000 @@ -1,96 +0,0 @@ -=============================================================[LF] -Remains: 12[LF] -Filename: .[LF] -Size: 0B[LF] -Time: 04-27-10 05:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: ..[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod1[LF] -Size: 38B[LF] -Time: 01-11-10 10:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod2[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod3[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: chmod4[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: chmod5[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: empty_file.dat[LF] -Size: 0B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: file.txt[LF] -Size: 35B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Size: 0B[LF] -Time: 01-23-05 02:05AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Size: 47B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/10/ dir after test 1114 === Start of file check-expected =============================================================[LF] Remains: 12[LF] Filename: .[LF] Size: 0B[LF] Time: 04-27-10 05:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 11[LF] Filename: ..[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod1[LF] Size: 38B[LF] Time: 01-11-10 10:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod2[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod3[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 7[LF] Filename: chmod4[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 6[LF] Filename: chmod5[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 5[LF] Filename: empty_file.dat[LF] Size: 0B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 4[LF] Filename: file.txt[LF] Size: 35B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Size: 0B[LF] Time: 01-23-05 02:05AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Size: 47B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1114 ./libtest/libtestsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1121 ../src/curl -q --output log/5/curl1121.out --include --trace-ascii log/5/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:46041/1121 > log/5/stdout1121 2> log/5/stderr1121 lib576 ftp://127.0.0.1:42691/fully_simulated/DOS/* > log/10/stdout1114 2> log/10/stderr1114 === End of file commands.log === Start of file ftp_server.log 14:54:17.724103 ====> Client connect 14:54:17.724255 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:17.724523 < "USER anonymous" 14:54:17.724557 > "331 We are happy you popped in![CR][LF]" 14:54:17.724717 < "PASS ftp@example.com" 14:54:17.724741 > "230 Welcome you silly person[CR][LF]" 14:54:17.724887 < "PWD" 14:54:17.724916 > "257 "/" is current directory[CR][LF]" 14:54:17.725068 < "EPSV" 14:54:17.725089 ====> Passive DATA channel requested by client 14:54:17.725102 DATA sockfilt for passive data channel starting... 14:54:17.727040 DATA sockfilt for passive data channel started (pid 135910) 14:54:17.727160 DATA sockfilt for passive data channel listens on port 45883 14:54:17.727202 > "229 Entering Passive Mode (|||45883|)[LF]" 14:54:17.727220 Client has been notified that DATA conn will be accepted on port 45883 14:54:17.727461 Client connects to port 45883 14:54:17.727489 ====> Client established passive DATA connection on port 45883 14:54:17.727605 < "TYPE I" 14:54:17.727634 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:17.727778 < "SIZE verifiedserver" 14:54:17.727808 > "213 17[CR][LF]" 14:54:17.727988 < "RETR verifiedserver" 14:54:17.728045 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:17.728150 =====> Closing passive DATA connection... 14:54:17.728172 Server disconnects passive DATA connection 14:54:17.728377 Server disconnected passive DATA connection 14:54:17.728412 DATA sockfilt for passive data channel quits (pid 135910) 14:54:17.728674 DATA sockfilt for passive data channel quit (pid 135910) 14:54:17.728704 =====> Closed passive DATA connection 14:54:17.728735 > "226 File transfer complete[CR][LF]" 14:54:17.777250 < "QUIT" 14:54:17.777307 > "221 bye bye baby[CR][LF]" 14:54:17.778341 MAIN sockfilt said DISC 14:54:17.778379 ====> Client disconnected 14:54:17.778464 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.806814 ====> Client connect 14:54:17.807080 Received DATA (on stdin) 14:54:17.807095 > 160 bytes data, server => client 14:54:17.807108 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:17.807120 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:17.807131 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:17.807202 < 16 bytes data, client => server 14:54:17.807215 'USER anonymous\r\n' 14:54:17.807373 Received DATA (on stdin) 14:54:17.807386 > 33 bytes data, server => client 14:54:17.807397 '331 We are happy you popped in!\r\n' 14:54:17.807444 < 22 bytes data, client => server 14:54:17.807456 'PASS ftp@example.com\r\n' 14:54:17.807552 Received DATA (on stdin) 14:54:17.807564 > 30 bytes data, server => client 14:54:17.807575 '230 Welcome you silly person\r\n' 14:54:17.807620 < 5 bytes data, client => server 14:54:17.807631 'PWD\r\n' 14:54:17.807727 Received DATA (on stdin) 14:54:17.807739 > 30 bytes data, server => client 14:54:17.807750 '257 "/" is current directory\r\n' 14:54:17.807803 < 6 bytes data, client => server 14:54:17.807814 'EPSV\r\n' 14:54:17.810040 Received DATA (on stdin) 14:54:17.810057 > 38 bytes data, server => client 14:54:17.810068 '229 Entering Passive Mode (|||45883|)\n' 14:54:17.810315 < 8 bytes data, client => server 14:54:17.810327 'TYPE I\r\n' 14:54:17.810446 Received DATA (on stdin) 14:54:17.810457 > 33 bytes data, server => client 14:54:17.810467 '200 I modify TYPE as you wanted\r\n' 14:54:17.810513 < 21 bytes data, client => server 14:54:17.810524 'SIZE verifiedserver\r\n' 14:54:17.810618 Received DATA (on stdin) 14:54:17.810629 > 8 bytes data, server => client 14:54:17.810638 '213 17\r\n' 14:54:17.810691 < 21 bytes data, client => server 14:54:17.810702 'RETR verifiedserver\r\n' 14:54:17.810997 Received DATA (on stdin) 14:54:17.811017 > 29 bytes data, server => client 14:54:17.811030 '150 Binary junk (17 bytes).\r\n' 14:54:17.811554 Received DATA (on stdin) 14:54:17.811570 > 28 bytes data, server => client 14:54:17.811582 '226 File transfer complete\r\n' 14:54:17.859865 < 6 bytes data, client => server 14:54:17.859899 'QUIT\r\n' 14:54:17.860122 Received DATA (on stdin) 14:54:17.860146 > 18 bytes data, server => client 14:54:17.860160 '221 bye bye baby\r\n' 14:54:17.861094 ====> Client disconnect 14:54:17.861256 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:17.809524 Running IPv4 version 14:54:17.809589 Listening on port 45883 14:54:17.809626 Wrote pid 135910 to log/10/server/ftp_sockdata.pid 14:54:17.809795 Received PING (on stdin) 14:54:17.809885 Received PORT (on stdin) 14:54:17.810227 ====> Client connect 14:54:17.810878 Received DATA (on stdin) 14:54:17.810891 > 17 bytes data, server => client 14:54:17.810901 'WE ROOLZ: 80280\r\n' 14:54:17.810989 Received DISC (on stdin) 14:54:17.811003 ====> Client forcibly disconnected 14:54:17.811246 Received QUIT (on stdin) 14:54:17.811266 quits 14:54:17.811329 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1114 === End of file server.cmd === Start of file stderr1114 URL: ftp://127.0.0.1:42691/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==136137== ==136137== Process terminating with default action of signal 4 (SIGILL) ==136137== Illegal opcode at address 0x51D42F3 ==136137== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==136137== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==136137== by 0x51D42F3: Curl_open (url.c:551) ==136137== by 0x514CA2F: curl_easy_init (easy.c:372) ==136137== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==136137== by 0x400347F: main (first.c:281) ==136137== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==136137== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==136137== by 0x51D4243: Curl_open (url.c:530) ==136137== by 0x514CA2F: curl_easy_init (easy.c:372) ==136137== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==136137== by 0x400347F: main (first.c:281) ==136137== === End of file valgrind1114 test 1121...[HTTP multiple provided Host: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1121 ../src/curl -q --output log/5/curl1121.out --include --trace-ascii log/5/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:46041/1121 > log/5/stdout1121 2> log/5/stderr1121 1121: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1121 ../src/curl -q --output log/5/curl1121.out --include --trace-ascii log/5/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:46041/1121 > log/5/stdout1121 2> log/5/stderr1121 === End of file commands.log === Start of file http_server.log 14:54:17.918577 ====> Client connect 14:54:17.918615 accept_connection 3 returned 4 14:54:17.918633 accept_connection 3 returned 0 14:54:17.918650 Read 93 bytes 14:54:17.918661 Process 93 bytes request 14:54:17.918678 Got request: GET /verifiedserver HTTP/1.1 14:54:17.918689 Are-we-friendly question received 14:54:17.918718 Wrote request (93 bytes) input to log/5/server.input 14:54:17.918737 Identifying ourselves as friends 14:54:17.918797 Response sent (56 bytes) and written to log/5/server.response 14:54:17.918809 special request received, no persistency 14:54:17.918820 ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1099 ../src/curl -q --include --trace-ascii log/21/trace1099 --trace-time tftp://127.0.0.1:50133/an/invalid-file tftp://127.0.0.1:50133//1099 > log/21/stdout1099 2> log/21/stderr1099 => Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1121 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1121 ==136264== ==136264== Process terminating with default action of signal 4 (SIGILL) ==136264== Illegal opcode at address 0x4014B6F ==136264== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136264== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136264== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136264== by 0x4004266: main (tool_main.c:199) === End of file valgrind1121 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1122 ../src/curl -q --output log/9/curl1122.out --include --trace-ascii log/9/trace1122 --trace-time http://127.0.0.1:34345/1122 --tr-encoding > log/9/stdout1122 2> log/9/stderr1122 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:45171/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1124 ../src/curl -q --output log/16/curl1124.out --include --trace-ascii log/16/trace1124 --trace-time http://127.0.0.1:34475/1124 --tr-encoding > log/16/stdout1124 2> log/16/stderr1124 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/21/server/tftp_server.pid" --portfile "log/21/server/tftp_server.port" --logfile "log/21/tftp_server.log" --logdir "log/21" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 134993 port 50133 * pid tftp => 134993 134993 test 1099...[TFTP get first a non-existing file then an existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1099 ../src/curl -q --include --trace-ascii log/21/trace1099 --trace-time tftp://127.0.0.1:50133/an/invalid-file tftp://127.0.0.1:50133//1099 > log/21/stdout1099 2> log/21/stderr1099 1099: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:18.858864680 +0000 +++ log/21/check-generated 2025-09-11 14:54:18.858864680 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/21/ dir after test 1099 === Start of file check-expected data for 1099[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1099 ../src/curl -q --include --trace-ascii log/21/trace1099 --trace-time tftp://127.0.0.1:50133/an/invalid-file tftp://127.0.0.1:50133//1099 > log/21/stdout1099 2> log/21/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 14:54:16.062749 Wrote pid 134993 to log/21/server/tftp_server.pid 14:54:16.062789 Wrote port 50133 to log/21/server/tftp_server.port 14:54:16.062800 Running IPv4 version on port UDP/50133 === End of file tftp_server.log === Start of file valgrind1099 ==136363== ==136363== Process terminating with default action of signal 4 (SIGILL) ==136363== Illegal opcode at address 0x4014B6F ==136363== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136363== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136363== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136363== by 0x4004266: main (tool_main.c:199) === End of file valgrind1099 test 1122...[HTTP GET gzip transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1122 ../src/curl -q --output log/9/curl1122.out --include --trace-ascii log/9/trace1122 --trace-time http://127.0.0.1:34345/1122 --tr-encoding > log/9/stdout1122 2> log/9/stderr1122 1122: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1122 ../src/curl -q --output log/9/curl1122.out --include --trace-ascii log/9/trace1122 --trace-time http://127.0.0.1:34345/1122 --tr-encoding > log/9/stdout1122 2> log/9/stderr1122 === End of file commands.log === Start of file http_server.log 14:54:18.034707 ====> Client connect 14:54:18.034735 accept_connection 3 returned 4 14:54:18.034747 accept_connection 3 returned 0 14:54:18.034760 Read 93 bytes 14:54:18.034768 Process 93 bytes request 14:54:18.034778 Got request: GET /verifiedserver HTTP/1.1 14:54:18.034786 Are-we-friendly question received 14:54:18.034803 Wrote request (93 bytes) input to log/9/server.input 14:54:18.034816 Identifying ourselves as friends 14:54:18.034856 Response sent (56 bytes) and written to log/9/server.response 14:54:18.034864 special request received, no persistency 14:54:18.034871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1122 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1122 ==136361== ==136361== Process terminating with default action of signal 4 (SIGILL) ==136361== Illegal opcode at address 0x4014B6F ==136361== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136361== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136361== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136361== by 0x4004266: main (tool_main.c:199) === End of file valgrind1122 test 1126...[HTTP 200 If-Modified-Since with newer document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:45171/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 1126: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:45171/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 === End of file commands.log === Start of file http_server.log 14:54:18.113881 ====> Client connect 14:54:18.113916 accept_connection 3 returned 4 14:54:18.113934 accept_connection 3 returned 0 14:54:18.113949 Read 93 bytes 14:54:18.113960 Process 93 bytes request 14:54:18.113972 Got request: GET /verifiedserver HTTP/1.1 14:54:18.113983 Are-we-friendly question received 14:54:18.114009 Wrote request (93 bytes) input to log/17/server.input 14:54:18.114027 Identifying ourselves as friends 14:54:18.114082 Response sent (56 bytes) and written to log/17/server.response 14:54:18.114094 special request received, no persistency 14:54:18.114104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1126 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1126 ==136538== ==136538== Process terminating with default action of signal 4 (SIGILL) ==136538== Illegal opcode at address 0x4014B6F ==136538== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136538== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136538== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136538== by 0x4004266: main (tool_main.c:199) === End of file valgrind1126 test 1124...[HTTP GET gzip+chunked traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1125 ../src/curl -q --output log/20/curl1125.out --include --trace-ascii log/20/trace1125 --trace-time http://127.0.0.1:39569/1125 --tr-encoding -H "Connection: close" > log/20/stdout1125 2> log/20/stderr1125 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1127 ../src/curl -q --output log/8/curl1127.out --include --trace-ascii log/8/trace1127 --trace-time http://127.0.0.1:37085/1127 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout1127 2> log/8/stderr1127 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1123 ../src/curl -q --output log/18/curl1123.out --include --trace-ascii log/18/trace1123 --trace-time http://127.0.0.1:43297/1123 --tr-encoding > log/18/stdout1123 2> log/18/stderr1123 nsfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1124 ../src/curl -q --output log/16/curl1124.out --include --trace-ascii log/16/trace1124 --trace-time http://127.0.0.1:34475/1124 --tr-encoding > log/16/stdout1124 2> log/16/stderr1124 1124: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1124 ../src/curl -q --output log/16/curl1124.out --include --trace-ascii log/16/trace1124 --trace-time http://127.0.0.1:34475/1124 --tr-encoding > log/16/stdout1124 2> log/16/stderr1124 === End of file commands.log === Start of file http_server.log 14:54:18.105973 ====> Client connect 14:54:18.105999 accept_connection 3 returned 4 14:54:18.106013 accept_connection 3 returned 0 14:54:18.106026 Read 93 bytes 14:54:18.106034 Process 93 bytes request 14:54:18.106045 Got request: GET /verifiedserver HTTP/1.1 14:54:18.106053 Are-we-friendly question received 14:54:18.106073 Wrote request (93 bytes) input to log/16/server.input 14:54:18.106087 Identifying ourselves as friends 14:54:18.106129 Response sent (56 bytes) and written to log/16/server.response 14:54:18.106138 special request received, no persistency 14:54:18.106146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1124 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1124 ==136520== ==136520== Process terminating with default action of signal 4 (SIGILL) ==136520== Illegal opcode at address 0x4014B6F ==136520== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136520== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136520== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136520== by 0x4004266: main (tool_main.c:199) === End of file valgrind1124 test 1125...[HTTP GET transfer-encoding with custom Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1125 ../src/curl -q --output log/20/curl1125.out --include --trace-ascii log/20/trace1125 --trace-time http://127.0.0.1:39569/1125 --tr-encoding -H "Connection: close" > log/20/stdout1125 2> log/20/stderr1125 1125: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1125 ../src/curl -q --output log/20/curl1125.out --include --trace-ascii log/20/trace1125 --trace-time http://127.0.0.1:39569/1125 --tr-encoding -H "Connection: close" > log/20/stdout1125 2> log/20/stderr1125 === End of file commands.log === Start of file http_server.log 14:54:18.113855 ====> Client connect 14:54:18.113883 accept_connection 3 returned 4 14:54:18.113896 accept_connection 3 returned 0 14:54:18.113909 Read 93 bytes 14:54:18.113918 Process 93 bytes request 14:54:18.113931 Got request: GET /verifiedserver HTTP/1.1 14:54:18.113939 Are-we-friendly question received 14:54:18.113959 Wrote request (93 bytes) input to log/20/server.input 14:54:18.113972 Identifying ourselves as friends 14:54:18.114013 Response sent (56 bytes) and written to log/20/server.response 14:54:18.114021 special request received, no persistency 14:54:18.114029 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1125 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1125 ==136541== ==136541== Process terminating with default action of signal 4 (SIGILL) ==136541== Illegal opcode at address 0x4014B6F ==136541== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136541== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136541== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136541== by 0x4004266: main (tool_main.c:199) === End of file valgrind1125 test 1127...[HTTP 200 If-Modified-Since with older document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1127 ../src/curl -q --output log/8/curl1127.out --include --trace-ascii log/8/trace1127 --trace-time http://127.0.0.1:37085/1127 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout1127 2> log/8/stderr1127 1127: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1127 ../src/curl -q --output log/8/curl1127.out --include --trace-ascii log/8/trace1127 --trace-time http://127.0.0.1:37085/1127 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout1127 2> log/8/stderr1127 === End of file commands.log === Start of file http_server.log 14:54:17.135048 ====> Client connect 14:54:17.135081 accept_connection 3 returned 4 14:54:17.135100 accept_connection 3 returned 0 14:54:17.135115 Read 93 bytes 14:54:17.135126 Process 93 bytes request 14:54:17.135141 Got request: GET /verifiedserver HTTP/1.1 14:54:17.135152 Are-we-friendly question received 14:54:17.135177 Wrote request (93 bytes) input to log/8/server.input 14:54:17.135195 Identifying ourselves as friends 14:54:17.135249 Response sent (56 bytes) and written to log/8/server.response 14:54:17.135261 special request received, no persistency 14:54:17.135271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 46990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1127 === End oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1129 ../src/curl -q --include --trace-ascii log/19/trace1129 --trace-time -d @log/19/file1129 --expect100-timeout 99 http://127.0.0.1:33805/1129 http://127.0.0.1:33805/11290001 > log/19/stdout1129 2> log/19/stderr1129 f file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1127 ==136686== ==136686== Process terminating with default action of signal 4 (SIGILL) ==136686== Illegal opcode at address 0x4014B6F ==136686== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136686== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136686== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136686== by 0x4004266: main (tool_main.c:199) === End of file valgrind1127 test 1123...[HTTP GET deflate transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1123 ../src/curl -q --output log/18/curl1123.out --include --trace-ascii log/18/trace1123 --trace-time http://127.0.0.1:43297/1123 --tr-encoding > log/18/stdout1123 2> log/18/stderr1123 1123: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1123 ../src/curl -q --output log/18/curl1123.out --include --trace-ascii log/18/trace1123 --trace-time http://127.0.0.1:43297/1123 --tr-encoding > log/18/stdout1123 2> log/18/stderr1123 === End of file commands.log === Start of file http_server.log 14:54:18.103184 ====> Client connect 14:54:18.103219 accept_connection 3 returned 4 14:54:18.103237 accept_connection 3 returned 0 14:54:18.103255 Read 93 bytes 14:54:18.103272 Process 93 bytes request 14:54:18.103334 Got request: GET /verifiedserver HTTP/1.1 14:54:18.103345 Are-we-friendly question received 14:54:18.103373 Wrote request (93 bytes) input to log/18/server.input 14:54:18.103391 Identifying ourselves as friends 14:54:18.103453 Response sent (56 bytes) and written to log/18/server.response 14:54:18.103468 special request received, no persistency 14:54:18.103478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 33986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1123 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1123 ==136586== ==136586== Process terminating with default action of signal 4 (SIGILL) ==136586== Illegal opcode at address 0x4014B6F ==136586== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136586== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136586== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136586== by 0x4004266: main (tool_main.c:199) === End of file valgrind1123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:44029/1128 http://127.0.0.1:44029/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1130 ../src/curl -q --include --trace-ascii log/3/trace1130 --trace-time -d @log/3/file1130 http://127.0.0.1:46791/1130 http://127.0.0.1:46791/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/3/stdout1130 2> log/3/stderr1130 test 1129...[HTTP POST expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1129 ../src/curl -q --include --trace-ascii log/19/trace1129 --trace-time -d @log/19/file1129 --expect100-timeout 99 http://127.0.0.1:33805/1129 http://127.0.0.1:33805/11290001 > log/19/stdout1129 2> log/19/stderr1129 1129: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:19.088864682 +0000 +++ log/19/check-generated 2025-09-11 14:54:19.088864682 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/19/ dir after test 1129 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1129 ../src/curl -q --include --trace-ascii log/19/trace1129 --trace-time -d @log/19/file1129 --expect100-timeout 99 http://127.0.0.1:33805/1129 http://127.0.0.1:33805/11290001 > log/19/stdout1129 2> log/19/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 14:54:17.140020 ====> Client connect 14:54:17.140046 accept_connection 3 returned 4 14:54:17.140060 accept_connection 3 returned 0 14:54:17.140073 Read 93 bytes 14:54:17.140083 Process 93 bytes request 14:54:17.140095 Got request: GET /verifiedserver HTTP/1.1 14:54:17.140106 Are-we-friendly question received 14:54:17.140132 Wrote request (93 bytes) input to log/19/server.input 14:54:17.140151 Identifying ourselves as friends 14:54:17.140206 Response sent (56 bytes) and written to log/19/server.response 14:54:17.140218 special request received, no persistency 14:54:17.140228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1131 ../src/curl -q --include --trace-ascii log/11/trace1131 --trace-time -H "Expect: 100-continue" -T log/11/file1131 http://127.0.0.1:33503/1131 -T log/11/file1131 http://127.0.0.1:33503/11310001 --expect100-timeout 99 > log/11/stdout1131 2> log/11/stderr1131 Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd skip: 1053700 Testnum 1129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1129 ==136788== ==136788== Process terminating with default action of signal 4 (SIGILL) ==136788== Illegal opcode at address 0x4014B6F ==136788== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136788== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136788== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136788== by 0x4004266: main (tool_main.c:199) === End of file valgrind1129 test 1128...[HTTP 200 If-Modified-Since with old+new documents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:44029/1128 http://127.0.0.1:44029/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 1128: stdout FAILED: --- log/1/check-expected 2025-09-11 14:54:19.105531350 +0000 +++ log/1/check-generated 2025-09-11 14:54:19.105531350 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -0123456789[LF] == Contents of files in the log/1/ dir after test 1128 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] 0123456789[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:44029/1128 http://127.0.0.1:44029/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 === End of file commands.log === Start of file http_server.log 14:54:18.138033 ====> Client connect 14:54:18.138066 accept_connection 3 returned 4 14:54:18.138085 accept_connection 3 returned 0 14:54:18.138102 Read 93 bytes 14:54:18.138113 Process 93 bytes request 14:54:18.138127 Got request: GET /verifiedserver HTTP/1.1 14:54:18.138138 Are-we-friendly question received 14:54:18.138163 Wrote request (93 bytes) input to log/1/server.input 14:54:18.138181 Identifying ourselves as friends 14:54:18.138238 Response sent (56 bytes) and written to log/1/server.response 14:54:18.138251 special request received, no persistency 14:54:18.138261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50178 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1128 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1128 ==136729== ==136729== Process terminating with default action of signal 4 (SIGILL) ==136729== Illegal opcode at address 0x4014B6F ==136729== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136729== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136729== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136729== by 0x4004266: main (tool_main.c:199) === End of file valgrind1128 test 1130...[HTTP POST forced expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1130 ../src/curl -q --include --trace-ascii log/3/trace1130 --trace-time -d @log/3/file1130 http://127.0.0.1:46791/1130 http://127.0.0.1:46791/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/3/stdout1130 2> log/3/stderr1130 1130: stdout FAILED: --- log/3/check-expected 2025-09-11 14:54:19.112198017 +0000 +++ log/3/check-generated 2025-09-11 14:54:19.112198017 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/3/ dir after test 1130 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1130 ../src/curl -q --include --trace-ascii log/3/trace1130 --trace-time -d @log/3/file1130 http://127.0.0.1:46791/1130 http://127.0.0.1:46791/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/3/stdout1130 2> log/3/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 14:54:18.142014 ====> Client connect 14:54:18.142049 accept_connection 3 returned 4 14:54:18.142068 accept_connection 3 returned 0 14:54:18.142084 Read 93 bytes 14:54:18.142095 Process 93 bytes request 14:54:18.142108 Got request: GET /verifiedserver HTTP/1.1 14:54:18.142118 Are-we-friendly question received 14:54:18.142146 Wrote request (93 bytes) input to log/3/server.input 14:54:18.142165 Identifying ourselves as friends 14:54:18.142219 Response sent (56 bytes) and written to log/3/server.response 14:54:18.142228 special request received, no persistency 14:54:18.142237 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1130 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1130 ==136758== ==136758== Process terminating with default action of signal 4 (SIGILL) ==136758== Illegal opcode at address 0x4014B6F ==136758== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136758== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136758== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136758== by 0x4004266: main (tool_main.c:199) === End of file valgrind1130 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1133 ../src/curl -q --output log/24/curl1133.out --include --trace-ascii log/24/trace1133 --trace-time http://127.0.0.1:34449/we/want/1133 -F "file=@\"log/24/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/24/test1133,and;.txt"' -F 'file3=@"log/24/test1133,and;.txt";type=m/f,"log/24/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/24/stdout1133 2> log/24/stderr1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1136 ../src/curl -q --output log/14/curl1136.out --include --trace-ascii log/14/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/14/jar1136.txt -x 127.0.0.1:46043 > log/14/stdout1136 2> log/14/stderr1136 test 1131...[HTTP PUT expect 100-continue with a 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1131 ../src/curl -q --include --trace-ascii log/11/trace1131 --trace-time -H "Expect: 100-continue" -T log/11/file1131 http://127.0.0.1:33503/1131 -T log/11/file1131 http://127.0.0.1:33503/11310001 --expect100-timeout 99 > log/11/stdout1131 2> log/11/stderr1131 1131: stdout FAILED: --- log/11/check-expected 2025-09-11 14:54:19.118864684 +0000 +++ log/11/check-generated 2025-09-11 14:54:19.118864684 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 400 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE1[LF] -HTTP/1.1 400 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE2[LF] == Contents of files in the log/11/ dir after test 1131 === Start of file check-expected HTTP/1.1 400 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE1[LF] HTTP/1.1 400 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1131 ../src/curl -q --include --trace-ascii log/11/trace1131 --trace-time -H "Expect: 100-continue" -T log/11/file1131 http://127.0.0.1:33503/1131 -T log/11/file1131 http://127.0.0.1:33503/11310001 --expect100-timeout 99 > log/11/stdout1131 2> log/11/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 14:54:18.194984 ====> Client connect 14:54:18.195017 accept_connection 3 returned 4 14:54:18.195035 accept_connection 3 returned 0 14:54:18.195051 Read 93 bytes 14:54:18.195062 Process 93 bytes request 14:54:18.195077 Got request: GET /verifiedserver HTTP/1.1 14:54:18.195088 Are-we-friendly question received 14:54:18.195116 Wrote request (93 bytes) input to log/11/server.input 14:54:18.195134 Identifying ourselves as friends 14:54:18.195194 Response sent (56 bytes) and written to log/11/server.response 14:54:18.195206 special request received, no persistency 14:54:18.195216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 38250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1131 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1131 ==136977== ==136977== Process terminating with default action of signal 4 (SIGILL) ==136977== Illegal opcode at address 0x4014B6F ==136977== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==136977== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==136977== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==136977== by 0x4004266: main (tool_main.c:199) === End of file valgrind1131 test 1133...[HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1133 ../src/curl -q --output log/24/curl1133.out --include --trace-ascii log/24/trace1133 --trace-time http://127.0.0.1:34449/we/want/1133 -F "file=@\"log/24/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/24/test1133,and;.txt"' -F 'file3=@"log/24/test1133,and;.txt";type=m/f,"log/24/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/24/stdout1133 2> log/24/stderr1133 1133: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1133 ../src/curl -q --output log/24/curl1133.out --include --trace-ascii log/24/trace1133 --trace-time http://127.0.0.1:34449/we/want/1133 -F "file=@\"log/24/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/24/test1133,and;.txt"' -F 'file3=@"log/24/test1133,and;.txt";type=m/f,"log/24/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/24/stdout1133 2> log/24/stderr1133 === End of file commands.log === Start of file http_server.log 14:54:18.241039 ====> Client connect 14:54:18.241069 accept_connection 3 returned 4 14:54:18.241084 accept_connection 3 returned 0 14:54:18.241099 Read 93 bytes 14:54:18.241109 Process 93 bytes request 14:54:18.241122 Got request: GET /verifiedserver HTTP/1.1 14:54:18.241132 Are-we-friendly question received 14:54:18.241155 Wrote request (93 bytes) input to log/24/server.input 14:54:18.241171 Identifying ourselves as friends 14:54:18.241223 Response sent (56 bytes) and written to log/24/server.response 14:54:18.241233 special request received, no persistency 14:54:18.241242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1133 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file test1133,and;.txt foo bar This is a bar foo bar foo === End of file test1133,and;.txt === Start of file valgrind1133 ==137053== ==137053== Process terminating with default action of signal 4 (SIGILL) ==137053== Illegal opcode at address 0x4014B6F ==137053== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137053== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137053== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137053== by 0x4004266: main (tool_main.c:199) === End of file valgrind1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1134 ../src/curl -q --output log/6/curl1134.out --include --trace-ascii log/6/trace1134 --trace-time http://127.0.0.1:38791/1134 -u user1:password1 --next http://127.0.0.1:38791/11340001 -u 2user:password2 > log/6/stdout1134 2> log/6/stderr1134 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1146 ../src/curl -q --output log/5/curl1146.out --trace-ascii log/5/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/5/test1146.txt > log/5/stdout1146 2> log/5/stderr1146 setenv TZ = GMT test 1136...[Check cookies against PSL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1136 ../src/curl -q --output log/14/curl1136.out --include --trace-ascii log/14/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/14/jar1136.txt -x 127.0.0.1:46043 > log/14/stdout1136 2> log/14/stderr1136 1136: data FAILED: --- log/14/check-expected 2025-09-11 14:54:19.178864684 +0000 +++ log/14/check-generated 2025-09-11 14:54:19.178864684 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 4[LF] -Content-Type: text/html[LF] -Funny-head: yesyes[LF] -Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] -Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] -Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] -Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] -Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] -[LF] -boo[LF] == Contents of files in the log/14/ dir after test 1136 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 4[LF] Content-Type: text/html[LF] Funny-head: yesyes[LF] Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] [LF] boo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1136 ../src/curl -q --output log/14/curl1136.out --include --trace-ascii log/14/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/14/jar1136.txt -x 127.0.0.1:46043 > log/14/stdout1136 2> log/14/stderr1136 === End of file commands.log === Start of file http_server.log 14:54:18.302950 ====> Client connect 14:54:18.302977 accept_connection 3 returned 4 14:54:18.303006 accept_connection 3 returned 0 14:54:18.303018 Read 93 bytes 14:54:18.303027 Process 93 bytes request 14:54:18.303039 Got request: GET /verifiedserver HTTP/1.1 14:54:18.303047 Are-we-friendly question received 14:54:18.303068 Wrote request (93 bytes) input to log/14/server.input 14:54:18.303082 Identifying ourselves as friends 14:54:18.303128 Response sent (56 bytes) and written to log/14/server.response 14:54:18.303136 special request received, no persistency 14:54:18.303144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1136 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1136 ==137191== ==137191== Process terminating with default action of signal 4 (SIGILL) ==137191== Illegal opcode at address 0x4014B6F ==137191== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137191== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137191== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137191== by 0x4004266: main (tool_main.c:199) === End of file valgrind1136 test 1134...[HTTP connection reuse with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1134 ../src/curl -q --output log/6/curl1134.out --include --trace-ascii log/6/trace1134 --trace-time http://127.0.0.1:38791/1134 -u user1:password1 --next http://127.0.0.1:38791/11340001 -u 2user:password2 > log/6/stdout1134 2> log/6/stderr1134 1134: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1134 ../src/curl -q --output log/6/curl1134.out --include --trace-ascii log/6/trace1134 --trace-time http://127.0.0.1:38791/1134 -u user1:password1 --next http://127.0.0.1:38791/11340001 -u 2user:password2 > log/6/stdout1134 2> log/6/stderr1134 === End of file commands.log === Start of file http_server.log 14:54:18.265316 ====> Client connect 14:54:18.265354 accept_connection 3 returned 4 14:54:18.265373 accept_connection 3 returned 0 14:54:18.265391 Read 93 bytes 14:54:18.265403 Process 93 bytes request 14:54:18.265418 Got request: GET /verifiedserver HTTP/1.1 14:54:18.265429 Are-we-friendly question received 14:54:18.265457 Wrote request (93 bytes) input to log/6/server.input 14:54:18.265476 Identifying ourselves as friends 14:54:18.265537 Response sent (56 bytes) and written to log/6/server.response 14:54:18.265550 special request received, no persistency 14:54:18.265560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1134 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1134 ==137100== ==137100== Process terminating with default action of signal 4 (SIGILL) ==137100== Illegal opcode at address 0x4014B6F ==137100== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137100== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137100== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137100== by 0x4004266: main (tool_main.c:199) === End of file valgrind1134 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1138 ../src/curl -q --output log/23/curl1138.out --include --trace-ascii log/23/trace1138 --trace-time http://127.0.0.1:38851/we/are/all/twits/1138 -L > log/23/stdout1138 2> log/23/stderr1138 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1137 ../src/curl -q --output log/4/curl1137.out --include --trace-ascii log/4/trace1137 --trace-time ftp://127.0.0.1:44299/1137 --ignore-content-length > log/4/stdout1137 2> log/4/stderr1137 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1142 ../src/curl -q --output log/13/curl1142.out --include --trace-ascii log/13/trace1142 --trace-time 127.0.0.1:41533/want/1142 -L -x http://127.0.0.1:41533 > log/13/stdout1142 2> log/13/stderr1142 test 1146...[--proto-default file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1146 ../src/curl -q --output log/5/curl1146.out --trace-ascii log/5/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/5/test1146.txt > log/5/stdout1146 2> log/5/stderr1146 1146: data FAILED: --- log/5/check-expected 2025-09-11 14:54:19.738864692 +0000 +++ log/5/check-generated 2025-09-11 14:54:19.738864692 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/5/ dir after test 1146 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1146 ../src/curl -q --output log/5/curl1146.out --trace-ascii log/5/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/5/test1146.txt > log/5/stdout1146 2> log/5/stderr1146 === End of file commands.log === Start of file server.cmd Testnum 1146 === End of file server.cmd === Start of file test1146.txt foo bar bar foo moo === End of file test1146.txt === Start of file valgrind1146 ==137682== ==137682== Process terminating with default action of signal 4 (SIGILL) ==137682== Illegal opcode at address 0x4014B6F ==137682== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137682== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137682== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137682== by 0x4004266: main (tool_main.c:199) === End of file valgrind1146 test 1138...[HTTP redirect with UTF-8 characters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1138 ../src/curl -q --output log/23/curl1138.out --include --trace-ascii log/23/trace1138 --trace-time http://127.0.0.1:38851/we/are/all/twits/1138 -L > log/23/stdout1138 2> log/23/stderr1138 1138: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1138 ../src/curl -q --output log/23/curl1138.out --include --trace-ascii log/23/trace1138 --trace-time http://127.0.0.1:38851/we/are/all/twits/1138 -L > log/23/stdout1138 2> log/23/stderr1138 === End of file commands.log === Start of file http_server.log 14:54:18.784561 ====> Client connect 14:54:18.784598 accept_connection 3 returned 4 14:54:18.784618 accept_connection 3 returned 0 14:54:18.784635 Read 93 bytes 14:54:18.784647 Process 93 bytes request 14:54:18.784663 Got request: GET /verifiedserver HTTP/1.1 14:54:18.784674 Are-we-friendly question received 14:54:18.784705 Wrote request (93 bytes) input to log/23/server.input 14:54:18.784725 Identifying ourselves as friends 14:54:18.784789 Response sent (56 bytes) and written to log/23/server.response 14:54:18.784803 special request received, no persistency 14:54:18.784814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 45502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1138 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1138 ==137346== ==137346== Process terminating with default action of signal 4 (SIGILL) ==137346== Illegal opcode at address 0x4014B6F ==137346== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137346== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137346== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137346== by 0x4004266: main (tool_main.c:199) === End of file valgrind1138 test 1137...[FTP RETR --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1137 ../src/curl -q --output log/4/curl1137.out --include --trace-ascii log/4/trace1137 --trace-time ftp://127.0.0.1:44299/1137 --ignore-content-length > log/4/stdout1137 2> log/4/stderr1137 1137: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1137 ../src/curl -q --output log/4/curl1137.out --include --trace-ascii log/4/trace1137 --trace-time ftp://127.0.0.1:44299/1137 --ignore-content-length > log/4/stdout1137 2> log/4/stderr1137 === End of file commands.log === Start of file ftp_server.log 14:54:18.694415 ====> Client connect 14:54:18.694588 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:18.694890 < "USER anonymous" 14:54:18.694927 > "331 We are happy you popped in![CR][LF]" 14:54:18.695103 < "PASS ftp@example.com" 14:54:18.695127 > "230 Welcome you silly person[CR][LF]" 14:54:18.695263 < "PWD" 14:54:18.695290 > "257 "/" is current directory[CR][LF]" 14:54:18.695429 < "EPSV" 14:54:18.695451 ====> Passive DATA channel requested by client 14:54:18.695463 DATA sockfilt for passive data channel starting... 14:54:18.696919 DATA sockfilt for passive data channel started (pid 137332) 14:54:18.697032 DATA sockfilt for passive data channel listens on port 43969 14:54:18.697080 > "229 Entering Passive Mode (|||43969|)[LF]" 14:54:18.697103 Client has been notified that DATA conn will be accepted on port 43969 14:54:18.697347 Client connects to port 43969 14:54:18.697378 ====> Client established passive DATA connection on port 43969 14:54:18.697458 < "TYPE I" 14:54:18.697489 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:18.697661 < "SIZE verifiedserver" 14:54:18.697697 > "213 17[CR][LF]" 14:54:18.697864 < "RETR verifiedserver" 14:54:18.697896 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:18.697988 =====> Closing passive DATA connection... 14:54:18.698006 Server disconnects passive DATA connection 14:54:18.698258 Server disconnected passive DATA connection 14:54:18.698287 DATA sockfilt for passive data channel quits (pid 137332) 14:54:18.698491 DATA sockfilt for passive data channel quit (pid 137332) 14:54:18.698514 =====> Closed passive DATA connection 14:54:18.698541 > "226 File transfer complete[CR][LF]" 14:54:18.743823 < "QUIT" 14:54:18.743881 > "221 bye bye baby[CR][LF]" 14:54:18.744736 MAIN sockfilt said DISC 14:54:18.744781 ====> Client disconnected 14:54:18.744857 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:18.777099 ====> Client connect 14:54:18.777416 Received DATA (on stdin) 14:54:18.777433 > 160 bytes data, server => client 14:54:18.777447 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:18.777460 ' \r\n220- / __| | | | |_) |CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1143 ../src/curl -q --output log/7/curl1143.out --include --trace-ascii log/7/trace1143 --trace-time http:/127.0.0.1:40545/want/1143 > log/7/stdout1143 2> log/7/stderr1143 | \r\n220- | (__| |_| | ' 14:54:18.777472 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:18.777556 < 16 bytes data, client => server 14:54:18.777571 'USER anonymous\r\n' 14:54:18.777743 Received DATA (on stdin) 14:54:18.777757 > 33 bytes data, server => client 14:54:18.777770 '331 We are happy you popped in!\r\n' 14:54:18.777824 < 22 bytes data, client => server 14:54:18.777837 'PASS ftp@example.com\r\n' 14:54:18.777938 Received DATA (on stdin) 14:54:18.777950 > 30 bytes data, server => client 14:54:18.777960 '230 Welcome you silly person\r\n' 14:54:18.778002 < 5 bytes data, client => server 14:54:18.778012 'PWD\r\n' 14:54:18.778100 Received DATA (on stdin) 14:54:18.778110 > 30 bytes data, server => client 14:54:18.778121 '257 "/" is current directory\r\n' 14:54:18.778169 < 6 bytes data, client => server 14:54:18.778179 'EPSV\r\n' 14:54:18.779925 Received DATA (on stdin) 14:54:18.779940 > 38 bytes data, server => client 14:54:18.779953 '229 Entering Passive Mode (|||43969|)\n' 14:54:18.780072 < 8 bytes data, client => server 14:54:18.780090 'TYPE I\r\n' 14:54:18.780303 Received DATA (on stdin) 14:54:18.780317 > 33 bytes data, server => client 14:54:18.780330 '200 I modify TYPE as you wanted\r\n' 14:54:18.780384 < 21 bytes data, client => server 14:54:18.780398 'SIZE verifiedserver\r\n' 14:54:18.780510 Received DATA (on stdin) 14:54:18.780524 > 8 bytes data, server => client 14:54:18.780536 '213 17\r\n' 14:54:18.780588 < 21 bytes data, client => server 14:54:18.780602 'RETR verifiedserver\r\n' 14:54:18.780821 Received DATA (on stdin) 14:54:18.780835 > 29 bytes data, server => client 14:54:18.780848 '150 Binary junk (17 bytes).\r\n' 14:54:18.781354 Received DATA (on stdin) 14:54:18.781368 > 28 bytes data, server => client 14:54:18.781380 '226 File transfer complete\r\n' 14:54:18.826466 < 6 bytes data, client => server 14:54:18.826491 'QUIT\r\n' 14:54:18.826702 Received DATA (on stdin) 14:54:18.826717 > 18 bytes data, server => client 14:54:18.826730 '221 bye bye baby\r\n' 14:54:18.827489 ====> Client disconnect 14:54:18.827673 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:18.779571 Running IPv4 version 14:54:18.779618 Listening on port 43969 14:54:18.779660 Wrote pid 137332 to log/4/server/ftp_sockdata.pid 14:54:18.779678 Received PING (on stdin) 14:54:18.779758 Received PORT (on stdin) 14:54:18.780111 ====> Client connect 14:54:18.780876 Received DATA (on stdin) 14:54:18.780890 > 17 bytes data, server => client 14:54:18.780902 'WE ROOLZ: 80848\r\n' 14:54:18.780926 Received DISC (on stdin) 14:54:18.780939 ====> Client forcibly disconnected 14:54:18.781110 Received QUIT (on stdin) 14:54:18.781122 quits 14:54:18.781176 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1137 === End of file server.cmd === Start of file valgrind1137 ==137428== ==137428== Process terminating with default action of signal 4 (SIGILL) ==137428== Illegal opcode at address 0x4014B6F ==137428== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137428== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137428== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137428== by 0x4004266: main (tool_main.c:199) === End of file valgrind1137 test 1142...[HTTP redirect to http://// (four slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1142 ../src/curl -q --output log/13/curl1142.out --include --trace-ascii log/13/trace1142 --trace-time 127.0.0.1:41533/want/1142 -L -x http://127.0.0.1:41533 > log/13/stdout1142 2> log/13/stderr1142 1142: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1142 ../src/curl -q --output log/13/curl1142.out --include --trace-ascii log/13/trace1142 --trace-time 127.0.0.1:41533/want/1142 -L -x http://127.0.0.1:41533 > log/13/stdout1142 2> log/13/stderr1142 === End of file commands.log === Start of file http_server.log 14:54:18.830059 ====> Client connect 14:54:18.830087 accept_connection 3 returned 4 14:54:18.830104 accept_connection 3 returned 0 14:54:18.830120 Read 93 bytes 14:54:18.830131 Process 93 bytes request 14:54:18.830145 Got request: GET /verifiedserver HTTP/1.1 14:54:18.830154 Are-we-friendly question received 14:54:18.830177 Wrote request (93 bytes) input to log/13/server.input 14:54:18.830194 Identifying ourselves as friends 14:54:18.830244 Response sent (56 bytes) and written to log/13/server.response 14:54:18.830255 special request received, no persistency 14:54:18.830264 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 58366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1142 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1142 ==137442== ==137442== Process terminating with default action of signal 4 (SIGILL) ==137442== Illegal opcode at address 0x4014B6F ==137442== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137442== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137442== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137442== by 0x4004266: main (tool_main.c:199) === End of file valgrind1142 setenv MSYS2_ARG_CONV_EXCL = http:/ test 1143...[HTTP URL with http:/ (one slash!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1143 ../src/curl -q --output log/7/curl1143.out --include --trace-ascii log/7/trace1143 --trace-time http:/127.0.0.1:40545/want/1143 > log/7/stdout1143 2> log/7/stderr1143 1143: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1143 ../src/curl -q --output log/7/curl1143.out --include --trace-ascii log/7/trace1143 --trace-time http:/127.0.0.1:40545/want/1143 > log/7/stdout1143 2> log/7/stderr1143 === End of file commands.log === Start of file http_server.log 14:54:18.831660 ====> Client connect 14:54:18.831697 accept_connection 3 returned 4 14:54:18.831714 accept_connection 3 returned 0 14:54:18.831727 Read 93 bytes 14:54:18.831739 Process 93 bytes request 14:54:18.831750 Got request: GET /verifiedserver HTTP/1.1 14:54:18.831760 Are-we-friendly question received 14:54:18.831782 Wrote request (93 bytes) input to log/7/server.input 14:54:18.831798 Identifying ourselves as friends 14:54:18.831850 Response sent (56 bytes) and written to log/7/server.response 14:54:18.831860 special request received, no persistency 14:54:18.831870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 portCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1145 ../src/curl -q --output log/10/curl1145.out --include --trace-ascii log/10/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/10/test1145.txt > log/10/stdout1145 2> log/10/stderr1145 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1141 ../src/curl -q --output log/12/curl1141.out --include --trace-ascii log/12/trace1141 --trace-time 127.0.0.1:43359/want/1141 -L -x http://127.0.0.1:43359 > log/12/stdout1141 2> log/12/stderr1141 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1144 ../src/curl -q --output log/15/curl1144.out --include --trace-ascii log/15/trace1144 --trace-time -I http://127.0.0.1:42107/1144 --http0.9 > log/15/stdout1144 2> log/15/stderr1144 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1120 ../src/curl -q --output log/2/curl1120.out --include --trace-ascii log/2/trace1120 --trace-time ftp://127.0.0.1:39801/a/path/1120 > log/2/stdout1120 2> log/2/stderr1120 40545) from 127.0.0.1 port 47570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1143 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1143 ==137443== ==137443== Process terminating with default action of signal 4 (SIGILL) ==137443== Illegal opcode at address 0x4014B6F ==137443== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137443== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137443== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137443== by 0x4004266: main (tool_main.c:199) === End of file valgrind1143 test 1145...[file:// bad host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1145 ../src/curl -q --output log/10/curl1145.out --include --trace-ascii log/10/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/10/test1145.txt > log/10/stdout1145 2> log/10/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/10/ dir after test 1145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1145 ../src/curl -q --output log/10/curl1145.out --include --trace-ascii log/10/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/10/test1145.txt > log/10/stdout1145 2> log/10/stderr1145 === End of file commands.log === Start of file server.cmd Testnum 1145 === End of file server.cmd === Start of file test1145.txt foo bar bar foo moo === End of file test1145.txt === Start of file valgrind1145 ==137651== ==137651== Process terminating with default action of signal 4 (SIGILL) ==137651== Illegal opcode at address 0x4014B6F ==137651== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137651== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137651== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137651== by 0x4004266: main (tool_main.c:199) === End of file valgrind1145 test 1141...[HTTP redirect to http:/// (three slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1141 ../src/curl -q --output log/12/curl1141.out --include --trace-ascii log/12/trace1141 --trace-time 127.0.0.1:43359/want/1141 -L -x http://127.0.0.1:43359 > log/12/stdout1141 2> log/12/stderr1141 1141: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1141 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1141 ../src/curl -q --output log/12/curl1141.out --include --trace-ascii log/12/trace1141 --trace-time 127.0.0.1:43359/want/1141 -L -x http://127.0.0.1:43359 > log/12/stdout1141 2> log/12/stderr1141 === End of file commands.log === Start of file http_server.log 14:54:18.824170 ====> Client connect 14:54:18.824204 accept_connection 3 returned 4 14:54:18.824222 accept_connection 3 returned 0 14:54:18.824240 Read 93 bytes 14:54:18.824252 Process 93 bytes request 14:54:18.824267 Got request: GET /verifiedserver HTTP/1.1 14:54:18.824278 Are-we-friendly question received 14:54:18.824307 Wrote request (93 bytes) input to log/12/server.input 14:54:18.824325 Identifying ourselves as friends 14:54:18.824384 Response sent (56 bytes) and written to log/12/server.response 14:54:18.824397 special request received, no persistency 14:54:18.824407 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1141 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1141 ==137429== ==137429== Process terminating with default action of signal 4 (SIGILL) ==137429== Illegal opcode at address 0x4014B6F ==137429== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137429== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137429== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137429== by 0x4004266: main (tool_main.c:199) === End of file valgrind1141 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_server.pid" --logfile "log/2/ftp_server.log" --logdir "log/2" --portfile "log/2/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39801 (log/2/server/ftp_server.port) RUN: FTP server is PID 136171 port 39801 * pid ftp => 136171 136171 test 1120...[FTP with 421 timeout response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1120 ../src/curl -q --output log/2/curl1120.out --include --trace-ascii log/2/trace1120 --trace-time ftp://127.0.0.1:39801/a/path/1120 > log/2/stdout1120 2> log/2/stderr1120 1120: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1120 ../src/curl -q --output log/2/curl1120.out --include --trace-ascii log/2/trace1120 --trace-time ftp://127.0.0.1:39801/a/path/1120 > log/2/stdout1120 2> log/2/stderr1120 === End of file commands.log === Start of file ftp_server.log 14:54:17.848259 FTP server listens on port IPv4/39801 14:54:17.848349 logged pid 136171 in log/2/server/ftp_server.pid 14:54:17.848382 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:17.930782 Running IPv4 version 14:54:17.930848 Listening on port 39801 14:54:17.930888 Wrote pid 136263 to log/2/server/ftp_sockctrl.pid 14:54:17.930920 Wrote port 39801 to log/2/server/ftp_server.port 14:54:17.930946 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY CWD 421 Timeout Testnum 1120 === End of file server.cmd === Start of file valgrind1120 ==137656== ==137656== Process terminating with default action of signal 4 (SIGILL) ==137656== Illegal opcode at address 0x4014B6F ==137656== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137656== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137656== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137656== by 0x4004266: main (tool_main.c:199) === End of file valgrind1120 test 1144...[HTTP HEAD, receive no headers only body] ../libtool CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/12/stdout1165 2> log/12/stderr1165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1147 ../src/curl -q --output log/21/curl1147.out --include --trace-ascii log/21/trace1147 --trace-time http://127.0.0.1:34037/1147 -H @log/21/heads1147.txt > log/21/stdout1147 2> log/21/stderr1147 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/4/test1169-library.pl > log/4/stdout1169 2> log/4/stderr1169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1148 ../src/curl -q --output log/9/curl1148.out --include --trace-ascii log/9/trace1148 --trace-time http://127.0.0.1:34345/1148 -# --stderr log/9/stderrlog1148 > log/9/stdout1148 2> log/9/stderr1148 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1144 ../src/curl -q --output log/15/curl1144.out --include --trace-ascii log/15/trace1144 --trace-time -I http://127.0.0.1:42107/1144 --http0.9 > log/15/stdout1144 2> log/15/stderr1144 1144: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1144 ../src/curl -q --output log/15/curl1144.out --include --trace-ascii log/15/trace1144 --trace-time -I http://127.0.0.1:42107/1144 --http0.9 > log/15/stdout1144 2> log/15/stderr1144 === End of file commands.log === Start of file http_server.log 14:54:18.882857 ====> Client connect 14:54:18.882892 accept_connection 3 returned 4 14:54:18.882910 accept_connection 3 returned 0 14:54:18.882930 Read 93 bytes 14:54:18.882943 Process 93 bytes request 14:54:18.882957 Got request: GET /verifiedserver HTTP/1.1 14:54:18.882968 Are-we-friendly question received 14:54:18.883005 Wrote request (93 bytes) input to log/15/server.input 14:54:18.883024 Identifying ourselves as friends 14:54:18.883083 Response sent (56 bytes) and written to log/15/server.response 14:54:18.883096 special request received, no persistency 14:54:18.883106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1144 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1144 ==137648== ==137648== Process terminating with default action of signal 4 (SIGILL) ==137648== Illegal opcode at address 0x4014B6F ==137648== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137648== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137648== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137648== by 0x4004266: main (tool_main.c:199) === End of file valgrind1144 test 1165...[Verify configure.ac and source code CURL_DISABLE_-sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/12/stdout1165 2> log/12/stderr1165 valgrind SKIPPED -------e--- OK (1093 out of 1725, remaining: 00:51, took 0.048s, duration: 01:28) test 1147...[Get -H headers from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1147 ../src/curl -q --output log/21/curl1147.out --include --trace-ascii log/21/trace1147 --trace-time http://127.0.0.1:34037/1147 -H @log/21/heads1147.txt > log/21/stdout1147 2> log/21/stderr1147 1147: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1147 ../src/curl -q --output log/21/curl1147.out --include --trace-ascii log/21/trace1147 --trace-time http://127.0.0.1:34037/1147 -H @log/21/heads1147.txt > log/21/stdout1147 2> log/21/stderr1147 === End of file commands.log === Start of file heads1147.txt One: 1 Two: 2 no-colon And A Funny One : wohoo User-Agent: === End of file heads1147.txt === Start of file http_server.log 14:54:18.968615 ====> Client connect 14:54:18.968654 accept_connection 3 returned 4 14:54:18.968673 accept_connection 3 returned 0 14:54:18.968689 Read 93 bytes 14:54:18.968701 Process 93 bytes request 14:54:18.968716 Got request: GET /verifiedserver HTTP/1.1 14:54:18.968727 Are-we-friendly question received 14:54:18.968755 Wrote request (93 bytes) input to log/21/server.input 14:54:18.968773 Identifying ourselves as friends 14:54:18.968831 Response sent (56 bytes) and written to log/21/server.response 14:54:18.968844 special request received, no persistency 14:54:18.968855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 38114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1147 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1147 ==137867== ==137867== Process terminating with default action of signal 4 (SIGILL) ==137867== Illegal opcode at address 0x4014B6F ==137867== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137867== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137867== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137867== by 0x4004266: main (tool_main.c:199) === End of file valgrind1147 test 1169...[Verify that runtests.pl accepts an -L option] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/4/test1169-library.pl > log/4/stdout1169 2> log/4/stderr1169 valgrind SKIPPED -------e--- OK (1097 out of 1725, remaining: 00:50, took 0.085s, duration: 01:28) test 1148...[progress-bar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1148 ../src/curl -q --output log/9/curl1148.out --include --trace-ascii log/9/trace1148 --trace-time http://127.0.0.1:34345/1148 -# --stderr log/9/stderrlog1148 > log/9/stdout1148 2> log/9/stderr1148 1148: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1148 ../src/curl -q --output log/9/curl1148.out --include --trace-ascii log/9/trace1148 --trace-time http://127.0.0.1:34345/1148 -# --stderr log/9/stderrlog1148 > log/9/stdout1148 2> log/9/stderr1148 === End of file commands.log === Start of file http_server.log 14:54:19.064603 ====> Client connect 14:54:19.064640 accept_connection 3 returned 4 14:54:19.064659 accept_connection 3 returned 0 14:54:19.064675 Read 93 bytes 14:54:19.064687 Process 93 bytes request 14:54:19.064702 Got request: GET /verifiedserver HTTP/1.1 14:54:19.064713 Are-we-friendly question received 14:54:19.064751 Wrote request (93 bytes) input to log/9/server.input 14:54:19.064770 Identifying ourselves as friends 14:54:19.064830 Response sent (56 bytes) and written to log/9/server.response 14:54:19.064843 special request received, no persCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1150 ../src/curl -q --output log/16/curl1150.out --include --trace-ascii log/16/trace1150 --trace-time --proxy http://127.0.0.1:34475 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/16/stdout1150 2> log/16/stderr1150 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1151 ../src/curl -q --output log/20/curl1151.out --include --trace-ascii log/20/trace1151 --trace-time http://127.0.0.1:39569/1151 -c log/20/cookies1151.txt > log/20/stdout1151 2> log/20/stderr1151 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1149 ../src/curl -q --output log/17/curl1149.out --include --trace-ascii log/17/trace1149 --trace-time ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method nocwd > log/17/stdout1149 2> log/17/stderr1149 istency 14:54:19.064855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1148 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1148 ==137938== ==137938== Process terminating with default action of signal 4 (SIGILL) ==137938== Illegal opcode at address 0x4014B6F ==137938== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137938== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137938== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137938== by 0x4004266: main (tool_main.c:199) === End of file valgrind1148 test 1150...[HTTP proxy with URLs using different ports] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1150 ../src/curl -q --output log/16/curl1150.out --include --trace-ascii log/16/trace1150 --trace-time --proxy http://127.0.0.1:34475 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/16/stdout1150 2> log/16/stderr1150 1150: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1150 ../src/curl -q --output log/16/curl1150.out --include --trace-ascii log/16/trace1150 --trace-time --proxy http://127.0.0.1:34475 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/16/stdout1150 2> log/16/stderr1150 === End of file commands.log === Start of file http_server.log 14:54:19.092463 ====> Client connect 14:54:19.092495 accept_connection 3 returned 4 14:54:19.092513 accept_connection 3 returned 0 14:54:19.092525 Read 93 bytes 14:54:19.092537 Process 93 bytes request 14:54:19.092551 Got request: GET /verifiedserver HTTP/1.1 14:54:19.092561 Are-we-friendly question received 14:54:19.092584 Wrote request (93 bytes) input to log/16/server.input 14:54:19.092601 Identifying ourselves as friends 14:54:19.092652 Response sent (56 bytes) and written to log/16/server.response 14:54:19.092665 special request received, no persistency 14:54:19.092675 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1150 ==137996== ==137996== Process terminating with default action of signal 4 (SIGILL) ==137996== Illegal opcode at address 0x4014B6F ==137996== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==137996== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==137996== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==137996== by 0x4004266: main (tool_main.c:199) === End of file valgrind1150 test 1151...[HTTP with too long cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1151 ../src/curl -q --output log/20/curl1151.out --include --trace-ascii log/20/trace1151 --trace-time http://127.0.0.1:39569/1151 -c log/20/cookies1151.txt > log/20/stdout1151 2> log/20/stderr1151 1151: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1151 ../src/curl -q --output log/20/curl1151.out --include --trace-ascii log/20/trace1151 --trace-time http://127.0.0.1:39569/1151 -c log/20/cookies1151.txt > log/20/stdout1151 2> log/20/stderr1151 === End of file commands.log === Start of file http_server.log 14:54:19.146015 ====> Client connect 14:54:19.146054 accept_connection 3 returned 4 14:54:19.146073 accept_connection 3 returned 0 14:54:19.146090 Read 93 bytes 14:54:19.146102 Process 93 bytes request 14:54:19.146118 Got request: GET /verifiedserver HTTP/1.1 14:54:19.146129 Are-we-friendly question received 14:54:19.146161 Wrote request (93 bytes) input to log/20/server.input 14:54:19.146180 Identifying ourselves as friends 14:54:19.146239 Response sent (56 bytes) and written to log/20/server.response 14:54:19.146250 special request received, no persistency 14:54:19.146261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1151 ==138087== ==138087== Process terminating with default action of signal 4 (SIGILL) ==138087== Illegal opcode at address 0x4014B6F ==138087== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138087== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138087== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138087== by 0x4004266: main (tool_main.c:199) === End of file valgrind1151 test 1149...[FTP dir list multicwd then again nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1149 ../src/curl -q --output log/17/curl1149.out --include --trace-ascii log/17/trace1149 --trace-time ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method nocwd > log/17/stdout1149 2> log/17/stderr1149 1149: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1149 ../src/cCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/20/stdout1175 2> log/20/stderr1175 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/2/stdout1167 2> log/2/stderr1167 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/20/stdout1177 2> log/20/stderr1177 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1159 ../src/curl -q --include --trace-ascii log/14/trace1159 --trace-time http://127.0.0.1:46043/we/want/our/1159 -w '%{redirect_url}\n' > log/14/stdout1159 2> log/14/stderr1159 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1154 ../src/curl -q --output log/19/curl1154.out --include --trace-ascii log/19/trace1154 --trace-time http://127.0.0.1:33805/1154 > log/19/stdout1154 2> log/19/stderr1154 url -q --output log/17/curl1149.out --include --trace-ascii log/17/trace1149 --trace-time ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40705/list/this/path/1149/ --ftp-method nocwd > log/17/stdout1149 2> log/17/stderr1149 === End of file commands.log === Start of file ftp_server.log 14:54:19.008149 ====> Client connect 14:54:19.008326 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:19.008704 < "USER anonymous" 14:54:19.008803 > "331 We are happy you popped in![CR][LF]" 14:54:19.009998 < "PASS ftp@example.com" 14:54:19.010029 > "230 Welcome you silly person[CR][LF]" 14:54:19.010215 < "PWD" 14:54:19.010245 > "257 "/" is current directory[CR][LF]" 14:54:19.011581 < "EPSV" 14:54:19.011608 ====> Passive DATA channel requested by client 14:54:19.011620 DATA sockfilt for passive data channel starting... 14:54:19.012946 DATA sockfilt for passive data channel started (pid 137989) 14:54:19.013075 DATA sockfilt for passive data channel listens on port 44643 14:54:19.013119 > "229 Entering Passive Mode (|||44643|)[LF]" 14:54:19.013140 Client has been notified that DATA conn will be accepted on port 44643 14:54:19.013387 Client connects to port 44643 14:54:19.013416 ====> Client established passive DATA connection on port 44643 14:54:19.013490 < "TYPE I" 14:54:19.013519 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:19.013712 < "SIZE verifiedserver" 14:54:19.013749 > "213 17[CR][LF]" 14:54:19.013906 < "RETR verifiedserver" 14:54:19.013942 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:19.014021 =====> Closing passive DATA connection... 14:54:19.014034 Server disconnects passive DATA connection 14:54:19.014229 Server disconnected passive DATA connection 14:54:19.014249 DATA sockfilt for passive data channel quits (pid 137989) 14:54:19.014409 DATA sockfilt for passive data channel quit (pid 137989) 14:54:19.014427 =====> Closed passive DATA connection 14:54:19.014447 > "226 File transfer complete[CR][LF]" 14:54:19.061370 < "QUIT" 14:54:19.061427 > "221 bye bye baby[CR][LF]" 14:54:19.062396 MAIN sockfilt said DISC 14:54:19.062432 ====> Client disconnected 14:54:19.062499 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:19.090834 ====> Client connect 14:54:19.091160 Received DATA (on stdin) 14:54:19.091179 > 160 bytes data, server => client 14:54:19.091194 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:19.091207 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:19.091219 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:19.091303 < 16 bytes data, client => server 14:54:19.091320 'USER anonymous\r\n' 14:54:19.091625 Received DATA (on stdin) 14:54:19.091905 > 33 bytes data, server => client 14:54:19.091918 '331 We are happy you popped in!\r\n' 14:54:19.092211 < 22 bytes data, client => server 14:54:19.092715 'PASS ftp@example.com\r\n' 14:54:19.092845 Received DATA (on stdin) 14:54:19.092859 > 30 bytes data, server => client 14:54:19.092871 '230 Welcome you silly person\r\n' 14:54:19.092927 < 5 bytes data, client => server 14:54:19.092941 'PWD\r\n' 14:54:19.093059 Received DATA (on stdin) 14:54:19.093072 > 30 bytes data, server => client 14:54:19.093084 '257 "/" is current directory\r\n' 14:54:19.093337 < 6 bytes data, client => server 14:54:19.093436 'EPSV\r\n' 14:54:19.095959 Received DATA (on stdin) 14:54:19.095974 > 38 bytes data, server => client 14:54:19.095986 '229 Entering Passive Mode (|||44643|)\n' 14:54:19.096117 < 8 bytes data, client => server 14:54:19.096133 'TYPE I\r\n' 14:54:19.096348 Received DATA (on stdin) 14:54:19.096370 > 33 bytes data, server => client 14:54:19.096383 '200 I modify TYPE as you wanted\r\n' 14:54:19.096437 < 21 bytes data, client => server 14:54:19.096449 'SIZE verifiedserver\r\n' 14:54:19.096562 Received DATA (on stdin) 14:54:19.096575 > 8 bytes data, server => client 14:54:19.096587 '213 17\r\n' 14:54:19.096636 < 21 bytes data, client => server 14:54:19.096648 'RETR verifiedserver\r\n' 14:54:19.096844 Received DATA (on stdin) 14:54:19.096855 > 29 bytes data, server => client 14:54:19.096864 '150 Binary junk (17 bytes).\r\n' 14:54:19.097255 Received DATA (on stdin) 14:54:19.097267 > 28 bytes data, server => client 14:54:19.097276 '226 File transfer complete\r\n' 14:54:19.143972 < 6 bytes data, client => server 14:54:19.144006 'QUIT\r\n' 14:54:19.144539 Received DATA (on stdin) 14:54:19.144558 > 18 bytes data, server => client 14:54:19.144567 '221 bye bye baby\r\n' 14:54:19.145154 ====> Client disconnect 14:54:19.145309 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:19.095542 Running IPv4 version 14:54:19.095608 Listening on port 44643 14:54:19.095644 Wrote pid 137989 to log/17/server/ftp_sockdata.pid 14:54:19.095667 Received PING (on stdin) 14:54:19.095795 Received PORT (on stdin) 14:54:19.096154 ====> Client connect 14:54:19.096886 Received DATA (on stdin) 14:54:19.096897 > 17 bytes data, server => client 14:54:19.096907 'WE ROOLZ: 91632\r\n' 14:54:19.096928 Received DISC (on stdin) 14:54:19.096937 ====> Client forcibly disconnected 14:54:19.097064 Received QUIT (on stdin) 14:54:19.097074 quits 14:54:19.097118 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==138086== ==138086== Process terminating with default action of signal 4 (SIGILL) ==138086== Illegal opcode at address 0x4014B6F ==138086== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138086== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138086== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138086== by 0x4004266: main (tool_main.c:199) === End of file valgrind1149 test 1175...[Verify that symbols-in-versions and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/20/stdout1175 2> log/20/stderr1175 valgrind SKIPPED -------e--- OK (1103 out of 1725, remaining: 00:50, took 0.017s, duration: 01:28) test 1167...[Verify curl prefix of public symbols in header files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/2/stdout1167 2> log/2/stderr1167 valgrind SKIPPED -------e--- OK (1095 out of 1725, remaining: 00:51, took 0.202s, duration: 01:28) test 1177...[Verify that feature names and CURL_VERSION_* in lib and docs are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/20/stdout1177 2> log/20/stderr1177 valgrind SKIPPED -------e--- OK (1105 out of 1725, remaining: 00:49, took 0.016s, duration: 01:28) CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/9/stdout1173 2> log/9/stderr1173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:44029/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 test 1159...[HTTP Location: and 'redirect_url' with non-supported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1159 ../src/curl -q --include --trace-ascii log/14/trace1159 --trace-time http://127.0.0.1:46043/we/want/our/1159 -w '%{redirect_url}\n' > log/14/stdout1159 2> log/14/stderr1159 1159: stdout FAILED: --- log/14/check-expected 2025-09-11 14:54:20.122198031 +0000 +++ log/14/check-generated 2025-09-11 14:54:20.122198031 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: ht3p://localhost/[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -ht3p://localhost/[LF] == Contents of files in the log/14/ dir after test 1159 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: ht3p://localhost/[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] ht3p://localhost/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1159 ../src/curl -q --include --trace-ascii log/14/trace1159 --trace-time http://127.0.0.1:46043/we/want/our/1159 -w '%{redirect_url}\n' > log/14/stdout1159 2> log/14/stderr1159 === End of file commands.log === Start of file http_server.log 14:54:19.290911 ====> Client connect 14:54:19.290947 accept_connection 3 returned 4 14:54:19.290965 accept_connection 3 returned 0 14:54:19.290983 Read 93 bytes 14:54:19.290994 Process 93 bytes request 14:54:19.291009 Got request: GET /verifiedserver HTTP/1.1 14:54:19.291021 Are-we-friendly question received 14:54:19.291048 Wrote request (93 bytes) input to log/14/server.input 14:54:19.291067 Identifying ourselves as friends 14:54:19.291125 Response sent (56 bytes) and written to log/14/server.response 14:54:19.291137 special request received, no persistency 14:54:19.291148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1159 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1159 ==138593== ==138593== Process terminating with default action of signal 4 (SIGILL) ==138593== Illegal opcode at address 0x4014B6F ==138593== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138593== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138593== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138593== by 0x4004266: main (tool_main.c:199) === End of file valgrind1159 test 1173...[Manpage syntax checks] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/9/stdout1173 2> log/9/stderr1173 valgrind SKIPPED -r-----e--- OK (1101 out of 1725, remaining: 00:50, took 0.137s, duration: 01:28) test 1154...[HTTP GET with 100K (too long) response header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1154 ../src/curl -q --output log/19/curl1154.out --include --trace-ascii log/19/trace1154 --trace-time http://127.0.0.1:33805/1154 > log/19/stdout1154 2> log/19/stderr1154 1154: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1154 ../src/curl -q --output log/19/curl1154.out --include --trace-ascii log/19/trace1154 --trace-time http://127.0.0.1:33805/1154 > log/19/stdout1154 2> log/19/stderr1154 === End of file commands.log === Start of file http_server.log 14:54:18.207512 ====> Client connect 14:54:18.207542 accept_connection 3 returned 4 14:54:18.207559 accept_connection 3 returned 0 14:54:18.207574 Read 93 bytes 14:54:18.207585 Process 93 bytes request 14:54:18.207600 Got request: GET /verifiedserver HTTP/1.1 14:54:18.207611 Are-we-friendly question received 14:54:18.207636 Wrote request (93 bytes) input to log/19/server.input 14:54:18.207653 Identifying ourselves as friends 14:54:18.207710 Response sent (56 bytes) and written to log/19/server.response 14:54:18.207722 special request received, no persistency 14:54:18.207733 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1154 ==138262== ==138262== Process terminating with default action of signal 4 (SIGILL) ==138262== Illegal opcode at address 0x4014B6F ==138262== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138262== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138262== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138262== by 0x4004266: main (tool_main.c:199) === End of file valgrind1154 test 1157...[Get -H headers from empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:44029/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 1157: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:44029/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 === End of file commands.log === Start of file http_server.log 14:54:19.235887 ====> Client connect 14:54:19.235920 accept_connection 3 returned 4 14:54:19.235940 accept_connection 3 returned 0 14:54:19.235956 Read 93 bytes 14:54:19.235967 Process 9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:33503/want/1156 > log/11/stdout1156 2> log/11/stderr1156 3 bytes request 14:54:19.235982 Got request: GET /verifiedserver HTTP/1.1 14:54:19.235993 Are-we-friendly question received 14:54:19.236018 Wrote request (93 bytes) input to log/1/server.input 14:54:19.236037 Identifying ourselves as friends 14:54:19.236094 Response sent (56 bytes) and written to log/1/server.response 14:54:19.236106 special request received, no persistency 14:54:19.236117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1157 ==138338== ==138338== Process terminating with default action of signal 4 (SIGILL) ==138338== Illegal opcode at address 0x4014B6F ==138338== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138338== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138338== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138338== by 0x4004266: main (tool_main.c:199) === End of file valgrind1157 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1153 ../src/curl -q --output log/8/curl1153.out --include --trace-ascii log/8/trace1153 --trace-time ftp://127.0.0.1:37557/test-1153/ > log/8/stdout1153 2> log/8/stderr1153 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/9/code1185.c > log/9/stdout1185 2> log/9/stderr1185 test 1156...[HTTP resume/range fail range-error content-range combinations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:33503/want/1156 > log/11/stdout1156 2> log/11/stderr1156 1156: stdout FAILED: --- log/11/check-expected 2025-09-11 14:54:20.172198033 +0000 +++ log/11/check-generated 2025-09-11 14:54:20.172198033 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/11/ dir after test 1156 === Start of file check-expected 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:33503/want/1156 > log/11/stdout1156 2> log/11/stderr1156 === End of file commands.log === Start of file http_server.log 14:54:19.228936 ====> Client connect 14:54:19.228970 accept_connection 3 returned 4 14:54:19.228988 accept_connection 3 returned 0 14:54:19.229004 Read 93 bytes 14:54:19.229015 Process 93 bytes request 14:54:19.229030 Got request: GET /verifiedserver HTTP/1.1 14:54:19.229040 Are-we-friendly question received 14:54:19.229066 Wrote request (93 bytes) input to log/11/server.input 14:54:19.229083 Identifying ourselves as friends 14:54:19.229137 Response sent (56 bytes) and written to log/11/server.response 14:54:19.229148 special request received, no persistency 14:54:19.229158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 38256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:33503/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==138323== ==138323== Process terminating with default action of signal 4 (SIGILL) ==138323== Illegal opcode at address 0x51D42F3 ==138323== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==138323== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==138323== by 0x51D42F3: Curl_open (url.c:551) ==138323== by 0x514CA2F: curl_easy_init (easy.c:372) ==138323== by 0x40233D5: test_lib1156.lto_priv.0 (lib1156.c:147) ==138323== by 0x400347F: main (first.c:281) ==138323== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==138323== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==138323== by 0x51D4243: Curl_open (url.c:530) ==138323== by 0x514CA2F: curl_easy_init (easy.c:372) ==138323== by 0x40233D5: test_lib1156.lto_priv.0 (lib1156.c:147) ==138323== by 0x400347F: main (first.c:281) ==138323== === End of file valgrind1156 test 1153...[FTP with quoted double quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1153 ../src/curl -q --output log/8/curl1153.out --include --trace-ascii log/8/trace1153 --trace-time ftp://127.0.0.1:37557/test-1153/ > log/8/stdout1153 2> log/8/stderr1153 1153: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1153 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1153 ../src/curl -q --output log/8/curl1153.out --include --trace-ascii log/8/trace1153 --trace-time ftp://127.0.0.1:37557/test-1153/ > log/8/stdout1153 2> log/8/stderr1153 === End of file commands.log === Start of file ftp_server.log 14:54:19.098463 ====> Client connect 14:54:19.098604 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:19.098895 < "USER anonymous" 14:54:19.098936 > "331 We are happy you popped in![CR][LF]" 14:54:19.099122 < "PASS ftp@example.com" 14:54:19.099152 > "230 Welcome you silly person[CR][LF]" 14:54:19.099306 < "PWD" 14:54:19.099338 > "257 "/" is current directory[CR][LF]" 14:54:19.099497 < "EPSV" 14:54:19.099520 ====> Passive DATA channel requested by client 14:54:19.099534 DATA sockfilt for passive data channel starting... 14:54:19.101409 DATA sockfilt for passive data channel started (pid 138152) 14:54:19.101543 DATA sockfilt for passive data channel listens on port 33547 14:54:19.101591 > "229 Entering Passive Mode (|||33547|)[LF]" 14:54:19.101615 Client has been notified that DATA conn will be accepted on port 33547 14:54:19.101901 Client connects to port 33547 14:54:19.101949 ====> Client established passive DATA connection on port 33547 14:54:19.102051 < "TYPE I" 14:54:19.102091 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:19.102298 < "SIZE verifiedserver" 14:54:19.102347 > "213 17[CR][LF]" 14:54:19.102517 < "RETR verifiedserver" 14:54:19.102552 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:19.102636 =====> Closing passive DATA connection... 14:54:19.102651 Server disconnects passive DATA connection 14:54:19.102786 Server disconnected passive DATA connection 14:54:19.102807 DATA sockfilt for passive data channel quits (pid 138152) 14:54:19.103043 DATA sockfilt for passive data channel quit (pid 138152) 14:54:19.103066 =====> Closed passive DATA connection 14:54:19.103096 > "226 File transfer complete[CR][LF]" 14:54:19.147401 < "QUIT" 14:54:19.147454 > "221 bye bye baby[CR][LF]" 14:54:19.148439 MAIN sockfilt said DISC 14:54:19.148483 ====> Client disconnected 14:54:19.148569 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:19.181170 ====> Client connect 14:54:19.181428 Received DATA (on stdin) 14:54:19.181445 > 160 bytes data, server => client 14:54:19.181459 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:19.181472 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:19.181483 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:19.181563 < 16 bytes data, client => server 14:54:19.181576 'USER anonymous\r\n' 14:54:19.181754 Received DATA (on stdin) 14:54:19.181770 > 33 bytes data, server => client 14:54:19.181784 '331 We are happy you popped in!\r\n' 14:54:19.181836 < 22 bytes data, client => server 14:54:19.181848 'PASS ftp@example.com\r\n' 14:54:19.181965 Received DATA (on stdin) 14:54:19.181978 > 30 bytes data, server => client 14:54:19.181990 '230 Welcome you silly person\r\n' 14:54:19.182036 < 5 bytes data, client => server 14:54:19.182048 'PWD\r\n' 14:54:19.182150 Received DATA (on stdin) 14:54:19.182162 > 30 bytes data, server => client 14:54:19.182175 '257 "/" is current directory\r\n' 14:54:19.182230 < 6 bytes data, client => server 14:54:19.182241 'EPSV\r\n' 14:54:19.184438 Received DATA (on stdin) 14:54:19.184454 > 38 bytes data, server => client 14:54:19.184468 '229 Entering Passive Mode (|||33547|)\n' 14:54:19.184639 < 8 bytes data, client => server 14:54:19.184657 'TYPE I\r\n' 14:54:19.184910 Received DATA (on stdin) 14:54:19.184928 > 33 bytes data, server => client 14:54:19.184941 '200 I modify TYPE as you wanted\r\n' 14:54:19.185005 < 21 bytes data, client => server 14:54:19.185018 'SIZE verifiedserver\r\n' 14:54:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1155 ../src/curl -q --output log/3/curl1155.out --include --trace-ascii log/3/trace1155 --trace-time http://127.0.0.1:46791/1155 -c log/3/cookies1155.txt > log/3/stdout1155 2> log/3/stderr1155 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1158 ../src/curl -q --output log/24/curl1158.out --include --trace-ascii log/24/trace1158 --trace-time http://127.0.0.1:34449/we/want/1158 -F "file=@\"log/24/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/24/test1158\".txt"' -F 'file3=@"log/24/test1158\".txt";type=m/f,"log/24/test1158\".txt"' > log/24/stdout1158 2> log/24/stderr1158 9.185167 Received DATA (on stdin) 14:54:19.185182 > 8 bytes data, server => client 14:54:19.185193 '213 17\r\n' 14:54:19.185241 < 21 bytes data, client => server 14:54:19.185253 'RETR verifiedserver\r\n' 14:54:19.185464 Received DATA (on stdin) 14:54:19.185487 > 29 bytes data, server => client 14:54:19.185502 '150 Binary junk (17 bytes).\r\n' 14:54:19.185932 Received DATA (on stdin) 14:54:19.185951 > 28 bytes data, server => client 14:54:19.185965 '226 File transfer complete\r\n' 14:54:19.230019 < 6 bytes data, client => server 14:54:19.230051 'QUIT\r\n' 14:54:19.230271 Received DATA (on stdin) 14:54:19.230284 > 18 bytes data, server => client 14:54:19.230297 '221 bye bye baby\r\n' 14:54:19.231186 ====> Client disconnect 14:54:19.231393 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:19.184024 Running IPv4 version 14:54:19.184094 Listening on port 33547 14:54:19.184135 Wrote pid 138152 to log/8/server/ftp_sockdata.pid 14:54:19.184159 Received PING (on stdin) 14:54:19.184260 Received PORT (on stdin) 14:54:19.184644 ====> Client connect 14:54:19.185472 Received DATA (on stdin) 14:54:19.185488 > 17 bytes data, server => client 14:54:19.185502 'WE ROOLZ: 80267\r\n' 14:54:19.185533 Received DISC (on stdin) 14:54:19.185546 ====> Client forcibly disconnected 14:54:19.185625 Received QUIT (on stdin) 14:54:19.185636 quits 14:54:19.185704 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "/""hello""" Testnum 1153 === End of file server.cmd === Start of file valgrind1153 ==138335== ==138335== Process terminating with default action of signal 4 (SIGILL) ==138335== Illegal opcode at address 0x4014B6F ==138335== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138335== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138335== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138335== by 0x4004266: main (tool_main.c:199) === End of file valgrind1153 test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/9/code1185.c > log/9/stdout1185 2> log/9/stderr1185 valgrind SKIPPED s------e--- OK (1110 out of 1725, remaining: 00:49, took 0.037s, duration: 01:28) test 1155...[HTTP cookie with parameter word as name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1155 ../src/curl -q --output log/3/curl1155.out --include --trace-ascii log/3/trace1155 --trace-time http://127.0.0.1:46791/1155 -c log/3/cookies1155.txt > log/3/stdout1155 2> log/3/stderr1155 1155: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1155 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1155 ../src/curl -q --output log/3/curl1155.out --include --trace-ascii log/3/trace1155 --trace-time http://127.0.0.1:46791/1155 -c log/3/cookies1155.txt > log/3/stdout1155 2> log/3/stderr1155 === End of file commands.log === Start of file http_server.log 14:54:19.224285 ====> Client connect 14:54:19.224322 accept_connection 3 returned 4 14:54:19.224341 accept_connection 3 returned 0 14:54:19.224358 Read 93 bytes 14:54:19.224370 Process 93 bytes request 14:54:19.224384 Got request: GET /verifiedserver HTTP/1.1 14:54:19.224395 Are-we-friendly question received 14:54:19.224424 Wrote request (93 bytes) input to log/3/server.input 14:54:19.224443 Identifying ourselves as friends 14:54:19.224503 Response sent (56 bytes) and written to log/3/server.response 14:54:19.224516 special request received, no persistency 14:54:19.224526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1155 ==138299== ==138299== Process terminating with default action of signal 4 (SIGILL) ==138299== Illegal opcode at address 0x4014B6F ==138299== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138299== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138299== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138299== by 0x4004266: main (tool_main.c:199) === End of file valgrind1155 test 1158...[HTTP RFC1867-type formposting with filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1158 ../src/curl -q --output log/24/curl1158.out --include --trace-ascii log/24/trace1158 --trace-time http://127.0.0.1:34449/we/want/1158 -F "file=@\"log/24/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/24/test1158\".txt"' -F 'file3=@"log/24/test1158\".txt";type=m/f,"log/24/test1158\".txt"' > log/24/stdout1158 2> log/24/stderr1158 1158: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1158 ../src/curl -q --output log/24/curl1158.out --include --trace-ascii log/24/trace1158 --trace-time http://127.0.0.1:34449/we/want/1158 -F "file=@\"log/24/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/24/test1158\".txt"' -F 'file3=@"log/24/test1158\".txt";type=m/f,"log/24/test1158\".txt"' > log/24/stdout1158 2> log/24/stderr1158 === End of file commands.log === Start of file http_server.log 14:54:19.261774 ====> Client connect 14:54:19.261812 accept_connection 3 returned 4 14:54:19.261830 accept_connection 3 returned 0 14:54:19.261847 Read 93 bytes 14:54:19.261858 Process 93 bytes request 14:54:19.261874 Got request: GET /verifiedserver HTTP/1.1 14:54:19.261885 Are-we-friendly question received 14:54:19.261912 Wrote request (93 bytes) input to log/24/server.input 14:54:19.261931 Identifying ourselves as friends 14:54:19.261990 Response sent (56 bytes) and written to log/24/server.response 14:54:19.262002 special request received, no persistency 14:54:19.262013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file test1158".txt foo bar This is a bar foo bar foo === End of file test1158".txtCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1152 ../src/curl -q --output log/18/curl1152.out --include --trace-ascii log/18/trace1152 --trace-time ftp://127.0.0.1:41069/test-1152/ > log/18/stdout1152 2> log/18/stderr1152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1160 ../src/curl -q --output log/6/curl1160.out --include --trace-ascii log/6/trace1160 --trace-time http://127.0.0.1:38791/1160 -c log/6/cookies1160.txt > log/6/stdout1160 2> log/6/stderr1160 === Start of file valgrind1158 ==138496== ==138496== Process terminating with default action of signal 4 (SIGILL) ==138496== Illegal opcode at address 0x4014B6F ==138496== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138496== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138496== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138496== by 0x4004266: main (tool_main.c:199) === End of file valgrind1158 test 1152...[FTP with uneven quote in PWD response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1152 ../src/curl -q --output log/18/curl1152.out --include --trace-ascii log/18/trace1152 --trace-time ftp://127.0.0.1:41069/test-1152/ > log/18/stdout1152 2> log/18/stderr1152 1152: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1152 ../src/curl -q --output log/18/curl1152.out --include --trace-ascii log/18/trace1152 --trace-time ftp://127.0.0.1:41069/test-1152/ > log/18/stdout1152 2> log/18/stderr1152 === End of file commands.log === Start of file ftp_server.log 14:54:19.099195 ====> Client connect 14:54:19.099481 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:19.099811 < "USER anonymous" 14:54:19.099855 > "331 We are happy you popped in![CR][LF]" 14:54:19.100076 < "PASS ftp@example.com" 14:54:19.100117 > "230 Welcome you silly person[CR][LF]" 14:54:19.100332 < "PWD" 14:54:19.100371 > "257 "/" is current directory[CR][LF]" 14:54:19.100560 < "EPSV" 14:54:19.100589 ====> Passive DATA channel requested by client 14:54:19.100604 DATA sockfilt for passive data channel starting... 14:54:19.102854 DATA sockfilt for passive data channel started (pid 138155) 14:54:19.102990 DATA sockfilt for passive data channel listens on port 45907 14:54:19.103041 > "229 Entering Passive Mode (|||45907|)[LF]" 14:54:19.103064 Client has been notified that DATA conn will be accepted on port 45907 14:54:19.103472 Client connects to port 45907 14:54:19.103509 ====> Client established passive DATA connection on port 45907 14:54:19.103599 < "TYPE I" 14:54:19.103797 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:19.104159 < "SIZE verifiedserver" 14:54:19.104212 > "213 17[CR][LF]" 14:54:19.104395 < "RETR verifiedserver" 14:54:19.104434 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:19.104517 =====> Closing passive DATA connection... 14:54:19.104536 Server disconnects passive DATA connection 14:54:19.104809 Server disconnected passive DATA connection 14:54:19.104840 DATA sockfilt for passive data channel quits (pid 138155) 14:54:19.105054 DATA sockfilt for passive data channel quit (pid 138155) 14:54:19.105081 =====> Closed passive DATA connection 14:54:19.105111 > "226 File transfer complete[CR][LF]" 14:54:19.153767 < "QUIT" 14:54:19.153815 > "221 bye bye baby[CR][LF]" 14:54:19.155315 MAIN sockfilt said DISC 14:54:19.155362 ====> Client disconnected 14:54:19.155431 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:19.181790 ====> Client connect 14:54:19.182315 Received DATA (on stdin) 14:54:19.182336 > 160 bytes data, server => client 14:54:19.182351 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:19.182364 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:19.182375 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:19.182458 < 16 bytes data, client => server 14:54:19.182475 'USER anonymous\r\n' 14:54:19.182675 Received DATA (on stdin) 14:54:19.182690 > 33 bytes data, server => client 14:54:19.182703 '331 We are happy you popped in!\r\n' 14:54:19.182770 < 22 bytes data, client => server 14:54:19.182785 'PASS ftp@example.com\r\n' 14:54:19.182935 Received DATA (on stdin) 14:54:19.182950 > 30 bytes data, server => client 14:54:19.182962 '230 Welcome you silly person\r\n' 14:54:19.183039 < 5 bytes data, client => server 14:54:19.183055 'PWD\r\n' 14:54:19.183186 Received DATA (on stdin) 14:54:19.183200 > 30 bytes data, server => client 14:54:19.183212 '257 "/" is current directory\r\n' 14:54:19.183276 < 6 bytes data, client => server 14:54:19.183291 'EPSV\r\n' 14:54:19.185840 Received DATA (on stdin) 14:54:19.185864 > 38 bytes data, server => client 14:54:19.185878 '229 Entering Passive Mode (|||45907|)\n' 14:54:19.186121 < 8 bytes data, client => server 14:54:19.186135 'TYPE I\r\n' 14:54:19.186626 Received DATA (on stdin) 14:54:19.186643 > 33 bytes data, server => client 14:54:19.186659 '200 I modify TYPE as you wanted\r\n' 14:54:19.186730 < 21 bytes data, client => server 14:54:19.186745 'SIZE verifiedserver\r\n' 14:54:19.187030 Received DATA (on stdin) 14:54:19.187045 > 8 bytes data, server => client 14:54:19.187056 '213 17\r\n' 14:54:19.187110 < 21 bytes data, client => server 14:54:19.187124 'RETR verifiedserver\r\n' 14:54:19.187359 Received DATA (on stdin) 14:54:19.187373 > 29 bytes data, server => client 14:54:19.187385 '150 Binary junk (17 bytes).\r\n' 14:54:19.187927 Received DATA (on stdin) 14:54:19.187941 > 28 bytes data, server => client 14:54:19.187954 '226 File transfer complete\r\n' 14:54:19.236420 < 6 bytes data, client => server 14:54:19.236445 'QUIT\r\n' 14:54:19.236631 Received DATA (on stdin) 14:54:19.236644 > 18 bytes data, server => client 14:54:19.236655 '221 bye bye baby\r\n' 14:54:19.237598 ====> Client disconnect 14:54:19.238246 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:19.185035 Running IPv4 version 14:54:19.185099 Listening on port 45907 14:54:19.185144 Wrote pid 138155 to log/18/server/ftp_sockdata.pid 14:54:19.185164 Received PING (on stdin) 14:54:19.185707 Received PORT (on stdin) 14:54:19.186083 ====> Client connect 14:54:19.187415 Received DATA (on stdin) 14:54:19.187433 > 17 bytes data, server => client 14:54:19.187445 'WE ROOLZ: 80342\r\n' 14:54:19.187470 Received DISC (on stdin) 14:54:19.187483 ====> Client forcibly disconnected 14:54:19.187664 Received QUIT (on stdin) 14:54:19.187678 quits 14:54:19.187725 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "just one Testnum 1152 === End of file server.cmd === Start of file valgrind1152 ==138581== ==138581== Process terminating with default action of signal 4 (SIGILL) ==138581== Illegal opcode at address 0x4014B6F ==138581== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138581== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138581== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138581== by 0x4004266: main (tool_main.c:199) === End of file valgrind1152 test 1160...[HTTP with long funny format cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1160 ../src/curl -q --output log/6/curl1160.out --include --trace-ascii log/6/trace1160 --trace-time http://127.0.0.1:38791/1160 -c log/6/cookies1160.txt > log/6/stdout1160 2> log/6/stderr1160 1160: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1160 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1160 ../src/curl -q --output log/6/curl1160.out --include --trace-ascii log/6/trace1160 --trace-time http://12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1161 ../src/curl -q --output log/5/curl1161.out --include --trace-ascii log/5/trace1161 --trace-time http://127.0.0.1:46041/1161 -c log/5/cookies1161.txt > log/5/stdout1161 2> log/5/stderr1161 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:42107/want/1166 http://127.0.0.1:42107/want/1166 > log/15/stdout1166 2> log/15/stderr1166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36645/fully_simulated/DOS/*[][" > log/13/stdout1163 2> log/13/stderr1163 7.0.0.1:38791/1160 -c log/6/cookies1160.txt > log/6/stdout1160 2> log/6/stderr1160 === End of file commands.log === Start of file http_server.log 14:54:19.292065 ====> Client connect 14:54:19.292100 accept_connection 3 returned 4 14:54:19.292119 accept_connection 3 returned 0 14:54:19.292135 Read 93 bytes 14:54:19.292146 Process 93 bytes request 14:54:19.292159 Got request: GET /verifiedserver HTTP/1.1 14:54:19.292170 Are-we-friendly question received 14:54:19.292197 Wrote request (93 bytes) input to log/6/server.input 14:54:19.292212 Identifying ourselves as friends 14:54:19.292261 Response sent (56 bytes) and written to log/6/server.response 14:54:19.292270 special request received, no persistency 14:54:19.292278 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1160 ==138600== ==138600== Process terminating with default action of signal 4 (SIGILL) ==138600== Illegal opcode at address 0x4014B6F ==138600== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138600== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138600== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138600== by 0x4004266: main (tool_main.c:199) === End of file valgrind1160 test 1161...[HTTP cookie with path set twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1161 ../src/curl -q --output log/5/curl1161.out --include --trace-ascii log/5/trace1161 --trace-time http://127.0.0.1:46041/1161 -c log/5/cookies1161.txt > log/5/stdout1161 2> log/5/stderr1161 1161: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1161 ../src/curl -q --output log/5/curl1161.out --include --trace-ascii log/5/trace1161 --trace-time http://127.0.0.1:46041/1161 -c log/5/cookies1161.txt > log/5/stdout1161 2> log/5/stderr1161 === End of file commands.log === Start of file http_server.log 14:54:19.850894 ====> Client connect 14:54:19.850921 accept_connection 3 returned 4 14:54:19.850934 accept_connection 3 returned 0 14:54:19.850947 Read 93 bytes 14:54:19.850956 Process 93 bytes request 14:54:19.850967 Got request: GET /verifiedserver HTTP/1.1 14:54:19.850975 Are-we-friendly question received 14:54:19.850995 Wrote request (93 bytes) input to log/5/server.input 14:54:19.851008 Identifying ourselves as friends 14:54:19.851050 Response sent (56 bytes) and written to log/5/server.response 14:54:19.851058 special request received, no persistency 14:54:19.851066 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1161 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1161 ==138845== ==138845== Process terminating with default action of signal 4 (SIGILL) ==138845== Illegal opcode at address 0x4014B6F ==138845== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138845== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138845== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138845== by 0x4004266: main (tool_main.c:199) === End of file valgrind1161 test 1166...[HTTP response with cookies but not receiving!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:42107/want/1166 http://127.0.0.1:42107/want/1166 > log/15/stdout1166 2> log/15/stderr1166 1166: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:42107/want/1166 http://127.0.0.1:42107/want/1166 > log/15/stdout1166 2> log/15/stderr1166 === End of file commands.log === Start of file http_server.log 14:54:19.938898 ====> Client connect 14:54:19.938929 accept_connection 3 returned 4 14:54:19.938943 accept_connection 3 returned 0 14:54:19.938956 Read 93 bytes 14:54:19.938964 Process 93 bytes request 14:54:19.938977 Got request: GET /verifiedserver HTTP/1.1 14:54:19.938987 Are-we-friendly question received 14:54:19.939013 Wrote request (93 bytes) input to log/15/server.input 14:54:19.939031 Identifying ourselves as friends 14:54:19.939094 Response sent (56 bytes) and written to log/15/server.response 14:54:19.939105 special request received, no persistency 14:54:19.939115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1166 ==138992== ==138992== Process terminating with default action of signal 4 (SIGILL) ==138992== Illegal opcode at address 0x4014B6F ==138992== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138992== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138992== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138992== by 0x4004266: main (tool_main.c:199) === End of file valgrind1166 test 1163...[FTP wildcard with pattern ending with an open-bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36645/fully_simulated/DOS/*[][" > log/13/stdouCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:40545/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 t1163 2> log/13/stderr1163 1163: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36645/fully_simulated/DOS/*[][" > log/13/stdout1163 2> log/13/stderr1163 === End of file commands.log === Start of file ftp_server.log 14:54:19.821168 ====> Client connect 14:54:19.821311 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:19.821593 < "USER anonymous" 14:54:19.821634 > "331 We are happy you popped in![CR][LF]" 14:54:19.821804 < "PASS ftp@example.com" 14:54:19.821827 > "230 Welcome you silly person[CR][LF]" 14:54:19.821988 < "PWD" 14:54:19.822018 > "257 "/" is current directory[CR][LF]" 14:54:19.822190 < "EPSV" 14:54:19.822213 ====> Passive DATA channel requested by client 14:54:19.822226 DATA sockfilt for passive data channel starting... 14:54:19.823855 DATA sockfilt for passive data channel started (pid 138922) 14:54:19.823958 DATA sockfilt for passive data channel listens on port 45827 14:54:19.823989 > "229 Entering Passive Mode (|||45827|)[LF]" 14:54:19.824006 Client has been notified that DATA conn will be accepted on port 45827 14:54:19.824213 Client connects to port 45827 14:54:19.824240 ====> Client established passive DATA connection on port 45827 14:54:19.824306 < "TYPE I" 14:54:19.824332 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:19.824479 < "SIZE verifiedserver" 14:54:19.824509 > "213 17[CR][LF]" 14:54:19.824649 < "RETR verifiedserver" 14:54:19.824679 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:19.824761 =====> Closing passive DATA connection... 14:54:19.824777 Server disconnects passive DATA connection 14:54:19.824928 Server disconnected passive DATA connection 14:54:19.824953 DATA sockfilt for passive data channel quits (pid 138922) 14:54:19.825166 DATA sockfilt for passive data channel quit (pid 138922) 14:54:19.825189 =====> Closed passive DATA connection 14:54:19.825215 > "226 File transfer complete[CR][LF]" 14:54:19.873706 < "QUIT" 14:54:19.873763 > "221 bye bye baby[CR][LF]" 14:54:19.874153 MAIN sockfilt said DISC 14:54:19.874204 ====> Client disconnected 14:54:19.874276 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:19.903894 ====> Client connect 14:54:19.904135 Received DATA (on stdin) 14:54:19.904151 > 160 bytes data, server => client 14:54:19.904163 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:19.904174 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:19.904185 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:19.904254 < 16 bytes data, client => server 14:54:19.904269 'USER anonymous\r\n' 14:54:19.904451 Received DATA (on stdin) 14:54:19.904465 > 33 bytes data, server => client 14:54:19.904476 '331 We are happy you popped in!\r\n' 14:54:19.904531 < 22 bytes data, client => server 14:54:19.904544 'PASS ftp@example.com\r\n' 14:54:19.904638 Received DATA (on stdin) 14:54:19.904650 > 30 bytes data, server => client 14:54:19.904660 '230 Welcome you silly person\r\n' 14:54:19.904704 < 5 bytes data, client => server 14:54:19.904837 'PWD\r\n' 14:54:19.904852 Received DATA (on stdin) 14:54:19.904863 > 30 bytes data, server => client 14:54:19.904873 '257 "/" is current directory\r\n' 14:54:19.904924 < 6 bytes data, client => server 14:54:19.904936 'EPSV\r\n' 14:54:19.906821 Received DATA (on stdin) 14:54:19.906834 > 38 bytes data, server => client 14:54:19.906846 '229 Entering Passive Mode (|||45827|)\n' 14:54:19.906949 < 8 bytes data, client => server 14:54:19.906963 'TYPE I\r\n' 14:54:19.907144 Received DATA (on stdin) 14:54:19.907157 > 33 bytes data, server => client 14:54:19.907168 '200 I modify TYPE as you wanted\r\n' 14:54:19.907214 < 21 bytes data, client => server 14:54:19.907225 'SIZE verifiedserver\r\n' 14:54:19.907321 Received DATA (on stdin) 14:54:19.907332 > 8 bytes data, server => client 14:54:19.907342 '213 17\r\n' 14:54:19.907386 < 21 bytes data, client => server 14:54:19.907397 'RETR verifiedserver\r\n' 14:54:19.907592 Received DATA (on stdin) 14:54:19.907603 > 29 bytes data, server => client 14:54:19.907613 '150 Binary junk (17 bytes).\r\n' 14:54:19.908028 Received DATA (on stdin) 14:54:19.908042 > 28 bytes data, server => client 14:54:19.908054 '226 File transfer complete\r\n' 14:54:19.956349 < 6 bytes data, client => server 14:54:19.956375 'QUIT\r\n' 14:54:19.956587 Received DATA (on stdin) 14:54:19.956605 > 18 bytes data, server => client 14:54:19.956618 '221 bye bye baby\r\n' 14:54:19.956895 ====> Client disconnect 14:54:19.957093 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:19.906399 Running IPv4 version 14:54:19.906446 Listening on port 45827 14:54:19.906484 Wrote pid 138922 to log/13/server/ftp_sockdata.pid 14:54:19.906613 Received PING (on stdin) 14:54:19.906688 Received PORT (on stdin) 14:54:19.906982 ====> Client connect 14:54:19.907579 Received DATA (on stdin) 14:54:19.907628 > 17 bytes data, server => client 14:54:19.907642 'WE ROOLZ: 80108\r\n' 14:54:19.907693 Received DISC (on stdin) 14:54:19.907708 ====> Client forcibly disconnected 14:54:19.907785 Received QUIT (on stdin) 14:54:19.907801 quits 14:54:19.907857 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1163 === End of file server.cmd === Start of file stderr1163 URL: ftp://127.0.0.1:36645/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==139059== ==139059== Process terminating with default action of signal 4 (SIGILL) ==139059== Illegal opcode at address 0x51D42F3 ==139059== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==139059== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==139059== by 0x51D42F3: Curl_open (url.c:551) ==139059== by 0x514CA2F: curl_easy_init (easy.c:372) ==139059== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==139059== by 0x400347F: main (first.c:281) ==139059== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==139059== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==139059== by 0x51D4243: Curl_open (url.c:530) ==139059== by 0x514CA2F: curl_easy_init (easy.c:372) ==139059== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==139059== by 0x400347F: main (first.c:281) ==139059== === End of file valgrind1163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1168 ../src/curl -q --output log/10/curl1168.out --include --trace-ascii log/10/trace1168 --trace-time http://127.0.0.1:35893/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/10/stdout1168 2> log/10/stderr1168 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1171 ../src/curl -q --output log/21/curl1171.out --include --trace-ascii log/21/trace1171 --trace-time http://127.0.0.1:34037/1171 --tr-encoding -H "Connection;" > log/21/stdout1171 2> log/21/stderr1171 test 1164...[HTTP/0.9 GET and all zeroes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:40545/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 1164: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:20.805531375 +0000 +++ log/7/check-generated 2025-09-11 14:54:20.805531375 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/7/ dir after test 1164 === Start of file check-expected 208[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:40545/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 === End of file commands.log === Start of file http_server.log 14:54:19.927082 ====> Client connect 14:54:19.927116 accept_connection 3 returned 4 14:54:19.927134 accept_connection 3 returned 0 14:54:19.927152 Read 93 bytes 14:54:19.927163 Process 93 bytes request 14:54:19.927179 Got request: GET /verifiedserver HTTP/1.1 14:54:19.927190 Are-we-friendly question received 14:54:19.927215 Wrote request (93 bytes) input to log/7/server.input 14:54:19.927234 Identifying ourselves as friends 14:54:19.927288 Response sent (56 bytes) and written to log/7/server.response 14:54:19.927299 special request received, no persistency 14:54:19.927309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1164 ==138977== ==138977== Process terminating with default action of signal 4 (SIGILL) ==138977== Illegal opcode at address 0x4014B6F ==138977== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==138977== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==138977== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==138977== by 0x4004266: main (tool_main.c:199) === End of file valgrind1164 test 1168...[HTTP redirect with credentials using # in user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1168 ../src/curl -q --output log/10/curl1168.out --include --trace-ascii log/10/trace1168 --trace-time http://127.0.0.1:35893/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/10/stdout1168 2> log/10/stderr1168 1168: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1168 ../src/curl -q --output log/10/curl1168.out --include --trace-ascii log/10/trace1168 --trace-time http://127.0.0.1:35893/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/10/stdout1168 2> log/10/stderr1168 === End of file commands.log === Start of file http_server.log 14:54:19.944677 ====> Client connect 14:54:19.944707 accept_connection 3 returned 4 14:54:19.944724 accept_connection 3 returned 0 14:54:19.944739 Read 93 bytes 14:54:19.944751 Process 93 bytes request 14:54:19.944763 Got request: GET /verifiedserver HTTP/1.1 14:54:19.944773 Are-we-friendly question received 14:54:19.944796 Wrote request (93 bytes) input to log/10/server.input 14:54:19.944814 Identifying ourselves as friends 14:54:19.944866 Response sent (56 bytes) and written to log/10/server.response 14:54:19.944876 special request received, no persistency 14:54:19.944886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 43188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1168 ==139014== ==139014== Process terminating with default action of signal 4 (SIGILL) ==139014== Illegal opcode at address 0x4014B6F ==139014== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139014== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139014== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139014== by 0x4004266: main (tool_main.c:199) === End of file valgrind1168 test 1171...[HTTP GET transfer-encoding with blanked Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1171 ../src/curl -q --output log/21/curl1171.out --include --trace-ascii log/21/trace1171 --trace-time http://127.0.0.1:34037/1171 --tr-encoding -H "Connection;" > log/21/stdout1171 2> log/21/stderr1171 1171: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1171 ../src/curl -q --output log/21/curl1171.out --include --trace-ascii log/21/trace1171 --trace-time http://127.0.0.1:34037/1171 --tr-encoding -H "Connection;" > log/21/stdout1171 2> log/21/stderr1171 === End of file commands.log === Start of file http_server.log 14:54:20.002952 ====> Client connect 14:54:20.003009 accept_connection 3 returned 4 14:54:20.003027 accept_connection 3 returned 0 14:54:20.003043 Read 93 bytes 14:54:20.003055 Process 93 bytes request 14:54:20.003069 Got request: GET /verifiedserver HTTP/1.1 14:54:20.003080 Are-we-friendly question received 14:54:20.003108 Wrote request (93 bytes) input to log/21/server.input 14:54:20.003126 Identifying ourselves as friends 14:54:20.003178 Response sent (56 bytes) and written to log/21/server.response 14:54:20.003189 special request received, no persistency 14:54:20.003199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 38130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1172 ../src/curl -q --output log/4/curl1172.out --include --trace-ascii log/4/trace1172 --trace-time http://127.0.0.1:39793/1172 --no-http0.9 > log/4/stdout1172 2> log/4/stderr1172 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1170 ../src/curl -q --output log/12/curl1170.out --include --trace-ascii log/12/trace1170 --trace-time http://127.0.0.1:43359/1170 --tr-encoding -H "Connection:" > log/12/stdout1170 2> log/12/stderr1170 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39001/fully_simulated/DOS/[*\\s-'tl" > log/23/stdout1162 2> log/23/stderr1162 7.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1171 ==139241== ==139241== Process terminating with default action of signal 4 (SIGILL) ==139241== Illegal opcode at address 0x4014B6F ==139241== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139241== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139241== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139241== by 0x4004266: main (tool_main.c:199) === End of file valgrind1171 test 1172...[HTTP/0.9 GET response denied] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1172 ../src/curl -q --output log/4/curl1172.out --include --trace-ascii log/4/trace1172 --trace-time http://127.0.0.1:39793/1172 --no-http0.9 > log/4/stdout1172 2> log/4/stderr1172 1172: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1172 ../src/curl -q --output log/4/curl1172.out --include --trace-ascii log/4/trace1172 --trace-time http://127.0.0.1:39793/1172 --no-http0.9 > log/4/stdout1172 2> log/4/stderr1172 === End of file commands.log === Start of file http_server.log 14:54:20.042743 ====> Client connect 14:54:20.042785 accept_connection 3 returned 4 14:54:20.042805 accept_connection 3 returned 0 14:54:20.042824 Read 93 bytes 14:54:20.042836 Process 93 bytes request 14:54:20.042851 Got request: GET /verifiedserver HTTP/1.1 14:54:20.042862 Are-we-friendly question received 14:54:20.042888 Wrote request (93 bytes) input to log/4/server.input 14:54:20.042907 Identifying ourselves as friends 14:54:20.042995 Response sent (56 bytes) and written to log/4/server.response 14:54:20.043008 special request received, no persistency 14:54:20.043020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1172 ==139368== ==139368== Process terminating with default action of signal 4 (SIGILL) ==139368== Illegal opcode at address 0x4014B6F ==139368== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139368== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139368== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139368== by 0x4004266: main (tool_main.c:199) === End of file valgrind1172 test 1170...[HTTP GET transfer-encoding with removed Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1170 ../src/curl -q --output log/12/curl1170.out --include --trace-ascii log/12/trace1170 --trace-time http://127.0.0.1:43359/1170 --tr-encoding -H "Connection:" > log/12/stdout1170 2> log/12/stderr1170 1170: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1170 ../src/curl -q --output log/12/curl1170.out --include --trace-ascii log/12/trace1170 --trace-time http://127.0.0.1:43359/1170 --tr-encoding -H "Connection:" > log/12/stdout1170 2> log/12/stderr1170 === End of file commands.log === Start of file http_server.log 14:54:19.986041 ====> Client connect 14:54:19.986075 accept_connection 3 returned 4 14:54:19.986093 accept_connection 3 returned 0 14:54:19.986108 Read 93 bytes 14:54:19.986120 Process 93 bytes request 14:54:19.986133 Got request: GET /verifiedserver HTTP/1.1 14:54:19.986144 Are-we-friendly question received 14:54:19.986169 Wrote request (93 bytes) input to log/12/server.input 14:54:19.986187 Identifying ourselves as friends 14:54:19.986245 Response sent (56 bytes) and written to log/12/server.response 14:54:19.986257 special request received, no persistency 14:54:19.986268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1170 ==139201== ==139201== Process terminating with default action of signal 4 (SIGILL) ==139201== Illegal opcode at address 0x4014B6F ==139201== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139201== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139201== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139201== by 0x4004266: main (tool_main.c:199) === End of file valgrind1170 setenv MSYS2_ARG_CONV_EXCL = ftp:// test 1162...[FTP wildcard with crazy pattern] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39001/fully_simulated/DOS/[*\\s-'tl" > log/23/stdout1162 2> log/23/stderr1162 1162: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39001/fully_simulated/DOS/[*\\s-'tl" > log/23/stdout1162 2> log/23/stderr1162 === End of file commands.log === Start of file ftp_server.log 14:54:19.820142 ====> Client connect 14:54:19.820320 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:19.820622 < "USER anonymous" 14:54:19.820663 > "331 We are happy you popped in![CR][LF]" 14:54:19.820842 < "PASS ftp@example.com" 14:54:19.820872 > "230 Welcome you silly person[CR][LF]" 14:54:19.821036 < "PWD" 14:54:19.821069 > "257 "/" is current directory[CR][LF]" 14:54:19.821240 < "EPSV" 14:54:19.821265 ====> PassiveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1174 ../src/curl -q --output log/16/curl1174.out --include --trace-ascii log/16/trace1174 --trace-time http://127.0.0.1:34475/1174 > log/16/stdout1174 2> log/16/stderr1174 DATA channel requested by client 14:54:19.821278 DATA sockfilt for passive data channel starting... 14:54:19.823131 DATA sockfilt for passive data channel started (pid 138920) 14:54:19.823278 DATA sockfilt for passive data channel listens on port 35975 14:54:19.823312 > "229 Entering Passive Mode (|||35975|)[LF]" 14:54:19.823329 Client has been notified that DATA conn will be accepted on port 35975 14:54:19.823583 Client connects to port 35975 14:54:19.823676 ====> Client established passive DATA connection on port 35975 14:54:19.823870 < "TYPE I" 14:54:19.823896 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:19.825496 < "SIZE verifiedserver" 14:54:19.825534 > "213 17[CR][LF]" 14:54:19.825694 < "RETR verifiedserver" 14:54:19.825730 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:19.825822 =====> Closing passive DATA connection... 14:54:19.825840 Server disconnects passive DATA connection 14:54:19.826003 Server disconnected passive DATA connection 14:54:19.826032 DATA sockfilt for passive data channel quits (pid 138920) 14:54:19.826243 DATA sockfilt for passive data channel quit (pid 138920) 14:54:19.826268 =====> Closed passive DATA connection 14:54:19.826295 > "226 File transfer complete[CR][LF]" 14:54:19.870952 < "QUIT" 14:54:19.871002 > "221 bye bye baby[CR][LF]" 14:54:19.872898 MAIN sockfilt said DISC 14:54:19.873006 ====> Client disconnected 14:54:19.873095 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:19.902826 ====> Client connect 14:54:19.903149 Received DATA (on stdin) 14:54:19.903167 > 160 bytes data, server => client 14:54:19.903180 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:19.903192 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:19.903203 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:19.903281 < 16 bytes data, client => server 14:54:19.903294 'USER anonymous\r\n' 14:54:19.903479 Received DATA (on stdin) 14:54:19.903492 > 33 bytes data, server => client 14:54:19.903504 '331 We are happy you popped in!\r\n' 14:54:19.903557 < 22 bytes data, client => server 14:54:19.903570 'PASS ftp@example.com\r\n' 14:54:19.903685 Received DATA (on stdin) 14:54:19.903697 > 30 bytes data, server => client 14:54:19.903709 '230 Welcome you silly person\r\n' 14:54:19.903758 < 5 bytes data, client => server 14:54:19.903770 'PWD\r\n' 14:54:19.903887 Received DATA (on stdin) 14:54:19.903900 > 30 bytes data, server => client 14:54:19.903911 '257 "/" is current directory\r\n' 14:54:19.903967 < 6 bytes data, client => server 14:54:19.903979 'EPSV\r\n' 14:54:19.906144 Received DATA (on stdin) 14:54:19.906156 > 38 bytes data, server => client 14:54:19.906167 '229 Entering Passive Mode (|||35975|)\n' 14:54:19.906297 < 8 bytes data, client => server 14:54:19.906309 'TYPE I\r\n' 14:54:19.906707 Received DATA (on stdin) 14:54:19.906719 > 33 bytes data, server => client 14:54:19.906729 '200 I modify TYPE as you wanted\r\n' 14:54:19.908208 < 21 bytes data, client => server 14:54:19.908228 'SIZE verifiedserver\r\n' 14:54:19.908348 Received DATA (on stdin) 14:54:19.908361 > 8 bytes data, server => client 14:54:19.908372 '213 17\r\n' 14:54:19.908420 < 21 bytes data, client => server 14:54:19.908431 'RETR verifiedserver\r\n' 14:54:19.908656 Received DATA (on stdin) 14:54:19.908670 > 29 bytes data, server => client 14:54:19.908682 '150 Binary junk (17 bytes).\r\n' 14:54:19.909120 Received DATA (on stdin) 14:54:19.909147 > 28 bytes data, server => client 14:54:19.909161 '226 File transfer complete\r\n' 14:54:19.953578 < 6 bytes data, client => server 14:54:19.953610 'QUIT\r\n' 14:54:19.954031 Received DATA (on stdin) 14:54:19.954053 > 18 bytes data, server => client 14:54:19.954065 '221 bye bye baby\r\n' 14:54:19.955064 ====> Client disconnect 14:54:19.955921 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:19.905609 Running IPv4 version 14:54:19.905661 Listening on port 35975 14:54:19.905693 Wrote pid 138920 to log/23/server/ftp_sockdata.pid 14:54:19.905837 Received PING (on stdin) 14:54:19.905998 Received PORT (on stdin) 14:54:19.906270 ====> Client connect 14:54:19.908681 Received DATA (on stdin) 14:54:19.908700 > 17 bytes data, server => client 14:54:19.908712 'WE ROOLZ: 80287\r\n' 14:54:19.908739 Received DISC (on stdin) 14:54:19.908751 ====> Client forcibly disconnected 14:54:19.908855 Received QUIT (on stdin) 14:54:19.908869 quits 14:54:19.908928 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1162 === End of file server.cmd === Start of file stderr1162 URL: ftp://127.0.0.1:39001/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==139240== ==139240== Process terminating with default action of signal 4 (SIGILL) ==139240== Illegal opcode at address 0x51D42F3 ==139240== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==139240== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==139240== by 0x51D42F3: Curl_open (url.c:551) ==139240== by 0x514CA2F: curl_easy_init (easy.c:372) ==139240== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==139240== by 0x400347F: main (first.c:281) ==139240== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==139240== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==139240== by 0x51D4243: Curl_open (url.c:530) ==139240== by 0x514CA2F: curl_easy_init (easy.c:372) ==139240== by 0x4015BB7: test_lib576.lto_priv.0 (lib576.c:105) ==139240== by 0x400347F: main (first.c:281) ==139240== === End of file valgrind1162 test 1174...[HTTP/0.9 GET response denied by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1174 ../src/curl -q --output log/16/curl1174.out --include --trace-ascii log/16/trace1174 --trace-time http://127.0.0.1:34475/1174 > log/16/stdout1174 2> log/16/stderr1174 1174: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1174 ../src/curl -q --output log/16/curl1174.out --include --trace-ascii log/16/trace1174 --trace-time http://127.0.0.1:34475/1174 > log/16/stdout1174 2> log/16/stderr1174 === End of file commands.log === Start of file http_server.log 14:54:20.115399 ====> Client connect 14:54:20.115433 accept_connection 3 returned 4 14:54:20.115452 accept_connection 3 returned 0 14:54:20.115469 Read 93 bytes 14:54:20.115481 Process 93 bytes request 14:54:20.115496 Got request: GET /verifiedserver HTTP/1.1 14:54:20.115508 Are-we-friendly question received 14:54:20.115534 Wrote request (93 bytes) input to log/16/server.input 14:54:20.115552 Identifying ourselves as friends 14:54:20.115610 Response sent (56 bytes) and written to log/16/server.response 14:54:20.115623 special request received, no persistency 14:54:20.115634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1174 ==13CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1176 ../src/curl -q --include --trace-ascii log/17/trace1176 --trace-time http://127.0.0.1:45171/1176 -o 'log/17/base-#0' > log/17/stdout1176 2> log/17/stderr1176 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1180 ../src/curl -q --output log/20/curl1180.out --include --trace-ascii log/20/trace1180 --trace-time --proxy http://127.0.0.1:39569 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39569/1180 > log/20/stdout1180 2> log/20/stderr1180 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1178 ../src/curl -q --output log/2/curl1178.out --include --trace-ascii log/2/trace1178 --trace-time http://127.0.0.1:37587/we/want/that/page/1178 -x http://127.0.0.1:37587 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/2/stdout1178 2> log/2/stderr1178 9479== ==139479== Process terminating with default action of signal 4 (SIGILL) ==139479== Illegal opcode at address 0x4014B6F ==139479== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139479== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139479== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139479== by 0x4004266: main (tool_main.c:199) === End of file valgrind1174 test 1176...[--output using #0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1176 ../src/curl -q --include --trace-ascii log/17/trace1176 --trace-time http://127.0.0.1:45171/1176 -o 'log/17/base-#0' > log/17/stdout1176 2> log/17/stderr1176 1176: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1176 ../src/curl -q --include --trace-ascii log/17/trace1176 --trace-time http://127.0.0.1:45171/1176 -o 'log/17/base-#0' > log/17/stdout1176 2> log/17/stderr1176 === End of file commands.log === Start of file http_server.log 14:54:20.133039 ====> Client connect 14:54:20.133075 accept_connection 3 returned 4 14:54:20.133094 accept_connection 3 returned 0 14:54:20.133240 Read 93 bytes 14:54:20.133257 Process 93 bytes request 14:54:20.133272 Got request: GET /verifiedserver HTTP/1.1 14:54:20.133283 Are-we-friendly question received 14:54:20.133314 Wrote request (93 bytes) input to log/17/server.input 14:54:20.133333 Identifying ourselves as friends 14:54:20.133395 Response sent (56 bytes) and written to log/17/server.response 14:54:20.133408 special request received, no persistency 14:54:20.133418 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1176 ==139531== ==139531== Process terminating with default action of signal 4 (SIGILL) ==139531== Illegal opcode at address 0x4014B6F ==139531== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139531== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139531== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139531== by 0x4004266: main (tool_main.c:199) === End of file valgrind1176 test 1180...[HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1180 ../src/curl -q --output log/20/curl1180.out --include --trace-ascii log/20/trace1180 --trace-time --proxy http://127.0.0.1:39569 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39569/1180 > log/20/stdout1180 2> log/20/stderr1180 1180: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1180 ../src/curl -q --output log/20/curl1180.out --include --trace-ascii log/20/trace1180 --trace-time --proxy http://127.0.0.1:39569 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39569/1180 > log/20/stdout1180 2> log/20/stderr1180 === End of file commands.log === Start of file http_server.log 14:54:20.153242 ====> Client connect 14:54:20.153280 accept_connection 3 returned 4 14:54:20.153297 accept_connection 3 returned 0 14:54:20.153314 Read 93 bytes 14:54:20.153326 Process 93 bytes request 14:54:20.153344 Got request: GET /verifiedserver HTTP/1.1 14:54:20.153355 Are-we-friendly question received 14:54:20.153386 Wrote request (93 bytes) input to log/20/server.input 14:54:20.153404 Identifying ourselves as friends 14:54:20.153465 Response sent (56 bytes) and written to log/20/server.response 14:54:20.153476 special request received, no persistency 14:54:20.153487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1180 ==139573== ==139573== Process terminating with default action of signal 4 (SIGILL) ==139573== Illegal opcode at address 0x4014B6F ==139573== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139573== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139573== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139573== by 0x4004266: main (tool_main.c:199) === End of file valgrind1180 test 1178...[HTTP proxy auth with credentials longer than 256 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1178 ../src/curl -q --output log/2/curl1178.out --include --trace-ascii log/2/trace1178 --trace-time http://127.0.0.1:37587/we/want/that/page/1178 -x http://127.0.0.1:37587 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/2/stdout1178 2> log/2/stderr1178 1178: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1178 ../src/curl -q --outpuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1181 ../src/curl -q --output log/14/curl1181.out --include --trace-ascii log/14/trace1181 --trace-time --proxy http://127.0.0.1:46043 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46043/1181 > log/14/stdout1181 2> log/14/stderr1181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1183 ../src/curl -q --output log/19/curl1183.out --include --trace-ascii log/19/trace1183 --trace-time http://127.0.0.1:33805/1183 > log/19/stdout1183 2> log/19/stderr1183 t log/2/curl1178.out --include --trace-ascii log/2/trace1178 --trace-time http://127.0.0.1:37587/we/want/that/page/1178 -x http://127.0.0.1:37587 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/2/stdout1178 2> log/2/stderr1178 === End of file commands.log === Start of file http_server.log 14:54:20.148976 ====> Client connect 14:54:20.149011 accept_connection 3 returned 4 14:54:20.149030 accept_connection 3 returned 0 14:54:20.149046 Read 93 bytes 14:54:20.149057 Process 93 bytes request 14:54:20.149072 Got request: GET /verifiedserver HTTP/1.1 14:54:20.149083 Are-we-friendly question received 14:54:20.149108 Wrote request (93 bytes) input to log/2/server.input 14:54:20.149127 Identifying ourselves as friends 14:54:20.149188 Response sent (56 bytes) and written to log/2/server.response 14:54:20.149201 special request received, no persistency 14:54:20.149212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 44344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1178 ==139560== ==139560== Process terminating with default action of signal 4 (SIGILL) ==139560== Illegal opcode at address 0x4014B6F ==139560== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139560== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139560== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139560== by 0x4004266: main (tool_main.c:199) === End of file valgrind1178 test 1181...[HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1181 ../src/curl -q --output log/14/curl1181.out --include --trace-ascii log/14/trace1181 --trace-time --proxy http://127.0.0.1:46043 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46043/1181 > log/14/stdout1181 2> log/14/stderr1181 1181: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1181 ../src/curl -q --output log/14/curl1181.out --include --trace-ascii log/14/trace1181 --trace-time --proxy http://127.0.0.1:46043 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46043/1181 > log/14/stdout1181 2> log/14/stderr1181 === End of file commands.log === Start of file http_server.log 14:54:20.232500 ====> Client connect 14:54:20.232538 accept_connection 3 returned 4 14:54:20.232556 accept_connection 3 returned 0 14:54:20.232570 Read 93 bytes 14:54:20.232581 Process 93 bytes request 14:54:20.232593 Got request: GET /verifiedserver HTTP/1.1 14:54:20.232604 Are-we-friendly question received 14:54:20.232630 Wrote request (93 bytes) input to log/14/server.input 14:54:20.232647 Identifying ourselves as friends 14:54:20.232701 Response sent (56 bytes) and written to log/14/server.response 14:54:20.232711 special request received, no persistency 14:54:20.232721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1181 ==139741== ==139741== Process terminating with default action of signal 4 (SIGILL) ==139741== Illegal opcode at address 0x4014B6F ==139741== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139741== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139741== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139741== by 0x4004266: main (tool_main.c:199) === End of file valgrind1181 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_ipv6_server.pid" --logfile "log/22/http_ipv6_server.log" --logdir "log/22" --portfile log/22/server/http_ipv6_server.port --config log/22/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 134161 port 35413 * pid http-ipv6 => 134161 134161 prechecked /usr/bin/perl -e "if('[::1]' ne '[::1]') {print 'Test requires default test client host address';} else {exec './server/servers resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}" test 1083 SKIPPED: Resolving IPv6 'ip6-localhost' didn't work test 1183...[1183 used instead of actual test number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1183 ../src/curl -q --output log/19/curl1183.out --include --trace-ascii log/19/trace1183 --trace-time http://127.0.0.1:33805/1183 > log/19/stdout1183 2> log/19/stderr1183 1183: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1183 ../src/curl -q --output log/19/curl1183.out --include --trace-ascii log/19/trace1183 --trace-time http://127.0.0.1:33805/1183 > log/19/stdout1183 2> log/19/stderr1183 === End of file commands.log === Start of file http_server.log 14:54:19.231990 ====> Client connect 14:54:19.232015 accept_connection 3 returned 4 14:54:19.232030 accept_connection 3 returned 0 14:54:19.232043 Read 93 bytes 14:54:19.232052 Process 93 bytes request 14:54:19.232063 Got request: GET /verifiedserver HTTP/1.1 14:54:19.232071 Are-we-friendly questCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:44029/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1189 ../src/curl -q --output log/9/curl1189.out --include --trace-ascii log/9/trace1189 --trace-time http://127.0.0.1:34345/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/9/stdout1189 2> log/9/stderr1189 ion received 14:54:19.232090 Wrote request (93 bytes) input to log/19/server.input 14:54:19.232103 Identifying ourselves as friends 14:54:19.232145 Response sent (56 bytes) and written to log/19/server.response 14:54:19.232153 special request received, no persistency 14:54:19.232161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1183 ==139740== ==139740== Process terminating with default action of signal 4 (SIGILL) ==139740== Illegal opcode at address 0x4014B6F ==139740== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139740== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139740== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139740== by 0x4004266: main (tool_main.c:199) === End of file valgrind1183 test 1186...[Multipart formposting with backslash-escaping filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:44029/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 1186: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:44029/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 === End of file commands.log === Start of file http_server.log 14:54:20.260861 ====> Client connect 14:54:20.260903 accept_connection 3 returned 4 14:54:20.260923 accept_connection 3 returned 0 14:54:20.260939 Read 93 bytes 14:54:20.260949 Process 93 bytes request 14:54:20.260964 Got request: GET /verifiedserver HTTP/1.1 14:54:20.260973 Are-we-friendly question received 14:54:20.260996 Wrote request (93 bytes) input to log/1/server.input 14:54:20.261014 Identifying ourselves as friends 14:54:20.261068 Response sent (56 bytes) and written to log/1/server.response 14:54:20.261078 special request received, no persistency 14:54:20.261089 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file test1186".txt foo bar This is a bar foo bar foo === End of file test1186".txt === Start of file valgrind1186 ==139872== ==139872== Process terminating with default action of signal 4 (SIGILL) ==139872== Illegal opcode at address 0x4014B6F ==139872== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139872== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139872== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139872== by 0x4004266: main (tool_main.c:199) === End of file valgrind1186 test 1189...[Multipart formposting with backslash-escaping of name= and filename=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1189 ../src/curl -q --output log/9/curl1189.out --include --trace-ascii log/9/trace1189 --trace-time http://127.0.0.1:34345/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/9/stdout1189 2> log/9/stderr1189 1189: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1189 ../src/curl -q --output log/9/curl1189.out --include --trace-ascii log/9/trace1189 --trace-time http://127.0.0.1:34345/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/9/stdout1189 2> log/9/stderr1189 === End of file commands.log === Start of file http_server.log 14:54:20.292033 ====> Client connect 14:54:20.292064 accept_connection 3 returned 4 14:54:20.292083 accept_connection 3 returned 0 14:54:20.292098 Read 93 bytes 14:54:20.292110 Process 93 bytes request 14:54:20.292123 Got request: GET /verifiedserver HTTP/1.1 14:54:20.292135 Are-we-friendly question received 14:54:20.292161 Wrote request (93 bytes) input to log/9/server.input 14:54:20.292179 Identifying ourselves as friends 14:54:20.292233 Response sent (56 bytes) and written to log/9/server.response 14:54:20.292242 special request received, no persistency 14:54:20.292251 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file test1189.txt foo bar This is a bar fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:37085/we/want/our/1188 http://127.0.0.1:37085/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1187 ../src/curl -q --output log/11/curl1187.out --include --trace-ascii log/11/trace1187 --trace-time smtp://127.0.0.1:43549/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/11/stdout1187 2> log/11/stderr1187 oo bar foo === End of file test1189.txt === Start of file valgrind1189 ==139980== ==139980== Process terminating with default action of signal 4 (SIGILL) ==139980== Illegal opcode at address 0x4014B6F ==139980== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139980== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139980== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139980== by 0x4004266: main (tool_main.c:199) === End of file valgrind1189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1197 ../src/curl -q --include --trace-ascii log/7/trace1197 --trace-time http://127.0.0.1:40545/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/7/stdout1197 2> log/7/stderr1197 test 1188...[--write-out with %{onerror} and %{urlnum} to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:37085/we/want/our/1188 http://127.0.0.1:37085/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 1188: stderr FAILED: --- log/8/check-expected 2025-09-11 14:54:21.098864712 +0000 +++ log/8/check-generated 2025-09-11 14:54:21.098864712 +0000 @@ -1,2 +0,0 @@ -0 says 22 The requested URL returned error: 404[CR][LF] -1 says 22 The requested URL returned error: 404[CR][LF] == Contents of files in the log/8/ dir after test 1188 === Start of file check-expected 0 says 22 The requested URL returned error: 404[CR][LF] 1 says 22 The requested URL returned error: 404[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:37085/we/want/our/1188 http://127.0.0.1:37085/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 === End of file commands.log === Start of file http_server.log 14:54:19.289820 ====> Client connect 14:54:19.289867 accept_connection 3 returned 4 14:54:19.289887 accept_connection 3 returned 0 14:54:19.289904 Read 93 bytes 14:54:19.289915 Process 93 bytes request 14:54:19.289930 Got request: GET /verifiedserver HTTP/1.1 14:54:19.289941 Are-we-friendly question received 14:54:19.289968 Wrote request (93 bytes) input to log/8/server.input 14:54:19.289986 Identifying ourselves as friends 14:54:19.290044 Response sent (56 bytes) and written to log/8/server.response 14:54:19.290056 special request received, no persistency 14:54:19.290066 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 47000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1188 ==139929== ==139929== Process terminating with default action of signal 4 (SIGILL) ==139929== Illegal opcode at address 0x4014B6F ==139929== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139929== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139929== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139929== by 0x4004266: main (tool_main.c:199) === End of file valgrind1188 test 1187...[SMTP multipart with file name escaping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1187 ../src/curl -q --output log/11/curl1187.out --include --trace-ascii log/11/trace1187 --trace-time smtp://127.0.0.1:43549/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/11/stdout1187 2> log/11/stderr1187 1187: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1187 ../src/curl -q --output log/11/curl1187.out --include --trace-ascii log/11/trace1187 --trace-time smtp://127.0.0.1:43549/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/11/stdout1187 2> log/11/stderr1187 === End of file commands.log === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 14:54:20.204340 ====> Client connect 14:54:20.204462 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:20.204745 < "EHLO verifiedserver" 14:54:20.204788 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:20.204964 < "HELP" 14:54:20.204996 > "214 WE ROOLZ: 123219[CR][LF]" 14:54:20.205011 return proof we are we 14:54:20.205227 < "QUIT" 14:54:20.205256 > "221 curl ESMTP server signing off[CR][LF]" 14:54:20.205983 MAIN sockfilt said DISC 14:54:20.206010 ====> Client disconnected 14:54:20.206063 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:20.287057 ====> Client connect 14:54:20.287287 Received DATA (on stdin) 14:54:20.287303 > 160 bytes data, server => client 14:54:20.287316 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:20.287328 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:20.287338 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:20.287415 < 21 bytes data, client => server 14:54:20.287428 'EHLO verifiedserver\r\n' 14:54:20.287604 Received DATA (on stdin) 14:54:20.287617 > 53 bytes data, server => client 14:54:20.287629 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:20.287683 < 6 bytes data, client => server 14:54:20.287695 'HELP\r\n' 14:54:20.287821 Received DATA (on stdin) 14:54:20.287832 > 22 bytes data, server => client 14:54:20.287844 '214 WE ROOLZ: 123219\r\n' 14:54:20.287951 < 6 bytes data, client => server 14:54:20.287964 'QUIT\r\n' 14:54:20.288067 Received DATA (on stdin) 14:54:20.288080 > 35 bytes data, server => client 14:54:20.288090 '221 curl ESMTP server signing off\r\n' 14:54:20.288748 ====> Client disconnect 14:54:20.288875 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1187 From: different To: another body === End of file stdin-for-1187 === Start of file valgrind1187 ==139926== ==139926== Process terminating with default action of signal 4 (SIGILL) ==139926== Illegal opcode at address 0x4014B6F ==139926== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==139926== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==139926== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==139926== by 0x4004266: main (tool_main.c:199) === End of file valgrind1187 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1204 ../src/curl -q --output log/17/curl1204.out --include --trace-ascii log/17/trace1204 --trace-time http://127.0.0.1:45171/1204 -u testuser:testpass --anyauth > log/17/stdout1204 2> log/17/stderr1204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1205 ../src/curl -q --output log/20/curl1205.out --include --trace-ascii log/20/trace1205 --trace-time http://127.0.0.1:39569/1205 > log/20/stdout1205 2> log/20/stderr1205 test 1197...[HTTP POST redirected to GET and --write-out method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1197 ../src/curl -q --include --trace-ascii log/7/trace1197 --trace-time http://127.0.0.1:40545/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/7/stdout1197 2> log/7/stderr1197 1197: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:21.558864718 +0000 +++ log/7/check-generated 2025-09-11 14:54:21.558864718 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./11970001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -GET[LF] == Contents of files in the log/7/ dir after test 1197 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./11970001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] GET[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1197 ../src/curl -q --include --trace-ascii log/7/trace1197 --trace-time http://127.0.0.1:40545/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/7/stdout1197 2> log/7/stderr1197 === End of file commands.log === Start of file http_server.log 14:54:20.916247 ====> Client connect 14:54:20.916279 accept_connection 3 returned 4 14:54:20.916296 accept_connection 3 returned 0 14:54:20.916311 Read 93 bytes 14:54:20.916328 Process 93 bytes request 14:54:20.916340 Got request: GET /verifiedserver HTTP/1.1 14:54:20.916348 Are-we-friendly question received 14:54:20.916368 Wrote request (93 bytes) input to log/7/server.input 14:54:20.916382 Identifying ourselves as friends 14:54:20.916424 Response sent (56 bytes) and written to log/7/server.response 14:54:20.916433 special request received, no persistency 14:54:20.916441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1197 ==140197== ==140197== Process terminating with default action of signal 4 (SIGILL) ==140197== Illegal opcode at address 0x4014B6F ==140197== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140197== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140197== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140197== by 0x4004266: main (tool_main.c:199) === End of file valgrind1197 test 1204...[HTTP with WWW-Authenticate and multiple auths in a single line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1204 ../src/curl -q --output log/17/curl1204.out --include --trace-ascii log/17/trace1204 --trace-time http://127.0.0.1:45171/1204 -u testuser:testpass --anyauth > log/17/stdout1204 2> log/17/stderr1204 1204: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1204 ../src/curl -q --output log/17/curl1204.out --include --trace-ascii log/17/trace1204 --trace-time http://127.0.0.1:45171/1204 -u testuser:testpass --anyauth > log/17/stdout1204 2> log/17/stderr1204 === End of file commands.log === Start of file http_server.log 14:54:21.047641 ====> Client connect 14:54:21.047668 accept_connection 3 returned 4 14:54:21.047681 accept_connection 3 returned 0 14:54:21.047693 Read 93 bytes 14:54:21.047702 Process 93 bytes request 14:54:21.047714 Got request: GET /verifiedserver HTTP/1.1 14:54:21.047721 Are-we-friendly question received 14:54:21.047740 Wrote request (93 bytes) input to log/17/server.input 14:54:21.047753 Identifying ourselves as friends 14:54:21.047797 Response sent (56 bytes) and written to log/17/server.response 14:54:21.047805 special request received, no persistency 14:54:21.047812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1204 ==140313== ==140313== Process terminating with default action of signal 4 (SIGILL) ==140313== Illegal opcode at address 0x4014B6F ==140313== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140313== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140313== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140313== by 0x4004266: main (tool_main.c:199) === End of file valgrind1204 test 1205...[HTTP GET with 18K HTTP header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1205 ../src/curl -q --output log/20/curl1205.out --include --trace-ascii log/20/trace1205 --trace-time http://127.0.0.1:39569/1205 > log/20/stdout1205 2> log/20/stderr1205 1205: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1205 ../src/curl -q --output log/20/curl1205.out --include --trace-ascii log/20/trace1205 --trace-time http://127.0.0.1:39569/1205 > log/20/stdout1205 2> log/20/stderr1205 === End of file commands.log === Start of file http_server.log 14:54:21.049127 ====> Client connect 14:54:21.049152 accept_connection 3 returned 4 14:54:21.049165 accept_connection 3 returned 0 14:54:21.049177 Read 93 bytes 14:54:21.049185 Process 93 bytes request 14:54:21.049195 Got request: GET /verifiedserver HTTP/1.1 14:54:21.049203 Are-we-friendly CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1207 ../src/curl -q --output log/14/curl1207.out --include --trace-ascii log/14/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:37705/1207 -P - > log/14/stdout1207 2> log/14/stderr1207 question received 14:54:21.049222 Wrote request (93 bytes) input to log/20/server.input 14:54:21.049235 Identifying ourselves as friends 14:54:21.049282 Response sent (56 bytes) and written to log/20/server.response 14:54:21.049290 special request received, no persistency 14:54:21.049298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1205 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1205 ==140312== ==140312== Process terminating with default action of signal 4 (SIGILL) ==140312== Illegal opcode at address 0x4014B6F ==140312== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140312== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140312== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140312== by 0x4004266: main (tool_main.c:199) === End of file valgrind1205 test 1207...[FTP PORT and 421 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1207 ../src/curl -q --output log/14/curl1207.out --include --trace-ascii log/14/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:37705/1207 -P - > log/14/stdout1207 2> log/14/stderr1207 1207: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1207 ../src/curl -q --output log/14/curl1207.out --include --trace-ascii log/14/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:37705/1207 -P - > log/14/stdout1207 2> log/14/stderr1207 === End of file commands.log === Start of file ftp_server.log 14:54:20.976462 ====> Client connect 14:54:20.976567 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:20.976818 < "USER anonymous" 14:54:20.976852 > "331 We are happy you popped in![CR][LF]" 14:54:20.977040 < "PASS ftp@example.com" 14:54:20.977086 > "230 Welcome you silly person[CR][LF]" 14:54:20.977265 < "PWD" 14:54:20.977299 > "257 "/" is current directory[CR][LF]" 14:54:20.977448 < "EPSV" 14:54:20.977465 ====> Passive DATA channel requested by client 14:54:20.977475 DATA sockfilt for passive data channel starting... 14:54:20.978577 DATA sockfilt for passive data channel started (pid 140326) 14:54:20.978661 DATA sockfilt for passive data channel listens on port 46817 14:54:20.978717 > "229 Entering Passive Mode (|||46817|)[LF]" 14:54:20.978744 Client has been notified that DATA conn will be accepted on port 46817 14:54:20.978935 Client connects to port 46817 14:54:20.978958 ====> Client established passive DATA connection on port 46817 14:54:20.979034 < "TYPE I" 14:54:20.979057 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:20.979176 < "SIZE verifiedserver" 14:54:20.979204 > "213 17[CR][LF]" 14:54:20.979308 < "RETR verifiedserver" 14:54:20.979335 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:20.979395 =====> Closing passive DATA connection... 14:54:20.979406 Server disconnects passive DATA connection 14:54:20.979491 Server disconnected passive DATA connection 14:54:20.979507 DATA sockfilt for passive data channel quits (pid 140326) 14:54:20.979697 DATA sockfilt for passive data channel quit (pid 140326) 14:54:20.979722 =====> Closed passive DATA connection 14:54:20.979746 > "226 File transfer complete[CR][LF]" 14:54:21.023841 < "QUIT" 14:54:21.023894 > "221 bye bye baby[CR][LF]" 14:54:21.024557 MAIN sockfilt said DISC 14:54:21.024586 ====> Client disconnected 14:54:21.024639 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:21.059197 ====> Client connect 14:54:21.059363 Received DATA (on stdin) 14:54:21.059386 > 160 bytes data, server => client 14:54:21.059404 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:21.059420 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:21.059429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:21.059495 < 16 bytes data, client => server 14:54:21.059504 'USER anonymous\r\n' 14:54:21.059681 Received DATA (on stdin) 14:54:21.059698 > 33 bytes data, server => client 14:54:21.059708 '331 We are happy you popped in!\r\n' 14:54:21.059752 < 22 bytes data, client => server 14:54:21.059761 'PASS ftp@example.com\r\n' 14:54:21.059904 Received DATA (on stdin) 14:54:21.059923 > 30 bytes data, server => client 14:54:21.059932 '230 Welcome you silly person\r\n' 14:54:21.059988 < 5 bytes data, client => server 14:54:21.059997 'PWD\r\n' 14:54:21.060114 Received DATA (on stdin) 14:54:21.060130 > 30 bytes data, server => client 14:54:21.060139 '257 "/" is current directory\r\n' 14:54:21.060191 < 6 bytes data, client => server 14:54:21.060201 'EPSV\r\n' 14:54:21.061561 Received DATA (on stdin) 14:54:21.061573 > 38 bytes data, server => client 14:54:21.061582 '229 Entering Passive Mode (|||46817|)\n' 14:54:21.061702 < 8 bytes data, client => server 14:54:21.061711 'TYPE I\r\n' 14:54:21.061866 Received DATA (on stdin) 14:54:21.061875 > 33 bytes data, server => client 14:54:21.061883 '200 I modify TYPE as you wanted\r\n' 14:54:21.061922 < 21 bytes data, client => server 14:54:21.061930 'SIZE verifiedserver\r\n' 14:54:21.062009 Received DATA (on stdin) 14:54:21.062017 > 8 bytes data, server => client 14:54:21.062025 '213 17\r\n' 14:54:21.062057 < 21 bytes data, client => server 14:54:21.062065 'RETR verifiedserver\r\n' 14:54:21.062191 Received DATA (on stdin) 14:54:21.062209 > 29 bytes data, server => client 14:54:21.062219 '150 Binary junk (17 bytes).\r\n' 14:54:21.062558 Received DATA (on stdin) 14:54:21.062569 > 28 bytes data, server => client 14:54:21.062577 '226 File transfer complete\r\n' 14:54:21.106486 < 6 bytes data, client => server 14:54:21.106515 'QUIT\r\n' 14:54:21.106687 Received DATA (on stdin) 14:54:21.106718 > 18 bytes data, server => client 14:54:21.106738 '221 bye bye baby\r\n' 14:54:21.107319 ====> Client disconnect 14:54:21.107445 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:20.061261 Running IPv4 version 14:54:20.061300 Listening on port 46817 14:54:20.061326 Wrote pid 140326 to log/14/server/ftp_sockdata.pid 14:54:20.061340 Received PING (on stdin) 14:54:20.061405 Received PORT (on stdin) 14:54:20.061677 ====> Client connect 14:54:20.062215 Received DATA (on stdin) 14:54:20.062227 > 17 bytes data, server => client 14:54:20.062235 'WE ROOLZ: 80387\r\n' 14:54:20.062254 Received DISC (on stdin) 14:54:20.062262 ====> Client forcibly disconnected 14:54:20.062318 Received QUIT (on stdin) 14:54:20.062327 quits 14:54:20.062370 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 Testnum 1207 === End of file server.cmd === Start of file valgrind1207 ==140426== ==140426== Process terminating with default action of signal 4 (SIGILL) ==140426== Illegal opcode at address 0x4014B6F ==140426== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140426== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==14CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1206 ../src/curl -q --output log/2/curl1206.out --include --trace-ascii log/2/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:39801/1206 -P - > log/2/stdout1206 2> log/2/stderr1206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1210 ../src/curl -q --trace-ascii log/19/trace1210 --trace-time http://127.0.0.1:33805/1210?junk -J -O --output-dir log/19 > log/19/stdout1210 2> log/19/stderr1210 0426== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140426== by 0x4004266: main (tool_main.c:199) === End of file valgrind1207 test 1206...[FTP PORT and 425 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1206 ../src/curl -q --output log/2/curl1206.out --include --trace-ascii log/2/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:39801/1206 -P - > log/2/stdout1206 2> log/2/stderr1206 1206: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1206 ../src/curl -q --output log/2/curl1206.out --include --trace-ascii log/2/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:39801/1206 -P - > log/2/stdout1206 2> log/2/stderr1206 === End of file commands.log === Start of file ftp_server.log 14:54:20.966977 ====> Client connect 14:54:20.967124 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:20.967415 < "USER anonymous" 14:54:20.967446 > "331 We are happy you popped in![CR][LF]" 14:54:20.967596 < "PASS ftp@example.com" 14:54:20.967616 > "230 Welcome you silly person[CR][LF]" 14:54:20.967770 < "PWD" 14:54:20.967798 > "257 "/" is current directory[CR][LF]" 14:54:20.967921 < "EPSV" 14:54:20.967943 ====> Passive DATA channel requested by client 14:54:20.967954 DATA sockfilt for passive data channel starting... 14:54:20.969185 DATA sockfilt for passive data channel started (pid 140298) 14:54:20.969294 DATA sockfilt for passive data channel listens on port 43959 14:54:20.969332 > "229 Entering Passive Mode (|||43959|)[LF]" 14:54:20.969345 Client has been notified that DATA conn will be accepted on port 43959 14:54:20.969511 Client connects to port 43959 14:54:20.969542 ====> Client established passive DATA connection on port 43959 14:54:20.969631 < "TYPE I" 14:54:20.969658 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:20.969853 < "SIZE verifiedserver" 14:54:20.969893 > "213 18[CR][LF]" 14:54:20.970065 < "RETR verifiedserver" 14:54:20.970094 > "150 Binary junk (18 bytes).[CR][LF]" 14:54:20.970162 =====> Closing passive DATA connection... 14:54:20.970174 Server disconnects passive DATA connection 14:54:20.970331 Server disconnected passive DATA connection 14:54:20.970351 DATA sockfilt for passive data channel quits (pid 140298) 14:54:20.970550 DATA sockfilt for passive data channel quit (pid 140298) 14:54:20.970570 =====> Closed passive DATA connection 14:54:20.970598 > "226 File transfer complete[CR][LF]" 14:54:21.013874 < "QUIT" 14:54:21.013923 > "221 bye bye baby[CR][LF]" 14:54:21.014628 MAIN sockfilt said DISC 14:54:21.014649 ====> Client disconnected 14:54:21.014706 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:21.049700 ====> Client connect 14:54:21.049948 Received DATA (on stdin) 14:54:21.049965 > 160 bytes data, server => client 14:54:21.049977 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:21.049988 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:21.049998 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:21.050080 < 16 bytes data, client => server 14:54:21.050093 'USER anonymous\r\n' 14:54:21.050256 Received DATA (on stdin) 14:54:21.050268 > 33 bytes data, server => client 14:54:21.050276 '331 We are happy you popped in!\r\n' 14:54:21.050331 < 22 bytes data, client => server 14:54:21.050340 'PASS ftp@example.com\r\n' 14:54:21.050422 Received DATA (on stdin) 14:54:21.050431 > 30 bytes data, server => client 14:54:21.050451 '230 Welcome you silly person\r\n' 14:54:21.050504 < 5 bytes data, client => server 14:54:21.050514 'PWD\r\n' 14:54:21.050605 Received DATA (on stdin) 14:54:21.050614 > 30 bytes data, server => client 14:54:21.050623 '257 "/" is current directory\r\n' 14:54:21.050667 < 6 bytes data, client => server 14:54:21.050676 'EPSV\r\n' 14:54:21.052160 Received DATA (on stdin) 14:54:21.052174 > 38 bytes data, server => client 14:54:21.052184 '229 Entering Passive Mode (|||43959|)\n' 14:54:21.052283 < 8 bytes data, client => server 14:54:21.052296 'TYPE I\r\n' 14:54:21.052469 Received DATA (on stdin) 14:54:21.052481 > 33 bytes data, server => client 14:54:21.052490 '200 I modify TYPE as you wanted\r\n' 14:54:21.052555 < 21 bytes data, client => server 14:54:21.052570 'SIZE verifiedserver\r\n' 14:54:21.052706 Received DATA (on stdin) 14:54:21.052719 > 8 bytes data, server => client 14:54:21.052729 '213 18\r\n' 14:54:21.052802 < 21 bytes data, client => server 14:54:21.052822 'RETR verifiedserver\r\n' 14:54:21.052990 Received DATA (on stdin) 14:54:21.053003 > 29 bytes data, server => client 14:54:21.053045 '150 Binary junk (18 bytes).\r\n' 14:54:21.053408 Received DATA (on stdin) 14:54:21.053419 > 28 bytes data, server => client 14:54:21.053428 '226 File transfer complete\r\n' 14:54:21.096486 < 6 bytes data, client => server 14:54:21.096516 'QUIT\r\n' 14:54:21.096739 Received DATA (on stdin) 14:54:21.096753 > 18 bytes data, server => client 14:54:21.096764 '221 bye bye baby\r\n' 14:54:21.097394 ====> Client disconnect 14:54:21.097513 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:20.051750 Running IPv4 version 14:54:20.051790 Listening on port 43959 14:54:20.051818 Wrote pid 140298 to log/2/server/ftp_sockdata.pid 14:54:20.051933 Received PING (on stdin) 14:54:20.052022 Received PORT (on stdin) 14:54:20.052269 ====> Client connect 14:54:20.053032 Received DATA (on stdin) 14:54:20.053049 > 18 bytes data, server => client 14:54:20.053060 'WE ROOLZ: 136171\r\n' 14:54:20.053087 Received DISC (on stdin) 14:54:20.053098 ====> Client forcibly disconnected 14:54:20.053160 Received QUIT (on stdin) 14:54:20.053174 quits 14:54:20.053219 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 Testnum 1206 === End of file server.cmd === Start of file valgrind1206 ==140407== ==140407== Process terminating with default action of signal 4 (SIGILL) ==140407== Illegal opcode at address 0x4014B6F ==140407== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140407== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140407== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140407== by 0x4004266: main (tool_main.c:199) === End of file valgrind1206 test 1210...[HTTP GET with -J without Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1210 ../src/curl -q --trace-ascii log/19/trace1210 --trace-time http://127.0.0.1:33805/1210?junk -J -O --output-dir log/19 > log/19/stdout1210 2> log/19/stderr1210 1210: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1210 ../src/curl -q --trace-ascii log/19/trace1210 --trace-time http://127.0.0.1:33805/1210?junk -J -O --output-dir log/19 > log/19/stdout1210 2> log/19/stderr1210 === End of file commands.log === Start of file http_server.log 14:54:20.185893 ====> Client connect 14:54:20.185918 accept_connection 3 returned 4 14:54:20.185930 accept_connection 3 returned 0 14:54:20.185942 Read 93 bytes 14:54:20.185950 Process 93 bytes request 14:54:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:44029/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1208 ../src/curl -q --output log/22/curl1208.out --include --trace-ascii log/22/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:45969/1208 -P - > log/22/stdout1208 2> log/22/stderr1208 20.185961 Got request: GET /verifiedserver HTTP/1.1 14:54:20.185968 Are-we-friendly question received 14:54:20.185986 Wrote request (93 bytes) input to log/19/server.input 14:54:20.185998 Identifying ourselves as friends 14:54:20.186036 Response sent (56 bytes) and written to log/19/server.response 14:54:20.186044 special request received, no persistency 14:54:20.186051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1210 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1210 ==140574== ==140574== Process terminating with default action of signal 4 (SIGILL) ==140574== Illegal opcode at address 0x4014B6F ==140574== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140574== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140574== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140574== by 0x4004266: main (tool_main.c:199) === End of file valgrind1210 test 1212...[noproxy setting together with socks proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:44029/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 1212: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:44029/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 === End of file commands.log === Start of file http_server.log 14:54:21.188752 ====> Client connect 14:54:21.188783 accept_connection 3 returned 4 14:54:21.188797 accept_connection 3 returned 0 14:54:21.188810 Read 93 bytes 14:54:21.188818 Process 93 bytes request 14:54:21.188828 Got request: GET /verifiedserver HTTP/1.1 14:54:21.188836 Are-we-friendly question received 14:54:21.188854 Wrote request (93 bytes) input to log/1/server.input 14:54:21.188867 Identifying ourselves as friends 14:54:21.188923 Response sent (56 bytes) and written to log/1/server.response 14:54:21.188931 special request received, no persistency 14:54:21.188939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1212 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1212 ==140585== ==140585== Process terminating with default action of signal 4 (SIGILL) ==140585== Illegal opcode at address 0x4014B6F ==140585== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140585== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140585== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140585== by 0x4004266: main (tool_main.c:199) === End of file valgrind1212 test 1208...[FTP PORT download, no data conn and no transient negative reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1208 ../src/curl -q --output log/22/curl1208.out --include --trace-ascii log/22/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:45969/1208 -P - > log/22/stdout1208 2> log/22/stderr1208 1208: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1208 ../src/curl -q --output log/22/curl1208.out --include --trace-ascii log/22/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:45969/1208 -P - > log/22/stdout1208 2> log/22/stderr1208 === End of file commands.log === Start of file ftp_server.log 14:54:21.083710 ====> Client connect 14:54:21.083861 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:21.084148 < "USER anonymous" 14:54:21.084183 > "331 We are happy you popped in![CR][LF]" 14:54:21.084340 < "PASS ftp@example.com" 14:54:21.084368 > "230 Welcome you silly person[CR][LF]" 14:54:21.084580 < "PWD" 14:54:21.084611 > "257 "/" is current directory[CR][LF]" 14:54:21.084771 < "EPSV" 14:54:21.084794 ====> Passive DATA channel requested by client 14:54:21.084808 DATA sockfilt for passive data channel starting... 14:54:21.087186 DATA sockfilt for passive data channel started (pid 140519) 14:54:21.087311 DATA sockfilt for passive data channel listens on port 46825 14:54:21.087349 > "229 Entering Passive Mode (|||46825|)[LF]" 14:54:21.087368 Client has been notified that DATA conn will be accepted on port 46825 14:54:21.087621 Client connects to port 46825 14:54:21.087648 ====> Client established passive DATA connection on port 46825 14:54:21.087733 < "TYPE I" 14:54:21.087764 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:21.087913 < "SIZE verifiedserver" 14:54:21.087943 > "213 17[CR][LF]" 14:54:21.088079 < "RETR verifiedserver" 14:54:21.088107 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:21.088184 =====> Closing passive DATA connection... 14:54:21.088199 Server disconnects passive DATA connection 14:54:21.088261 Server disconnected passive DATA connection 14:54:21.088279 DATA sockfilt for passive data channel quits (pid 140519) 14:54:21.088494 DATA sockfilt for passive data channel quit (pid 140519) 14:54:21.088521 =====> Closed passive DATA connection 14:54:21.088551 > "226 File transfer complete[CR][LF]" 14:54:21.130516 < "QUIT" 14:54:21.130565 > "221 bye bye baby[CR][LF]" 14:54:21.130878 MAIN sockfilt said DISC 14:54:21.130914 ====> Client disconnected 14:54:21.130968 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:21.166423 ====> Client connect 14:54:21.166678 Received DATA (on stdin) 14:54:21.166690 > 160 bytes data, server => client 14:54:21.166700 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:21.166709 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:21.166717 '_ {| |___ \r\n220 \__CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1213 ../src/curl -q --output log/9/curl1213.out --include --trace-ascii log/9/trace1213 --trace-time -x 127.0.0.1:34345 we.want.that.site.com.1213 > log/9/stdout1213 2> log/9/stderr1213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1215 ../src/curl -q --output log/11/curl1215.out --include --trace-ascii log/11/trace1215 --trace-time http://127.0.0.1:33503/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:33503 > log/11/stdout1215 2> log/11/stderr1215 _|\___/|_| \_\_____|\r\n' 14:54:21.166790 < 16 bytes data, client => server 14:54:21.166804 'USER anonymous\r\n' 14:54:21.166977 Received DATA (on stdin) 14:54:21.166988 > 33 bytes data, server => client 14:54:21.166999 '331 We are happy you popped in!\r\n' 14:54:21.167045 < 22 bytes data, client => server 14:54:21.167057 'PASS ftp@example.com\r\n' 14:54:21.167180 Received DATA (on stdin) 14:54:21.167196 > 30 bytes data, server => client 14:54:21.167208 '230 Welcome you silly person\r\n' 14:54:21.167296 < 5 bytes data, client => server 14:54:21.167317 'PWD\r\n' 14:54:21.167422 Received DATA (on stdin) 14:54:21.167433 > 30 bytes data, server => client 14:54:21.167442 '257 "/" is current directory\r\n' 14:54:21.167497 < 6 bytes data, client => server 14:54:21.167510 'EPSV\r\n' 14:54:21.170186 Received DATA (on stdin) 14:54:21.170203 > 38 bytes data, server => client 14:54:21.170215 '229 Entering Passive Mode (|||46825|)\n' 14:54:21.170408 < 8 bytes data, client => server 14:54:21.170428 'TYPE I\r\n' 14:54:21.170575 Received DATA (on stdin) 14:54:21.170588 > 33 bytes data, server => client 14:54:21.170599 '200 I modify TYPE as you wanted\r\n' 14:54:21.170647 < 21 bytes data, client => server 14:54:21.170659 'SIZE verifiedserver\r\n' 14:54:21.170753 Received DATA (on stdin) 14:54:21.170765 > 8 bytes data, server => client 14:54:21.170775 '213 17\r\n' 14:54:21.170817 < 21 bytes data, client => server 14:54:21.170828 'RETR verifiedserver\r\n' 14:54:21.170989 Received DATA (on stdin) 14:54:21.171001 > 29 bytes data, server => client 14:54:21.171011 '150 Binary junk (17 bytes).\r\n' 14:54:21.171362 Received DATA (on stdin) 14:54:21.171374 > 28 bytes data, server => client 14:54:21.171384 '226 File transfer complete\r\n' 14:54:21.213159 < 6 bytes data, client => server 14:54:21.213188 'QUIT\r\n' 14:54:21.213383 Received DATA (on stdin) 14:54:21.213401 > 18 bytes data, server => client 14:54:21.213412 '221 bye bye baby\r\n' 14:54:21.213629 ====> Client disconnect 14:54:21.213919 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:21.169012 Running IPv4 version 14:54:21.169062 Listening on port 46825 14:54:21.169101 Wrote pid 140519 to log/22/server/ftp_sockdata.pid 14:54:21.169893 Received PING (on stdin) 14:54:21.170037 Received PORT (on stdin) 14:54:21.170381 ====> Client connect 14:54:21.170926 Received DATA (on stdin) 14:54:21.170941 > 17 bytes data, server => client 14:54:21.170951 'WE ROOLZ: 80268\r\n' 14:54:21.171012 Received DISC (on stdin) 14:54:21.171026 ====> Client forcibly disconnected 14:54:21.171092 Received QUIT (on stdin) 14:54:21.171102 quits 14:54:21.171153 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 Testnum 1208 === End of file server.cmd === Start of file valgrind1208 ==140743== ==140743== Process terminating with default action of signal 4 (SIGILL) ==140743== Illegal opcode at address 0x4014B6F ==140743== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140743== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140743== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140743== by 0x4004266: main (tool_main.c:199) === End of file valgrind1208 test 1213...[HTTP with proxy and host-only URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1213 ../src/curl -q --output log/9/curl1213.out --include --trace-ascii log/9/trace1213 --trace-time -x 127.0.0.1:34345 we.want.that.site.com.1213 > log/9/stdout1213 2> log/9/stderr1213 1213: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1213 ../src/curl -q --output log/9/curl1213.out --include --trace-ascii log/9/trace1213 --trace-time -x 127.0.0.1:34345 we.want.that.site.com.1213 > log/9/stdout1213 2> log/9/stderr1213 === End of file commands.log === Start of file http_server.log 14:54:21.194881 ====> Client connect 14:54:21.194905 accept_connection 3 returned 4 14:54:21.194919 accept_connection 3 returned 0 14:54:21.194930 Read 93 bytes 14:54:21.194938 Process 93 bytes request 14:54:21.194948 Got request: GET /verifiedserver HTTP/1.1 14:54:21.194956 Are-we-friendly question received 14:54:21.194973 Wrote request (93 bytes) input to log/9/server.input 14:54:21.194986 Identifying ourselves as friends 14:54:21.195026 Response sent (56 bytes) and written to log/9/server.response 14:54:21.195034 special request received, no persistency 14:54:21.195041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1213 ==140629== ==140629== Process terminating with default action of signal 4 (SIGILL) ==140629== Illegal opcode at address 0x4014B6F ==140629== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140629== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140629== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140629== by 0x4004266: main (tool_main.c:199) === End of file valgrind1213 test 1215...[HTTP with server NTLM authorization using a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1215 ../src/curl -q --output log/11/curl1215.out --include --trace-ascii log/11/trace1215 --trace-time http://127.0.0.1:33503/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:33503 > log/11/stdout1215 2> log/11/stderr1215 1215: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1215 ../src/curl -q --output log/11/curl1215.out --include --trace-ascii log/11/trace1215 --trace-time http://127.0.0.1:33503/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:33503 > log/11/stdout1215 2> log/11/stderr1215 === End of file commands.log === Start of file http_server.log 14:54:21.204993 ====> Client connect 14:54:21.205019 accept_connection 3 returned 4 14:54:21.205032 accept_connection 3 returned 0 14:54:21.205044 Read 93 bytes 14:54:21.205053 Process 93 bytes request 14:54:21.205063 Got request: GET /verifiedserver HTTP/1.1 14:54:21.205071 Are-we-friendly question received 14:54:21.205090 Wrote request (93 bytes) input to log/11/server.input 14:54:21.205103 Identifying ourselves as friends 14:54:21.205148 Response sent (56 bytes) and written to log/11/server.response 14:54:21.205156 special request received, no persistency 14:54:21.205163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 portCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1214 ../src/curl -q --output log/8/curl1214.out --include --trace-ascii log/8/trace1214 --trace-time -x 127.0.0.1:37085 http://we.want.that.site.com.1214?moo=foo > log/8/stdout1214 2> log/8/stderr1214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:44953/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 38258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1215 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1215 ==140687== ==140687== Process terminating with default action of signal 4 (SIGILL) ==140687== Illegal opcode at address 0x4014B6F ==140687== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140687== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140687== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140687== by 0x4004266: main (tool_main.c:199) === End of file valgrind1215 test 1214...[HTTP with proxy and URL with ? and no slash separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1214 ../src/curl -q --output log/8/curl1214.out --include --trace-ascii log/8/trace1214 --trace-time -x 127.0.0.1:37085 http://we.want.that.site.com.1214?moo=foo > log/8/stdout1214 2> log/8/stderr1214 1214: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1214 ../src/curl -q --output log/8/curl1214.out --include --trace-ascii log/8/trace1214 --trace-time -x 127.0.0.1:37085 http://we.want.that.site.com.1214?moo=foo > log/8/stdout1214 2> log/8/stderr1214 === End of file commands.log === Start of file http_server.log 14:54:20.203824 ====> Client connect 14:54:20.203851 accept_connection 3 returned 4 14:54:20.203863 accept_connection 3 returned 0 14:54:20.203875 Read 93 bytes 14:54:20.203884 Process 93 bytes request 14:54:20.203896 Got request: GET /verifiedserver HTTP/1.1 14:54:20.203903 Are-we-friendly question received 14:54:20.203923 Wrote request (93 bytes) input to log/8/server.input 14:54:20.203936 Identifying ourselves as friends 14:54:20.203976 Response sent (56 bytes) and written to log/8/server.response 14:54:20.203984 special request received, no persistency 14:54:20.203991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 47016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1214 ==140666== ==140666== Process terminating with default action of signal 4 (SIGILL) ==140666== Illegal opcode at address 0x4014B6F ==140666== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140666== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140666== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140666== by 0x4004266: main (tool_main.c:199) === End of file valgrind1214 startnew: ./server/servers mqttd --port 0 --pidfile log/18/server/mqtt_server.pid --portfile log/18/server/mqtt_server.port --config log/18/server.cmd --logfile log/18/mqtt_server.log --logdir log/18 RUN: MQTT server is now running PID 139946 on PORT 44953 * pid mqtt => 139946 139946 test 1192...[MQTT SUBSCRIBE 2k topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:44953/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 1192: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1192 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:44953/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1190 ../src/curl -q --output log/3/curl1190.out --include --trace log/3/trace1190 --trace-time mqtt://127.0.0.1:34089/1190 > log/3/stdout1190 2> log/3/stderr1190 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1191 ../src/curl -q --output log/24/curl1191.out --include --trace log/24/trace1191 --trace-time mqtt://127.0.0.1:43127/1191 -d something > log/24/stdout1191 2> log/24/stderr1191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1193 ../src/curl -q --output log/6/curl1193.out --include --trace log/6/trace1193 --trace-time mqtt://127.0.0.1:34575/1193 -d @log/6/payload1193 > log/6/stdout1193 2> log/6/stderr1193 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 === End of file commands.log === Start of file mqtt_server.log 14:54:20.313304 Running IPv4 version 14:54:20.313375 Listening on port 44953 14:54:20.313415 Wrote pid 139946 to log/18/server/mqtt_server.pid 14:54:20.313445 Wrote port 44953 to log/18/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1192 === End of file server.cmd === Start of file valgrind1192 ==140953== ==140953== Process terminating with default action of signal 4 (SIGILL) ==140953== Illegal opcode at address 0x4014B6F ==140953== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140953== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140953== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140953== by 0x4004266: main (tool_main.c:199) === End of file valgrind1192 startnew: ./server/servers mqttd --port 0 --pidfile log/3/server/mqtt_server.pid --portfile log/3/server/mqtt_server.port --config log/3/server.cmd --logfile log/3/mqtt_server.log --logdir log/3 RUN: MQTT server is now running PID 139877 on PORT 34089 * pid mqtt => 139877 139877 test 1190...[MQTT SUBSCRIBE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1190 ../src/curl -q --output log/3/curl1190.out --include --trace log/3/trace1190 --trace-time mqtt://127.0.0.1:34089/1190 > log/3/stdout1190 2> log/3/stderr1190 1190: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1190 ../src/curl -q --output log/3/curl1190.out --include --trace log/3/trace1190 --trace-time mqtt://127.0.0.1:34089/1190 > log/3/stdout1190 2> log/3/stderr1190 === End of file commands.log === Start of file mqtt_server.log 14:54:20.284181 Running IPv4 version 14:54:20.284234 Listening on port 34089 14:54:20.284268 Wrote pid 139877 to log/3/server/mqtt_server.pid 14:54:20.284297 Wrote port 34089 to log/3/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1190 === End of file server.cmd === Start of file valgrind1190 ==140892== ==140892== Process terminating with default action of signal 4 (SIGILL) ==140892== Illegal opcode at address 0x4014B6F ==140892== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140892== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140892== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140892== by 0x4004266: main (tool_main.c:199) === End of file valgrind1190 startnew: ./server/servers mqttd --port 0 --pidfile log/24/server/mqtt_server.pid --portfile log/24/server/mqtt_server.port --config log/24/server.cmd --logfile log/24/mqtt_server.log --logdir log/24 RUN: MQTT server is now running PID 139921 on PORT 43127 * pid mqtt => 139921 139921 test 1191...[MQTT PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1191 ../src/curl -q --output log/24/curl1191.out --include --trace log/24/trace1191 --trace-time mqtt://127.0.0.1:43127/1191 -d something > log/24/stdout1191 2> log/24/stderr1191 1191: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1191 ../src/curl -q --output log/24/curl1191.out --include --trace log/24/trace1191 --trace-time mqtt://127.0.0.1:43127/1191 -d something > log/24/stdout1191 2> log/24/stderr1191 === End of file commands.log === Start of file mqtt_server.log 14:54:20.302289 Running IPv4 version 14:54:20.302342 Listening on port 43127 14:54:20.302375 Wrote pid 139921 to log/24/server/mqtt_server.pid 14:54:20.302414 Wrote port 43127 to log/24/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1191 === End of file server.cmd === Start of file valgrind1191 ==140920== ==140920== Process terminating with default action of signal 4 (SIGILL) ==140920== Illegal opcode at address 0x4014B6F ==140920== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140920== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140920== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140920== by 0x4004266: main (tool_main.c:199) === End of file valgrind1191 startnew: ./server/servers mqttd --port 0 --pidfile log/6/server/mqtt_server.pid --portfile log/6/server/mqtt_server.port --config log/6/server.cmd --logfile log/6/mqtt_server.log --logdir log/6 RUN: MQTT server is now running PID 139969 on PORT 34575 * pid mqtt => 139969 139969 test 1193...[MQTT PUBLISH 2k payload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1193 ../src/curl -q --output log/6/curl1193.out --include --trace log/6/trace1193 --trace-time mqtt://127.0.0.1:34575/1193 -d @log/6/payload1193 > log/6/stdout1193 2> log/6/stderr1193 1193: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1193 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1193 ../src/curl -q --output log/6/curl1193.out --include --trace log/6/trace1193 --trace-time mqtt://127.0.0.1:34575/1193 -d @log/6/payload1193 > log/6/stdout1193 2> log/6/stderr1193 === End of file commands.log === Start of file mqtt_server.log 14:54:20.317796 Running IPv4 version 14:54:20.317852 Listening on port 34575 14:54:20.317892 Wrote pid 139969 to log/6/server/mqtt_server.pid 14:54:20.317920 Wrote port 34575 to log/6/server/mqtt_server.port === End of file mqtt_server.log === Start of file payload1193 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/1/stdout1222 2> log/1/stderr1222 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1216 ../src/curl -q --output log/7/curl1216.out --include --trace-ascii log/7/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/7/injar1216 -x 127.0.0.1:40545 > log/7/stdout1216 2> log/7/stderr1216 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1198 ../src/curl -q --output log/10/curl1198.out --include --trace log/10/trace1198 --trace-time mqtt://127.0.0.1:40041/%20 -d "" > log/10/stdout1198 2> log/10/stderr1198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1200 ../src/curl -q --output log/4/curl1200.out --include --trace-ascii log/4/trace1200 --trace-time gopher://127.0.0.1:46095/1/1200 > log/4/stdout1200 2> log/4/stderr1200 678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file payload1193 === Start of file server.cmd Testnum 1193 === End of file server.cmd === Start of file valgrind1193 ==140980== ==140980== Process terminating with default action of signal 4 (SIGILL) ==140980== Illegal opcode at address 0x4014B6F ==140980== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==140980== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==140980== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==140980== by 0x4004266: main (tool_main.c:199) === End of file valgrind1193 test 1222...[Verify deprecation statuses and versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/1/stdout1222 2> log/1/stderr1222 valgrind SKIPPED -------e--- OK (1145 out of 1725, remaining: 00:46, took 0.329s, duration: 01:30) test 1216...[HTTP cookie domains tailmatching the host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1216 ../src/curl -q --output log/7/curl1216.out --include --trace-ascii log/7/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/7/injar1216 -x 127.0.0.1:40545 > log/7/stdout1216 2> log/7/stderr1216 1216: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1216 ../src/curl -q --output log/7/curl1216.out --include --trace-ascii log/7/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/7/injar1216 -x 127.0.0.1:40545 > log/7/stdout1216 2> log/7/stderr1216 === End of file commands.log === Start of file http_server.log 14:54:21.664375 ====> Client connect 14:54:21.664410 accept_connection 3 returned 4 14:54:21.664428 accept_connection 3 returned 0 14:54:21.664444 Read 93 bytes 14:54:21.664456 Process 93 bytes request 14:54:21.664470 Got request: GET /verifiedserver HTTP/1.1 14:54:21.664481 Are-we-friendly question received 14:54:21.664505 Wrote request (93 bytes) input to log/7/server.input 14:54:21.664523 Identifying ourselves as friends 14:54:21.664579 Response sent (56 bytes) and written to log/7/server.response 14:54:21.664591 special request received, no persistency 14:54:21.664602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file injar1216 example.fake FALSE /a FALSE 22139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 22139150993 moo2 indeed example.fake TRUE /c FALSE 22139150993 moo3 indeed === End of file injar1216 === Start of file server.cmd Testnum 1216 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1216 ==141134== ==141134== Process terminating with default action of signal 4 (SIGILL) ==141134== Illegal opcode at address 0x4014B6F ==141134== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141134== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141134== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141134== by 0x4004266: main (tool_main.c:199) === End of file valgrind1216 startnew: ./server/servers mqttd --port 0 --pidfile log/10/server/mqtt_server.pid --portfile log/10/server/mqtt_server.port --config log/10/server.cmd --logfile log/10/mqtt_server.log --logdir log/10 RUN: MQTT server is now running PID 140193 on PORT 40041 * pid mqtt => 140193 140193 test 1198...[MQTT PUBLISH empty payload, single space topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1198 ../src/curl -q --output log/10/curl1198.out --include --trace log/10/trace1198 --trace-time mqtt://127.0.0.1:40041/%20 -d "" > log/10/stdout1198 2> log/10/stderr1198 1198: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1198 ../src/curl -q --output log/10/curl1198.out --include --trace log/10/trace1198 --trace-time mqtt://127.0.0.1:40041/%20 -d "" > log/10/stdout1198 2> log/10/stderr1198 === End of file commands.log === Start of file mqtt_server.log 14:54:20.914124 Running IPv4 version 14:54:20.914174 Listening on port 40041 14:54:20.914205 Wrote pid 140193 to log/10/server/mqtt_server.pid 14:54:20.914234 Wrote port 40041 to log/10/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1198 === End of file server.cmd === Start of file valgrind1198 ==141588== ==141588== Process terminating with default action of signal 4 (SIGILL) ==141588== Illegal opcode at address 0x4014B6F ==141588== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141588== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141588== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141588== by 0x4004266: main (tool_main.c:199) === End of file valgrind1198 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/4/server/gopher_server.pid" --logfile "log/4/gopher_server.log" --logdir "log/4" --portfile log/4/server/gopher_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 140195 port 46095 * pid gopherCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1201 ../src/curl -q --output log/12/curl1201.out --include --trace-ascii log/12/trace1201 --trace-time gopher://127.0.0.1:38485/1/selector/SELECTOR/1201 > log/12/stdout1201 2> log/12/stderr1201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1196 ../src/curl -q --output log/13/curl1196.out --include --trace log/13/trace1196 --trace-time mqtt://127.0.0.1:34813/1196 > log/13/stdout1196 2> log/13/stderr1196 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1194 ../src/curl -q --output log/5/curl1194.out --include --trace log/5/trace1194 --trace-time mqtt://127.0.0.1:42375/1194 > log/5/stdout1194 2> log/5/stderr1194 => 140195 140195 test 1200...[Gopher index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1200 ../src/curl -q --output log/4/curl1200.out --include --trace-ascii log/4/trace1200 --trace-time gopher://127.0.0.1:46095/1/1200 > log/4/stdout1200 2> log/4/stderr1200 1200: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1200 ../src/curl -q --output log/4/curl1200.out --include --trace-ascii log/4/trace1200 --trace-time gopher://127.0.0.1:46095/1/1200 > log/4/stdout1200 2> log/4/stderr1200 === End of file commands.log === Start of file gopher_server.log 14:54:20.942689 Running GOPHER IPv4 version on port 46095 14:54:20.942769 Wrote pid 140195 to log/4/server/gopher_server.pid 14:54:20.942796 Wrote port 46095 to log/4/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1200 === End of file server.cmd === Start of file valgrind1200 ==141616== ==141616== Process terminating with default action of signal 4 (SIGILL) ==141616== Illegal opcode at address 0x4014B6F ==141616== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141616== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141616== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141616== by 0x4004266: main (tool_main.c:199) === End of file valgrind1200 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/12/server/gopher_server.pid" --logfile "log/12/gopher_server.log" --logdir "log/12" --portfile log/12/server/gopher_server.port --config log/12/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 140205 port 38485 * pid gopher => 140205 140205 test 1201...[Gopher selector] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1201 ../src/curl -q --output log/12/curl1201.out --include --trace-ascii log/12/trace1201 --trace-time gopher://127.0.0.1:38485/1/selector/SELECTOR/1201 > log/12/stdout1201 2> log/12/stderr1201 1201: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1201 ../src/curl -q --output log/12/curl1201.out --include --trace-ascii log/12/trace1201 --trace-time gopher://127.0.0.1:38485/1/selector/SELECTOR/1201 > log/12/stdout1201 2> log/12/stderr1201 === End of file commands.log === Start of file gopher_server.log 14:54:20.947787 Running GOPHER IPv4 version on port 38485 14:54:20.947858 Wrote pid 140205 to log/12/server/gopher_server.pid 14:54:20.947885 Wrote port 38485 to log/12/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1201 === End of file server.cmd === Start of file valgrind1201 ==141642== ==141642== Process terminating with default action of signal 4 (SIGILL) ==141642== Illegal opcode at address 0x4014B6F ==141642== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141642== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141642== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141642== by 0x4004266: main (tool_main.c:199) === End of file valgrind1201 startnew: ./server/servers mqttd --port 0 --pidfile log/13/server/mqtt_server.pid --portfile log/13/server/mqtt_server.port --config log/13/server.cmd --logfile log/13/mqtt_server.log --logdir log/13 RUN: MQTT server is now running PID 140171 on PORT 34813 * pid mqtt => 140171 140171 test 1196...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1196 ../src/curl -q --output log/13/curl1196.out --include --trace log/13/trace1196 --trace-time mqtt://127.0.0.1:34813/1196 > log/13/stdout1196 2> log/13/stderr1196 1196: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1196 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1196 ../src/curl -q --output log/13/curl1196.out --include --trace log/13/trace1196 --trace-time mqtt://127.0.0.1:34813/1196 > log/13/stdout1196 2> log/13/stderr1196 === End of file commands.log === Start of file mqtt_server.log 14:54:20.852697 Running IPv4 version 14:54:20.852742 Listening on port 34813 14:54:20.852772 Wrote pid 140171 to log/13/server/mqtt_server.pid 14:54:20.852795 Wrote port 34813 to log/13/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 1 Testnum 1196 === End of file server.cmd === Start of file valgrind1196 ==141401== ==141401== Process terminating with default action of signal 4 (SIGILL) ==141401== Illegal opcode at address 0x4014B6F ==141401== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141401== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141401== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141401== by 0x4004266: main (tool_main.c:199) === End of file valgrind1196 startnew: ./server/servers mqttd --port 0 --pidfile log/5/server/mqtt_server.pid --portfile log/5/server/mqtt_server.port --config log/5/server.cmd --logfile log/5/mqtt_server.log --logdir log/5 RUN: MQTT server is now running PID 140167 on PORT 42375 * pid mqtt => 140167 140167 test 1194...[MQTT SUBSCRIBE with PUBLISH before SUBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1194 ../src/curl -q --output log/5/curl1194.out --include --trace log/5/trace1194 --trace-time mqtt://127.0.0.1:42375/1194 > log/5/stdout1194 2> log/5/stderr1194 1194: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1194 ../src/curl -q --output log/5/curl1194.out --include --trace log/5/trace1194 --trace-time mqtt://127.0.0.1:42375/1194 > log/5/stdout1194 2> log/5/stderr1194 === End of file commands.log === Start of file mqtt_server.log 14:54:20.814976 Running IPv4 version 14:54:20.815048 Listening on port 42375 14:54:20.815084 Wrote pid 140167 to log/5/server/mqtt_server.pid 14:54:20.815114 Wrote port 42375 to log/5/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE Testnum 1194 === End of file server.cmd === Start of file valgrind1194 ==141266== ==141266== Process terminating with default action of signal 4 (SIGILL) ==141266== Illegal opcode at address 0x4014B6F ==141266== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141266== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141266== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141266== by 0x4004266: main (toCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1220 ../src/curl -q --trace-ascii log/2/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test1220.txt?a_query=foobar#afragment > log/2/stdout1220 2> log/2/stderr1220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1218 ../src/curl -q --output log/20/curl1218.out --include --trace-ascii log/20/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39569 > log/20/stdout1218 2> log/20/stderr1218 ol_main.c:199) === End of file valgrind1194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:39303/1195 > log/15/stdout1195 2> log/15/stderr1195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:37705/1219 > log/14/stdout1219 2> log/14/stderr1219 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1217 ../src/curl -q --output log/17/curl1217.out --include --trace-ascii log/17/trace1217 --trace-time ftp://127.0.0.1:40705/get/file/1217 ftp://127.0.0.1:40705/get/file/again/1217 --ftp-method singlecwd > log/17/stdout1217 2> log/17/stderr1217 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39563 -d "" > log/21/stdout1199 2> log/21/stderr1199 test 1220...[file:// URLs with query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1220 ../src/curl -q --trace-ascii log/2/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test1220.txt?a_query=foobar#afragment > log/2/stdout1220 2> log/2/stderr1220 1220: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:22.798864736 +0000 +++ log/2/check-generated 2025-09-11 14:54:22.798864736 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/2/ dir after test 1220 === Start of file check-expected contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1220 ../src/curl -q --trace-ascii log/2/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test1220.txt?a_query=foobar#afragment > log/2/stdout1220 2> log/2/stderr1220 === End of file commands.log === Start of file server.cmd Testnum 1220 === End of file server.cmd === Start of file test1220.txt contents in a single file === End of file test1220.txt === Start of file valgrind1220 ==141278== ==141278== Process terminating with default action of signal 4 (SIGILL) ==141278== Illegal opcode at address 0x4014B6F ==141278== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141278== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141278== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141278== by 0x4004266: main (tool_main.c:199) === End of file valgrind1220 test 1219...[FTP with no user+password required (230 response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:37705/1219 > log/14/stdout1219 2> log/14/stderr1219 1219: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:37705/1219 > log/14/stdout1219 2> log/14/stderr1219 === End of file commands.log === Start of file ftp_server.log 14:54:21.736927 ====> Client connect 14:54:21.737118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:21.737477 < "USER anonymous" 14:54:21.737527 > "331 We are happy you popped in![CR][LF]" 14:54:21.737771 < "PASS ftp@example.com" 14:54:21.737801 > "230 Welcome you silly person[CR][LF]" 14:54:21.737989 < "PWD" 14:54:21.738025 > "257 "/" is current directory[CR][LF]" 14:54:21.738290 < "EPSV" 14:54:21.738320 ====> Passive DATA channel requested by client 14:54:21.738335 DATA sockfilt for passive data channel starting... 14:54:21.739848 DATA sockfilt for passive data channel started (pid 141261) 14:54:21.739953 DATA sockfilt for passive data channel listens on port 36961 14:54:21.739990 > "229 Entering Passive Mode (|||36961|)[LF]" 14:54:21.740007 Client has been notified that DATA conn will be accepted on port 36961 14:54:21.740247 Client connects to port 36961 14:54:21.740278 ====> Client established passive DATA connection on port 36961 14:54:21.740361 < "TYPE I" 14:54:21.740393 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:21.740562 < "SIZE verifiedserver" 14:54:21.740598 > "213 17[CR][LF]" 14:54:21.740747 < "RETR verifiedserver" 14:54:21.740777 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:21.740864 =====> Closing passive DATA connection... 14:54:21.740880 Server disconnects passive DATA connection 14:54:21.741115 Server disconnected passive DATA connection 14:54:21.741143 DATA sockfilt for passive data channel quits (pid 141261) 14:54:21.741328 DATA sockfilt for passive data channel quit (pid 141261) 14:54:21.741352 =====> Closed passive DATA connection 14:54:21.741379 > "226 File transfer complete[CR][LF]" 14:54:21.784577 < "QUIT" 14:54:21.784657 > "221 bye bye baby[CR][LF]" 14:54:21.784992 MAIN sockfilt said DISC 14:54:21.785053 ====> Client disconnected 14:54:21.785181 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:21.819619 ====> Client connect 14:54:21.819943 Received DATA (on stdin) 14:54:21.819959 > 160 bytes data, server => client 14:54:21.819973 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:21.819985 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:21.819996 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:21.820086 < 16 bytes data, client => server 14:54:21.820117 'USER anonymous\r\n' 14:54:21.820356 Received DATA (on stdin) 14:54:21.820373 > 33 bytes data, server => client 14:54:21.820386 '331 We are happy you popped in!\r\n' 14:54:21.820479 < 22 bytes data, client => server 14:54:21.820495 'PASS ftp@example.com\r\n' 14:54:21.820617 Received DATA (on stdin) 14:54:21.820631 > 30 bytes data, server => client 14:54:21.820644 '230 Welcome you silly person\r\n' 14:54:21.820702 < 5 bytes data, client => server 14:54:21.820717 'PWD\r\n' 14:54:21.820887 Received DATA (on stdin) 14:54:21.820909 > 30 bytes data, server => client 14:54:21.820921 '257 "/" is current directory\r\n' 14:54:21.820997 < 6 bytes data, client => server 14:54:21.821017 'EPSV\r\n' 14:54:21.822820 Received DATA (on stdin) 14:54:21.822833 > 38 bytes data, server => client 14:54:21.822844 '229 Entering Passive Mode (|||36961|)\n' 14:54:21.823000 < 8 bytes data, client => server 14:54:21.823014 'TYPE I\r\n' 14:54:21.823210 Received DATA (on stdin) 14:54:21.823224 > 33 bytes data, server => client 14:54:21.823236 '200 I modify TYPE as you wanted\r\n' 14:54:21.823287 < 21 bytes data, client => server 14:54:21.823300 'SIZE verifiedserver\r\n' 14:54:21.823410 Received DATA (on stdin) 14:54:21.823422 > 8 bytes data, server => client 14:54:21.823433 '213 17\r\n' 14:54:21.823478 < 21 bytes data, client => server 14:54:21.823490 'RETR verifiedserver\r\n' 14:54:21.823695 Received DATA (on stdin) 14:54:21.823708 > 29 bytes data, server => client 14:54:21.823720 '150 Binary junk (17 bytes).\r\n' 14:54:21.824194 Received DATA (on stdin) 14:54:21.824208 > 28 bytes data, server => client 14:54:21.824220 '226 File transfer complete\r\n' 14:54:21.867084 < 6 bytes data, client => server 14:54:21.867127 'QUIT\r\n' 14:54:21.867479 Received DATA (on stdin) 14:54:21.867493 > 18 bytes data, server => client 14:54:21.867504 '221 bye bye baby\r\n' 14:54:21.867716 ====> Client disconnect 14:54:21.867943 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:21.822493 Running IPv4 version 14:54:21.822555 Listening on port 36961 14:54:21.822590 Wrote pid 141261 to log/14/server/ftp_sockdata.pid 14:54:21.822607 Received PING (on stdin) 14:54:21.822683 Received PORT (on stdin) 14:54:21.822953 ====> Client connect 14:54:21.823746 Received DATA (on stdin) 14:54:21.823760 > 17 bytes data, server => client 14:54:21.823772 'WE ROOLZ: 80387\r\n' 14:54:21.823795 Received DISC (on stdin) 14:54:21.823808 ====> Client forcibly disconnected 14:54:21.823964 Received QUIT (on stdin) 14:54:21.823976 quits 14:54:21.824023 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 welcome without password Testnum 1219 === End of file server.cmd === Start of file valgrind1219 ==141470== ==141470== Process terminating with default action of signal 4 (SIGILL) ==141470== Illegal opcode at address 0x4014B6F ==141470== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141470== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141470== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141470== by 0x4004266: main (tool_main.c:199) === End of file valgrind1219 startnew: ./server/servers mqttd --port 0 --pidfile log/15/server/mqtt_server.pid --portfile log/15/server/mqtt_server.port --config log/15/server.cmd --logfile log/15/mqtt_server.log --logdir log/15 RUN: MQTT server is now running PID 140170 on PORT 39303 * pid mqtt => 140170 140170 test 1195...[MQTT SUBSCRIBE with short PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:39303/1195 > log/15/stdout1195 2> log/15/stderr1195 1195: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:39303/1195 > log/15/stdout1195 2> log/15/stderr1195 === End of file commands.log === Start of file mqtt_server.log 14:54:20.849170 Running IPv4 version 14:54:20.849216 Listening on port 39303 14:54:20.849246 Wrote pid 140170 to log/15/server/mqtt_server.pid 14:54:20.849267 Wrote port 39303 to log/15/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE short-PUBLISH TRUE Testnum 1195 === End of file server.cmd === Start of file valgrind1195 ==141391== ==141391== Process terminating with default action of signal 4 (SIGILL) ==141391== Illegal opcode at address 0x4014B6F ==141391== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141391== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141391== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141391== by 0x4004266: main (tool_main.c:199) === End of file valgrind1195 test 1217...[FTP with rubbish before name in 257-response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1217 ../src/curl -q --output log/17/curl1217.out --include --trace-ascii log/17/trace1217 --trace-time ftp://127.0.0.1:40705/get/file/1217 ftp://127.0.0.1:40705/get/file/again/1217 --ftp-method singlecwd > log/17/stdout1217 2> log/17/stderr1217 1217: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1217 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1217 ../src/curl -q --output log/17/curl1217.out --include --trace-ascii log/17/trace1217 --trace-time ftp://127.0.0.1:40705/get/file/1217 ftp://127.0.0.1:40705/get/file/again/1217 --ftp-method singlecwd > log/17/stdout1217 2> log/17/stderr1217 === End of file commands.log === Start of file ftp_server.log 14:54:21.716595 ====> Client connect 14:54:21.716750 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:21.717077 < "USER anonymous" 14:54:21.717112 > "331 We are happy you popped in![CR][LF]" 14:54:21.717295 < "PASS ftp@example.com" 14:54:21.717321 > "230 Welcome you silly person[CR][LF]" 14:54:21.717478 < "PWD" 14:54:21.717506 > "257 "/" is current directory[CR][LF]" 14:54:21.717669 < "EPSV" 14:54:21.717693 ====> Passive DATA channel requested by client 14:54:21.717707 DATA sockfilt for passive data channel starting... 14:54:21.719318 DATA sockfilt for passive data channel started (pid 141230) 14:54:21.719421 DATA sockfilt for passive data channel listens on port 35579 14:54:21.719456 > "229 Entering Passive Mode (|||35579|)[LF]" 14:54:21.719474 Client has been notified that DATA conn will be accepted on port 35579 14:54:21.719666 Client connects to port 35579 14:54:21.719690 ====> Client established passive DATA connection on port 35579 14:54:21.719754 < "TYPE I" 14:54:21.719779 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:21.719902 < "SIZE verifiedserver" 14:54:21.719932 > "213 17[CR][LF]" 14:54:21.720047 < "RETR verifiedserver" 14:54:21.720076 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:21.720135 =====> Closing passive DATA connection... 14:54:21.720147 Server disconnects passive DATA connection 14:54:21.720254 Server disconnected passive DATA connection 14:54:21.720277 DATA sockfilt for passive data channel quits (pid 141230) 14:54:21.721220 DATA sockfilt for passive data channel quit (pid 141230) 14:54:21.721248 =====> Closed passive DATA connection 14:54:21.721276 > "226 File transfer complete[CR][LF]" 14:54:21.764205 < "QUIT" 14:54:21.764260 > "221 bye bye baby[CR][LF]" 14:54:21.764683 MAIN sockfilt said DISC 14:54:21.764713 ====> Client disconnected 14:54:21.764797 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:21.799282 ====> Client connect 14:54:21.799575 Received DATA (on stdin) 14:54:21.799591 > 160 bytes data, server => client 14:54:21.799604 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:21.799616 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:21.799627 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:21.799740 < 16 bytes data, client => server 14:54:21.799753 'USER anonymous\r\n' 14:54:21.799928 Received DATA (on stdin) 14:54:21.799942 > 33 bytes data, server => client 14:54:21.799955 '331 We are happy you popped in!\r\n' 14:54:21.800017 < 22 bytes data, client => server 14:54:21.800030 'PASS ftp@example.com\r\n' 14:54:21.800133 Received DATA (on stdin) 14:54:21.800147 > 30 bytes data, server => client 14:54:21.800159 '230 Welcome you silly person\r\n' 14:54:21.800206 < 5 bytes data, client => server 14:54:21.800218 'PWD\r\n' 14:54:21.800317 Received DATA (on stdin) 14:54:21.800330 > 30 bytes data, server => client 14:54:21.800342 '257 "/" is current directory\r\n' 14:54:21.800398 < 6 bytes data, client => server 14:54:21.800410 'EPSV\r\n' 14:54:21.802289 Received DATA (on stdin) 14:54:21.802304 > 38 bytes data, server => client 14:54:21.802313 '229 Entering Passive Mode (|||35579|)\n' 14:54:21.802432 < 8 bytes data, client => server 14:54:21.802442 'TYPE I\r\n' 14:54:21.802587 Received DATA (on stdin) 14:54:21.802597 > 33 bytes data, server => client 14:54:21.802606 '200 I modify TYPE as you wanted\r\n' 14:54:21.802645 < 21 bytes data, client => server 14:54:21.802654 'SIZE verifiedserver\r\n' 14:54:21.802739 Received DATA (on stdin) 14:54:21.802748 > 8 bytes data, server => client 14:54:21.802757 '213 17\r\n' 14:54:21.802792 < 21 bytes data, client => server 14:54:21.802801 'RETR verifiedserver\r\n' 14:54:21.803003 Received DATA (on stdin) 14:54:21.803017 > 29 bytes data, server => client 14:54:21.803029 '150 Binary junk (17 bytes).\r\n' 14:54:21.804091 Received DATA (on stdin) 14:54:21.804106 > 28 bytes data, server => client 14:54:21.804117 '226 File transfer complete\r\n' 14:54:21.846800 < 6 bytes data, client => server 14:54:21.846840 'QUIT\r\n' 14:54:21.847082 Received DATA (on stdin) 14:54:21.847097 > 18 bytes data, server => client 14:54:21.847109 '221 bye bye baby\r\n' 14:54:21.847440 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1202 ../src/curl -q --output log/23/curl1202.out --include --trace-ascii log/23/trace1202 --trace-time "gopher://127.0.0.1:43399/7/the/search/engine%09query%20succeeded/1202" > log/23/stdout1202 2> log/23/stderr1202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1203 ../src/curl -q --output log/16/curl1203.out --include --trace-ascii log/16/trace1203 --trace-time -g gopher://[::1]:42763/1/moo/1203 > log/16/stdout1203 2> log/16/stderr1203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1221 ../src/curl -q --output log/19/curl1221.out --include --trace-ascii log/19/trace1221 --trace-time http://127.0.0.1:33805/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/19/1221.txt" --url-query @log/19/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/19/stdout1221 2> log/19/stderr1221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1223 ../src/curl -q --include --trace-ascii log/22/trace1223 --trace-time http://127.0.0.1:42027/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/22/stdout1223 2> log/22/stderr1223 ==> Client disconnect 14:54:21.847612 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:21.801988 Running IPv4 version 14:54:21.802035 Listening on port 35579 14:54:21.802063 Wrote pid 141230 to log/17/server/ftp_sockdata.pid 14:54:21.802079 Received PING (on stdin) 14:54:21.802154 Received PORT (on stdin) 14:54:21.802409 ====> Client connect 14:54:21.802956 Received DATA (on stdin) 14:54:21.802967 > 17 bytes data, server => client 14:54:21.802976 'WE ROOLZ: 91632\r\n' 14:54:21.803007 Received DISC (on stdin) 14:54:21.803020 ====> Client forcibly disconnected 14:54:21.803095 Received QUIT (on stdin) 14:54:21.803108 quits 14:54:21.803156 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 there is rubbish all over "/this/is/the/path" Testnum 1217 === End of file server.cmd === Start of file valgrind1217 ==141393== ==141393== Process terminating with default action of signal 4 (SIGILL) ==141393== Illegal opcode at address 0x4014B6F ==141393== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141393== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141393== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141393== by 0x4004266: main (tool_main.c:199) === End of file valgrind1217 test 1218...[HTTP cookies and domains with same prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1218 ../src/curl -q --output log/20/curl1218.out --include --trace-ascii log/20/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39569 > log/20/stdout1218 2> log/20/stderr1218 1218: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1218 ../src/curl -q --output log/20/curl1218.out --include --trace-ascii log/20/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39569 > log/20/stdout1218 2> log/20/stderr1218 === End of file commands.log === Start of file http_server.log 14:54:21.800009 ====> Client connect 14:54:21.800035 accept_connection 3 returned 4 14:54:21.800049 accept_connection 3 returned 0 14:54:21.800061 Read 93 bytes 14:54:21.800069 Process 93 bytes request 14:54:21.800081 Got request: GET /verifiedserver HTTP/1.1 14:54:21.800089 Are-we-friendly question received 14:54:21.800110 Wrote request (93 bytes) input to log/20/server.input 14:54:21.800124 Identifying ourselves as friends 14:54:21.800174 Response sent (56 bytes) and written to log/20/server.response 14:54:21.800183 special request received, no persistency 14:54:21.800191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1218 ==141244== ==141244== Process terminating with default action of signal 4 (SIGILL) ==141244== Illegal opcode at address 0x4014B6F ==141244== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141244== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141244== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141244== by 0x4004266: main (tool_main.c:199) === End of file valgrind1218 startnew: ./server/servers mqttd --port 0 --pidfile log/21/server/mqtt_server.pid --portfile log/21/server/mqtt_server.port --config log/21/server.cmd --logfile log/21/mqtt_server.log --logdir log/21 RUN: MQTT server is now running PID 140192 on PORT 39563 * pid mqtt => 140192 140192 test 1199...[MQTT PUBLISH empty payload, no topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39563 -d "" > log/21/stdout1199 2> log/21/stderr1199 1199: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39563 -d "" > log/21/stdout1199 2> log/21/stderr1199 === End of file commands.log === Start of file mqtt_server.log 14:54:20.914488 Running IPv4 version 14:54:20.914568 Listening on port 39563 14:54:20.914605 Wrote pid 140192 to log/21/server/mqtt_server.pid 14:54:20.914636 Wrote port 39563 to log/21/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1199 === End of file server.cmd === Start of file valgrind1199 ==141587== ==141587== Process terminating with default action of signal 4 (SIGILL) ==141587== Illegal opcode at address 0x4014B6F ==141587== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141587== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141587== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141587== by 0x4004266: main (tool_main.c:199) === End of file valgrind1199 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/23/server/gopher_server.pid" --logfile "log/23/gopher_server.log" --logdir "log/23" --portfile log/23/server/gopher_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 140246 port 43399 * pid gopher => 140246 140246 test 1202...[Gopher query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1202 ../src/curl -q --output log/23/curl1202.out --include --trace-ascii log/23/trace1202 --trace-time "gopher://127.0.0.1:43399/7/the/search/engine%09query%20succeeded/1202" > log/23/stdout1202 2> log/23/stderr1202 1202: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1202 ../src/curl -q --output log/23/curl1202.out --include --trace-ascii log/23/trace1202 --trace-time "gopher://127.0.0.1:43399/7/the/search/engine%09query%20succeeded/1202" > log/23/stdout1202 2> log/23/stderr1202 === End of file commands.log === Start of file gopher_server.log 14:54:20.029045 Running GOPHER IPv4 version on port 43399 14:54:20.029135 Wrote pid 140246 to log/23/server/gopher_server.pid 14:54:20.029169 Wrote port 43399 to log/23/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1202 === End of file server.cmd === Start of file valgrind1202 ==141815== ==141815== Process terminating with default action of signal 4 (SIGILL) ==141815== Illegal opcode at address 0x4014B6F ==141815== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141815== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141815== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141815== by 0x4004266: main (tool_main.c:199) === End of file valgrind1202 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/16/server/gopher_ipv6_server.pid" --logfile "log/16/gopher_ipv6_server.log" --logdir "log/16" --portfile log/16/server/gopher_ipv6_server.port --config log/16/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER-IPv6 server is on PID 140247 port 42763 * pid gopher-ipv6 => 140247 140247 test 1203...[Gopher IPv6 index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1203 ../src/curl -q --output log/16/curl1203.out --include --trace-ascii log/16/trace1203 --trace-time -g gopher://[::1]:42763/1/moo/1203 > log/16/stdout1203 2> log/16/stderr1203 1203: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1203 ../src/curl -q --output log/16/curl1203.out --include --trace-ascii log/16/trace1203 --trace-time -g gopher://[::1]:42763/1/moo/1203 > log/16/stdout1203 2> log/16/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 14:54:20.039796 Running GOPHER IPv6 version on port 42763 14:54:20.039881 Wrote pid 140247 to log/16/server/gopher_ipv6_server.pid 14:54:20.039940 Wrote port 42763 to log/16/server/gopher_ipv6_server.port === End of file gopher_ipv6_server.log === Start of file server.cmd Testnum 1203 === End of file server.cmd === Start of file valgrind1203 ==141824== ==141824== Process terminating with default action of signal 4 (SIGILL) ==141824== Illegal opcode at address 0x4014B6F ==141824== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141824== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141824== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141824== by 0x4004266: main (tool_main.c:199) === End of file valgrind1203 test 1221...[--url-query with --data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1221 ../src/curl -q --output log/19/curl1221.out --include --trace-ascii log/19/trace1221 --trace-time http://127.0.0.1:33805/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/19/1221.txt" --url-query @log/19/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/19/stdout1221 2> log/19/stderr1221 1221: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1221 === Start of file 1221.txt content to _?!#$'|<> === End of file 1221.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1221 ../src/curl -q --output log/19/curl1221.out --include --trace-ascii log/19/trace1221 --trace-time http://127.0.0.1:33805/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/19/1221.txt" --url-query @log/19/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/19/stdout1221 2> log/19/stderr1221 === End of file commands.log === Start of file http_server.log 14:54:21.029167 ====> Client connect 14:54:21.029229 accept_connection 3 returned 4 14:54:21.029249 accept_connection 3 returned 0 14:54:21.029268 Read 93 bytes 14:54:21.029279 Process 93 bytes request 14:54:21.029294 Got request: GET /verifiedserver HTTP/1.1 14:54:21.029305 Are-we-friendly question received 14:54:21.029330 Wrote request (93 bytes) input to log/19/server.input 14:54:21.029348 Identifying ourselves as friends 14:54:21.029462 Response sent (56 bytes) and written to log/19/server.response 14:54:21.029475 special request received, no persistency 14:54:21.029486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1221 ==141843== ==141843== Process terminating with default action of signal 4 (SIGILL) ==141843== Illegal opcode at address 0x4014B6F ==141843== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141843== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141843== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141843== by 0x4004266: main (tool_main.c:199) === End of file valgrind1221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1224 ../src/curl -q --output log/9/curl1224.out --include --trace-ascii log/9/trace1224 --trace-time ftp://127.0.0.1:37027//1224 > log/9/stdout1224 2> log/9/stderr1224 test 1223...[HTTP GET -w remote_ip and -w remote_port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1223 ../src/curl -q --include --trace-ascii log/22/trace1223 --trace-time http://127.0.0.1:42027/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/22/stdout1223 2> log/22/stderr1223 1223: stdout FAILED: --- log/22/check-expected 2025-09-11 14:54:22.968864740 +0000 +++ log/22/check-generated 2025-09-11 14:54:22.968864740 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 4[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -hej[LF] -IP 127.0.0.1 and PORT 42027[LF] == Contents of files in the log/22/ dir after test 1223 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 4[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] hej[LF] IP 127.0.0.1 and PORT 42027[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1223 ../src/curl -q --include --trace-ascii log/22/trace1223 --trace-time http://127.0.0.1:42027/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/22/stdout1223 2> log/22/stderr1223 === End of file commands.log === Start of file http_server.log 14:54:22.034103 ====> Client connect 14:54:22.034138 accept_connection 3 returned 4 14:54:22.034157 accept_connection 3 returned 0 14:54:22.034173 Read 93 bytes 14:54:22.034185 Process 93 bytes request 14:54:22.034198 Got request: GET /verifiedserver HTTP/1.1 14:54:22.034209 Are-we-friendly question received 14:54:22.034235 Wrote request (93 bytes) input to log/22/server.input 14:54:22.034253 Identifying ourselves as friends 14:54:22.034317 Response sent (56 bytes) and written to log/22/server.response 14:54:22.034329 special request received, no persistency 14:54:22.034340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 50050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1223 ==141885== ==141885== Process terminating with default action of signal 4 (SIGILL) ==141885== Illegal opcode at address 0x4014B6F ==141885== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==141885== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==141885== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==141885== by 0x4004266: main (tool_main.c:199) === End of file valgrind1223 test 1224...[FTP fetch a file from the root directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1224 ../src/curl -q --output log/9/curl1224.out --include --trace-ascii log/9/trace1224 --trace-time ftp://127.0.0.1:37027//1224 > log/9/stdout1224 2> log/9/stderr1224 1224: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1224 ../src/curl -q --output log/9/curl1224.out --include --trace-ascii log/9/trace1224 --trace-time ftp://127.0.0.1:37027//1224 > log/9/stdout1224 2> log/9/stderr1224 === End of file commands.log === Start of file ftp_server.log 14:54:21.988223 ====> Client connect 14:54:21.988351 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:21.988583 < "USER anonymous" 14:54:21.988615 > "331 We are happy you popped in![CR][LF]" 14:54:21.988747 < "PASS ftp@example.com" 14:54:21.988765 > "230 Welcome you silly person[CR][LF]" 14:54:21.988883 < "PWD" 14:54:21.988906 > "257 "/" is current directory[CR][LF]" 14:54:21.989028 < "EPSV" 14:54:21.989047 ====> Passive DATA channel requested by client 14:54:21.989057 DATA sockfilt for passive data channel starting... 14:54:21.990929 DATA sockfilt for passive data channel started (pid 141964) 14:54:21.991048 DATA sockfilt for passive data channel listens on port 44139 14:54:21.991087 > "229 Entering Passive Mode (|||44139|)[LF]" 14:54:21.991107 Client has been notified that DATA conn will be accepted on port 44139 14:54:21.991301 Client connects to port 44139 14:54:21.991333 ====> Client established passive DATA connection on port 44139 14:54:21.991449 < "TYPE I" 14:54:21.991479 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:21.991635 < "SIZE verifiedserver" 14:54:21.991667 > "213 17[CR][LF]" 14:54:21.991821 < "RETR verifiedserver" 14:54:21.991852 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:21.991935 =====> Closing passive DATA connection... 14:54:21.991953 Server disconnects passive DATA connection 14:54:21.992199 Server disconnected passive DATA connection 14:54:21.992228 DATA sockfilt for passive data channel quits (pid 141964) 14:54:21.992483 DATA sockfilt for passive data channel quit (pid 141964) 14:54:21.992508 =====> Closed passive DATA connection 14:54:21.992571 > "226 File transfer complete[CR][LF]" 14:54:22.033855 < "QUIT" 14:54:22.033904 > "221 bye bye baby[CR][LF]" 14:54:22.034974 MAIN sockfilt said DISC 14:54:22.035014 ====> Client disconnected 14:54:22.035074 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:22.070926 ====> Client connect 14:54:22.071170 Received DATA (on stdin) 14:54:22.071182 > 160 bytes data, server => client 14:54:22.071193 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:22.071202 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:22.071211 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:22.071271 < 16 bytes data, client => server 14:54:22.071281 'USER anonymous\r\n' 14:54:22.071425 Received DATA (on stdin) 14:54:22.071435 > 33 bytes data, server => client 14:54:22.071445 '331 We are happy you popped in!\r\n' 14:54:22.071486 < 22 bytes data, client => server 14:54:22.071496 'PASS ftp@example.com\r\n' 14:54:22.071572 Received DATA (on stdin) 14:54:22.071582 > 30 bytes data, server => client 14:54:22.071591 '230 Welcome you silly person\r\n' 14:54:22.071627 < 5 bytes data, client => server 14:54:22.071636 'PWD\r\n' 14:54:22.071712 Received DATA (on stdin) 14:54:22.071722 > 30 bytes data, server => client 14:54:22.071731 '257 "/" is current directory\r\n' 14:54:22.071773 < 6 bytes data, client => server 14:54:22.071782 'EPSV\r\n' 14:54:22.073923 Received DATA (on stdin) 14:54:22.073937 > 38 bytes data, server => client 14:54:22.073949 '229 Entering Passive Mode (|||44139|)\n' 14:54:22.074162 < 8 bytes data, client => server 14:54:22.074175 'TYPE I\r\n' 14:54:22.074292 Received DATA (on stdin) 14:54:22.074305 > 33 bytes data, server => client 14:54:22.074316 '200 I modify TYPE as you wanted\r\n' 14:54:22.074366 < 21 bytes data, client => server 14:54:22.074378 'SIZE verifiedserver\r\n' 14:54:22.074478 Received DATA (on stdin) 14:54:22.074490 > 8 bytes data, server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1229 ../src/curl -q --output log/24/curl1229.out --include --trace-ascii log/24/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34449/1229 --digest > log/24/stdout1229 2> log/24/stderr1229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1225 ../src/curl -q --output log/11/curl1225.out --include --trace-ascii log/11/trace1225 --trace-time ftp://127.0.0.1:34519//foo/1225 ftp://127.0.0.1:34519//foo/bar/1225 > log/11/stdout1225 2> log/11/stderr1225 => client 14:54:22.074501 '213 17\r\n' 14:54:22.074549 < 21 bytes data, client => server 14:54:22.074562 'RETR verifiedserver\r\n' 14:54:22.074767 Received DATA (on stdin) 14:54:22.074781 > 29 bytes data, server => client 14:54:22.074793 '150 Binary junk (17 bytes).\r\n' 14:54:22.075327 Received DATA (on stdin) 14:54:22.075342 > 28 bytes data, server => client 14:54:22.075384 '226 File transfer complete\r\n' 14:54:22.116505 < 6 bytes data, client => server 14:54:22.116529 'QUIT\r\n' 14:54:22.116721 Received DATA (on stdin) 14:54:22.116735 > 18 bytes data, server => client 14:54:22.116746 '221 bye bye baby\r\n' 14:54:22.117443 ====> Client disconnect 14:54:22.117884 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:21.073434 Running IPv4 version 14:54:21.073493 Listening on port 44139 14:54:21.073534 Wrote pid 141964 to log/9/server/ftp_sockdata.pid 14:54:21.073680 Received PING (on stdin) 14:54:21.073772 Received PORT (on stdin) 14:54:21.074058 ====> Client connect 14:54:21.074821 Received DATA (on stdin) 14:54:21.074835 > 17 bytes data, server => client 14:54:21.074847 'WE ROOLZ: 80262\r\n' 14:54:21.074870 Received DISC (on stdin) 14:54:21.074883 ====> Client forcibly disconnected 14:54:21.075051 Received QUIT (on stdin) 14:54:21.075064 quits 14:54:21.075127 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==142087== ==142087== Process terminating with default action of signal 4 (SIGILL) ==142087== Illegal opcode at address 0x4014B6F ==142087== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142087== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142087== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142087== by 0x4004266: main (tool_main.c:199) === End of file valgrind1224 test 1225...[FTP fetch two files using absolute paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1225 ../src/curl -q --output log/11/curl1225.out --include --trace-ascii log/11/trace1225 --trace-time ftp://127.0.0.1:34519//foo/1225 ftp://127.0.0.1:34519//foo/bar/1225 > log/11/stdout1225 2> log/11/stderr1225 1225: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1225 ../src/curl -q --output log/11/curl1225.out --include --trace-ascii log/11/trace1225 --trace-time ftp://127.0.0.1:34519//foo/1225 ftp://127.0.0.1:34519//foo/bar/1225 > log/11/stdout1225 2> log/11/stderr1225 === End of file commands.log === Start of file ftp_server.log 14:54:22.001798 ====> Client connect 14:54:22.001962 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:22.002260 < "USER anonymous" 14:54:22.002294 > "331 We are happy you popped in![CR][LF]" 14:54:22.002472 < "PASS ftp@example.com" 14:54:22.002500 > "230 Welcome you silly person[CR][LF]" 14:54:22.002658 < "PWD" 14:54:22.002689 > "257 "/" is current directory[CR][LF]" 14:54:22.002857 < "EPSV" 14:54:22.002882 ====> Passive DATA channel requested by client 14:54:22.002897 DATA sockfilt for passive data channel starting... 14:54:22.005016 DATA sockfilt for passive data channel started (pid 142002) 14:54:22.005138 DATA sockfilt for passive data channel listens on port 37875 14:54:22.005178 > "229 Entering Passive Mode (|||37875|)[LF]" 14:54:22.005197 Client has been notified that DATA conn will be accepted on port 37875 14:54:22.005427 Client connects to port 37875 14:54:22.005456 ====> Client established passive DATA connection on port 37875 14:54:22.005533 < "TYPE I" 14:54:22.005562 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:22.005724 < "SIZE verifiedserver" 14:54:22.005757 > "213 17[CR][LF]" 14:54:22.005913 < "RETR verifiedserver" 14:54:22.005946 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:22.006028 =====> Closing passive DATA connection... 14:54:22.006044 Server disconnects passive DATA connection 14:54:22.006296 Server disconnected passive DATA connection 14:54:22.006326 DATA sockfilt for passive data channel quits (pid 142002) 14:54:22.006563 DATA sockfilt for passive data channel quit (pid 142002) 14:54:22.006588 =====> Closed passive DATA connection 14:54:22.006612 > "226 File transfer complete[CR][LF]" 14:54:22.047499 < "QUIT" 14:54:22.047559 > "221 bye bye baby[CR][LF]" 14:54:22.047918 MAIN sockfilt said DISC 14:54:22.047970 ====> Client disconnected 14:54:22.048051 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:22.084494 ====> Client connect 14:54:22.084787 Received DATA (on stdin) 14:54:22.084803 > 160 bytes data, server => client 14:54:22.084818 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:22.084830 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:22.084842 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:22.084917 < 16 bytes data, client => server 14:54:22.084931 'USER anonymous\r\n' 14:54:22.085113 Received DATA (on stdin) 14:54:22.085127 > 33 bytes data, server => client 14:54:22.085139 '331 We are happy you popped in!\r\n' 14:54:22.085194 < 22 bytes data, client => server 14:54:22.085207 'PASS ftp@example.com\r\n' 14:54:22.085312 Received DATA (on stdin) 14:54:22.085325 > 30 bytes data, server => client 14:54:22.085337 '230 Welcome you silly person\r\n' 14:54:22.085386 < 5 bytes data, client => server 14:54:22.085398 'PWD\r\n' 14:54:22.085501 Received DATA (on stdin) 14:54:22.085514 > 30 bytes data, server => client 14:54:22.085526 '257 "/" is current directory\r\n' 14:54:22.085585 < 6 bytes data, client => server 14:54:22.085598 'EPSV\r\n' 14:54:22.088015 Received DATA (on stdin) 14:54:22.088030 > 38 bytes data, server => client 14:54:22.088042 '229 Entering Passive Mode (|||37875|)\n' 14:54:22.088156 < 8 bytes data, client => server 14:54:22.088172 'TYPE I\r\n' 14:54:22.088375 Received DATA (on stdin) 14:54:22.088389 > 33 bytes data, server => client 14:54:22.088401 '200 I modify TYPE as you wanted\r\n' 14:54:22.088452 < 21 bytes data, client => server 14:54:22.088464 'SIZE verifiedserver\r\n' 14:54:22.088569 Received DATA (on stdin) 14:54:22.088582 > 8 bytes data, server => client 14:54:22.088594 '213 17\r\n' 14:54:22.088642 < 21 bytes data, client => server 14:54:22.088655 'RETR verifiedserver\r\n' 14:54:22.088860 Received DATA (on stdin) 14:54:22.088873 > 29 bytes data, server => client 14:54:22.088886 '150 Binary junk (17 bytes).\r\n' 14:54:22.089425 Received DATA (on stdin) 14:54:22.089438 > 28 bytes data, server => client 14:54:22.089450 '226 File transfer complete\r\n' 14:54:22.130109 < 6 bytes data, client => server 14:54:22.130140 'QUIT\r\n' 14:54:22.130377 Received DATA (on stdin) 14:54:22.130391 > 18 bytes data, server => client 14:54:22.130403 '221 bye bye baby\r\n' 14:54:22.130650 ====> Client disconnect 14:54:22.130867 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:22.087238 Running IPv4 version 14:54:22.087296 Listening on port 37875 14:54:22.087344 Wrote pid 142002 to log/11/server/ftp_sockdata.pid 14:54:22.087643 Received PING (on stdin) 14:54:22.087863 Received PORT (on stdin) 14:54:22.088193 ====> Client connect 14:54:22.088913 Received DATA (on stdin) 14:54:22.088928 > 17 bytes data, server => client 14:54:22.088940 'WE ROOLZ: 80346\r\n' 14:54:22.088964 Received DISC (on stdin) 14:54:22.088977 ====> Client forcibly disconnected 14:54:22.089148 Received QUIT (on stdin) 14:54:22.089161 quits CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1227 ../src/curl -q --output log/18/curl1227.out --include --trace-ascii log/18/trace1227 --trace-time ftp://127.0.0.1:41069//1227 --ftp-method nocwd > log/18/stdout1227 2> log/18/stderr1227 14:54:22.089220 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==142127== ==142127== Process terminating with default action of signal 4 (SIGILL) ==142127== Illegal opcode at address 0x4014B6F ==142127== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142127== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142127== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142127== by 0x4004266: main (tool_main.c:199) === End of file valgrind1225 test 1229...[HTTP with Digest authorization with user name needing escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1229 ../src/curl -q --output log/24/curl1229.out --include --trace-ascii log/24/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34449/1229 --digest > log/24/stdout1229 2> log/24/stderr1229 1229: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1229 ../src/curl -q --output log/24/curl1229.out --include --trace-ascii log/24/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34449/1229 --digest > log/24/stdout1229 2> log/24/stderr1229 === End of file commands.log === Start of file http_server.log 14:54:22.143834 ====> Client connect 14:54:22.143866 accept_connection 3 returned 4 14:54:22.143883 accept_connection 3 returned 0 14:54:22.143898 Read 93 bytes 14:54:22.143910 Process 93 bytes request 14:54:22.143923 Got request: GET /verifiedserver HTTP/1.1 14:54:22.143934 Are-we-friendly question received 14:54:22.143959 Wrote request (93 bytes) input to log/24/server.input 14:54:22.143976 Identifying ourselves as friends 14:54:22.144029 Response sent (56 bytes) and written to log/24/server.response 14:54:22.144040 special request received, no persistency 14:54:22.144051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1229 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1229 ==142194== ==142194== Process terminating with default action of signal 4 (SIGILL) ==142194== Illegal opcode at address 0x4014B6F ==142194== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142194== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142194== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142194== by 0x4004266: main (tool_main.c:199) === End of file valgrind1229 test 1227...[FTP fetch a file from the root directory with nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1227 ../src/curl -q --output log/18/curl1227.out --include --trace-ascii log/18/trace1227 --trace-time ftp://127.0.0.1:41069//1227 --ftp-method nocwd > log/18/stdout1227 2> log/18/stderr1227 1227: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1227 ../src/curl -q --output log/18/curl1227.out --include --trace-ascii log/18/trace1227 --trace-time ftp://127.0.0.1:41069//1227 --ftp-method nocwd > log/18/stdout1227 2> log/18/stderr1227 === End of file commands.log === Start of file ftp_server.log 14:54:22.051015 ====> Client connect 14:54:22.051161 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:22.051427 < "USER anonymous" 14:54:22.051460 > "331 We are happy you popped in![CR][LF]" 14:54:22.051631 < "PASS ftp@example.com" 14:54:22.051656 > "230 Welcome you silly person[CR][LF]" 14:54:22.051797 < "PWD" 14:54:22.051825 > "257 "/" is current directory[CR][LF]" 14:54:22.051976 < "EPSV" 14:54:22.052000 ====> Passive DATA channel requested by client 14:54:22.052014 DATA sockfilt for passive data channel starting... 14:54:22.054009 DATA sockfilt for passive data channel started (pid 142116) 14:54:22.054164 DATA sockfilt for passive data channel listens on port 36615 14:54:22.054215 > "229 Entering Passive Mode (|||36615|)[LF]" 14:54:22.054237 Client has been notified that DATA conn will be accepted on port 36615 14:54:22.054500 Client connects to port 36615 14:54:22.054532 ====> Client established passive DATA connection on port 36615 14:54:22.054625 < "TYPE I" 14:54:22.054661 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:22.054847 < "SIZE verifiedserver" 14:54:22.054883 > "213 17[CR][LF]" 14:54:22.055042 < "RETR verifiedserver" 14:54:22.055078 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:22.055164 =====> Closing passive DATA connection... 14:54:22.055182 Server disconnects passive DATA connection 14:54:22.055314 Server disconnected passive DATA connection 14:54:22.055340 DATA sockfilt for passive data channel quits (pid 142116) 14:54:22.055553 DATA sockfilt for passive data channel quit (pid 142116) 14:54:22.055580 =====> Closed passive DATA connection 14:54:22.055611 > "226 File transfer complete[CR][LF]" 14:54:22.100040 < "QUIT" 14:54:22.100097 > "221 bye bye baby[CR][LF]" 14:54:22.102145 MAIN sockfilt said DISC 14:54:22.102188 ====> Client disconnected 14:54:22.102267 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:22.133724 ====> Client connect 14:54:22.133983 Received DATA (on stdin) 14:54:22.133998 > 160 bytes data, server => client 14:54:22.134010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:22.134021 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:22.134032 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:22.134097 < 16 bytes data, client => server 14:54:22.134110 'USER anonymous\r\n' 14:54:22.134276 Received DATA (on stdin) 14:54:22.134289 > 33 bytes data, server => client 14:54:22.134302 '331 We are happy you popped in!\r\n' 14:54:22.134353 < 22 bytes data, client => server 14:54:22.134366 'PASS ftp@example.com\r\n' 14:54:22.134466 Received DATA (on stdin) 14:54:22.134478 > 30 bytes data, server => client 14:54:22.134489 '230 Welcome you silly person\r\n' 14:54:22.134531 < 5 bytes data, client => server 14:54:22.134542 'PWD\r\n' 14:54:22.134635 Received DATA (on stdin) 14:54:22.134646 > 30 bytes data, server => client 14:54:22.134657 '257 "/" is current directory\r\n' 14:54:22.134710 < 6 bytes data, client => server 14:54:22.134722 'EPSV\r\n' 14:54:22.137064 Received DATA (on stdin) 14:54:22.137085 > 38 bytes data, server => client 14:54:22.137099 '229 Entering Passive Mode (|||36615|)\n' 14:54:22.137270 < 8 bytes data, client => server 14:54:22.137293 'TYPE I\r\n' 14:54:22.137481 Received DATA (on stdin) 14:54:22.137499 > 33 bytes data, serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1228 ../src/curl -q --output log/3/curl1228.out --include --trace-ascii log/3/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:46791 > log/3/stdout1228 2> log/3/stderr1228 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1226 ../src/curl -q --output log/8/curl1226.out --include --trace-ascii log/8/trace1226 --trace-time ftp://127.0.0.1:37557//1226 --ftp-method singlecwd > log/8/stdout1226 2> log/8/stderr1226 r => client 14:54:22.137511 '200 I modify TYPE as you wanted\r\n' 14:54:22.137569 < 21 bytes data, client => server 14:54:22.137583 'SIZE verifiedserver\r\n' 14:54:22.137695 Received DATA (on stdin) 14:54:22.137707 > 8 bytes data, server => client 14:54:22.137718 '213 17\r\n' 14:54:22.137769 < 21 bytes data, client => server 14:54:22.137781 'RETR verifiedserver\r\n' 14:54:22.137925 Received DATA (on stdin) 14:54:22.137947 > 29 bytes data, server => client 14:54:22.137961 '150 Binary junk (17 bytes).\r\n' 14:54:22.138429 Received DATA (on stdin) 14:54:22.138447 > 28 bytes data, server => client 14:54:22.138460 '226 File transfer complete\r\n' 14:54:22.182660 < 6 bytes data, client => server 14:54:22.182688 'QUIT\r\n' 14:54:22.182917 Received DATA (on stdin) 14:54:22.182932 > 18 bytes data, server => client 14:54:22.182945 '221 bye bye baby\r\n' 14:54:22.183354 ====> Client disconnect 14:54:22.185079 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:22.136610 Running IPv4 version 14:54:22.136683 Listening on port 36615 14:54:22.136722 Wrote pid 142116 to log/18/server/ftp_sockdata.pid 14:54:22.136748 Received PING (on stdin) 14:54:22.136873 Received PORT (on stdin) 14:54:22.137257 ====> Client connect 14:54:22.138000 Received DATA (on stdin) 14:54:22.138015 > 17 bytes data, server => client 14:54:22.138027 'WE ROOLZ: 80342\r\n' 14:54:22.138058 Received DISC (on stdin) 14:54:22.138076 ====> Client forcibly disconnected 14:54:22.138169 Received QUIT (on stdin) 14:54:22.138183 quits 14:54:22.138231 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==142304== ==142304== Process terminating with default action of signal 4 (SIGILL) ==142304== Illegal opcode at address 0x4014B6F ==142304== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142304== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142304== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142304== by 0x4004266: main (tool_main.c:199) === End of file valgrind1227 test 1228...[HTTP cookie path match] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1228 ../src/curl -q --output log/3/curl1228.out --include --trace-ascii log/3/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:46791 > log/3/stdout1228 2> log/3/stderr1228 1228: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1228 ../src/curl -q --output log/3/curl1228.out --include --trace-ascii log/3/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:46791 > log/3/stdout1228 2> log/3/stderr1228 === End of file commands.log === Start of file http_server.log 14:54:22.137666 ====> Client connect 14:54:22.137697 accept_connection 3 returned 4 14:54:22.137713 accept_connection 3 returned 0 14:54:22.137727 Read 93 bytes 14:54:22.137738 Process 93 bytes request 14:54:22.137751 Got request: GET /verifiedserver HTTP/1.1 14:54:22.137761 Are-we-friendly question received 14:54:22.137787 Wrote request (93 bytes) input to log/3/server.input 14:54:22.137803 Identifying ourselves as friends 14:54:22.137861 Response sent (56 bytes) and written to log/3/server.response 14:54:22.137873 special request received, no persistency 14:54:22.137882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1228 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1228 ==142150== ==142150== Process terminating with default action of signal 4 (SIGILL) ==142150== Illegal opcode at address 0x4014B6F ==142150== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142150== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142150== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142150== by 0x4004266: main (tool_main.c:199) === End of file valgrind1228 test 1226...[FTP fetch a file from the root directory with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1226 ../src/curl -q --output log/8/curl1226.out --include --trace-ascii log/8/trace1226 --trace-time ftp://127.0.0.1:37557//1226 --ftp-method singlecwd > log/8/stdout1226 2> log/8/stderr1226 1226: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1226 ../src/curl -q --output log/8/curl1226.out --include --trace-ascii log/8/trace1226 --trace-time ftp://127.0.0.1:37557//1226 --ftp-method singlecwd > log/8/stdout1226 2> log/8/stderr1226 === End of file commands.log === Start of file ftp_server.log 14:54:22.027984 ====> Client connect 14:54:22.028137 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:22.028430 < "USER anonymous" 14:54:22.028468 > "331 We are happy you popped in![CR][LF]" 14:54:22.029030 < "PASS ftp@example.com" 14:54:22.029056 > "230 Welcome you silly person[CR][LF]" 14:54:22.029211 < "PWD" 14:54:22.029240 > "257 "/" is current directory[CR][LF]" 14:54:22.029401 < "EPSV" 14:54:22.029423 ====> Passive DATA channel requested by client 14:54:22.029436 DATA sockfilt for passive data channel starting... 14:54:22.031400 DATA sockfilt for passive data channel started (pid 142057) 14:54:22.031533 DATA sockfilt for passive data channel listens on port 43079 14:54:22.031579 > "229 Entering Passive Mode (|||43079|)[LF]" 14:54:22.031600 Client has been notified that DATA conn will be accepted on port 43079 14:54:22.031896 Client connects to port 43079 14:54:22.031932 ====> Client established passive DATA connection on port 43079 14:54:22.032025 < "TYPE I" 14:54:22.032059 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:22.033629 < "SIZE verifiedserver" 14:54:22.033680 > "213 17[CR][LF]" 14:54:22.033876 < "RETR verifiedserver" 14:54:22.033911 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:22.034004 =====> Closing passive DATA connection... 14:54:22.034020 Server disconnects passive DATA connection 14:54:22.035774 Server disconnected passive DATA connection 14:54:22.035811 DATA sockfilt for passive data channel quits (pid 142057) 14:54:22.036038 DATA sockfilt for passive data channel quit (pid 142057) 14:54:22.036063 =====> Closed passive DATA connection 14:54:22.036097 > "226 File transfer complete[CR][LF]" 14:54:22.081295 < "QUIT" 14:54:22.081351 > "221 bye bye baby[CR][LF]" 14:54:22.082018 MAIN sockfilCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1231 ../src/curl -q --output log/1/curl1231.out --include --trace-ascii log/1/trace1231 --trace-time http://127.0.0.1:44029/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:44029/../../hej/but/who/../12310001#/../12310001 > log/1/stdout1231 2> log/1/stderr1231 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1232 ../src/curl -q --output log/7/curl1232.out --include --trace-ascii log/7/trace1232 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/7/stdout1232 2> log/7/stderr1232 t said DISC 14:54:22.082054 ====> Client disconnected 14:54:22.082129 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:22.110691 ====> Client connect 14:54:22.110961 Received DATA (on stdin) 14:54:22.110976 > 160 bytes data, server => client 14:54:22.110990 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:22.111002 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:22.111013 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:22.111092 < 16 bytes data, client => server 14:54:22.111105 'USER anonymous\r\n' 14:54:22.111661 Received DATA (on stdin) 14:54:22.111678 > 33 bytes data, server => client 14:54:22.111691 '331 We are happy you popped in!\r\n' 14:54:22.111744 < 22 bytes data, client => server 14:54:22.111757 'PASS ftp@example.com\r\n' 14:54:22.111868 Received DATA (on stdin) 14:54:22.111881 > 30 bytes data, server => client 14:54:22.111893 '230 Welcome you silly person\r\n' 14:54:22.111940 < 5 bytes data, client => server 14:54:22.111952 'PWD\r\n' 14:54:22.112051 Received DATA (on stdin) 14:54:22.112063 > 30 bytes data, server => client 14:54:22.112075 '257 "/" is current directory\r\n' 14:54:22.112129 < 6 bytes data, client => server 14:54:22.112145 'EPSV\r\n' 14:54:22.114421 Received DATA (on stdin) 14:54:22.114439 > 38 bytes data, server => client 14:54:22.114451 '229 Entering Passive Mode (|||43079|)\n' 14:54:22.114647 < 8 bytes data, client => server 14:54:22.114663 'TYPE I\r\n' 14:54:22.114873 Received DATA (on stdin) 14:54:22.114963 > 33 bytes data, server => client 14:54:22.114975 '200 I modify TYPE as you wanted\r\n' 14:54:22.116343 < 21 bytes data, client => server 14:54:22.116365 'SIZE verifiedserver\r\n' 14:54:22.116499 Received DATA (on stdin) 14:54:22.116517 > 8 bytes data, server => client 14:54:22.116530 '213 17\r\n' 14:54:22.116600 < 21 bytes data, client => server 14:54:22.116614 'RETR verifiedserver\r\n' 14:54:22.116836 Received DATA (on stdin) 14:54:22.116850 > 29 bytes data, server => client 14:54:22.116862 '150 Binary junk (17 bytes).\r\n' 14:54:22.118919 Received DATA (on stdin) 14:54:22.118935 > 28 bytes data, server => client 14:54:22.118947 '226 File transfer complete\r\n' 14:54:22.163926 < 6 bytes data, client => server 14:54:22.163958 'QUIT\r\n' 14:54:22.164168 Received DATA (on stdin) 14:54:22.164182 > 18 bytes data, server => client 14:54:22.164193 '221 bye bye baby\r\n' 14:54:22.164774 ====> Client disconnect 14:54:22.164942 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:22.113882 Running IPv4 version 14:54:22.113952 Listening on port 43079 14:54:22.113986 Wrote pid 142057 to log/8/server/ftp_sockdata.pid 14:54:22.114151 Received PING (on stdin) 14:54:22.114250 Received PORT (on stdin) 14:54:22.114615 ====> Client connect 14:54:22.118385 Received DATA (on stdin) 14:54:22.118406 > 17 bytes data, server => client 14:54:22.118418 'WE ROOLZ: 80267\r\n' 14:54:22.118449 Received DISC (on stdin) 14:54:22.118464 ====> Client forcibly disconnected 14:54:22.118637 Received QUIT (on stdin) 14:54:22.118649 quits 14:54:22.118701 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==142243== ==142243== Process terminating with default action of signal 4 (SIGILL) ==142243== Illegal opcode at address 0x4014B6F ==142243== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142243== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142243== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142243== by 0x4004266: main (tool_main.c:199) === End of file valgrind1226 test 1231...[HTTP URL with dotdot removal from path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1231 ../src/curl -q --output log/1/curl1231.out --include --trace-ascii log/1/trace1231 --trace-time http://127.0.0.1:44029/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:44029/../../hej/but/who/../12310001#/../12310001 > log/1/stdout1231 2> log/1/stderr1231 1231: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1231 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1231 ../src/curl -q --output log/1/curl1231.out --include --trace-ascii log/1/trace1231 --trace-time http://127.0.0.1:44029/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:44029/../../hej/but/who/../12310001#/../12310001 > log/1/stdout1231 2> log/1/stderr1231 === End of file commands.log === Start of file http_server.log 14:54:22.369679 ====> Client connect 14:54:22.369713 accept_connection 3 returned 4 14:54:22.369730 accept_connection 3 returned 0 14:54:22.369745 Read 93 bytes 14:54:22.369756 Process 93 bytes request 14:54:22.369769 Got request: GET /verifiedserver HTTP/1.1 14:54:22.369779 Are-we-friendly question received 14:54:22.369801 Wrote request (93 bytes) input to log/1/server.input 14:54:22.369818 Identifying ourselves as friends 14:54:22.369870 Response sent (56 bytes) and written to log/1/server.response 14:54:22.369882 special request received, no persistency 14:54:22.369891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1231 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1231 ==142438== ==142438== Process terminating with default action of signal 4 (SIGILL) ==142438== Illegal opcode at address 0x4014B6F ==142438== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142438== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142438== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142438== by 0x4004266: main (tool_main.c:199) === End of file valgrind1231 test 1232...[HTTP URL with dotdot removal from path using an HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1232 ../src/curl -q --output log/7/curl1232.out --include --trace-ascii log/7/trace1232 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/7/stdout1232 2> log/7/stderr1232 1232: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1232 ../src/curl -q --output log/7/curl1232.out --include --trace-ascii log/7/trace1232 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --trace-ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1236 ../src/curl -q --output log/13/curl1236.out --include --trace-ascii log/13/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/13/stdout1236 2> log/13/stderr1236 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1235 ../src/curl -q --include --trace-ascii log/12/trace1235 --trace-time "127.0.0.1:43359/{1235,1235}{0001,0002}" > log/12/stdout1235 2> log/12/stderr1235 2320001 > log/7/stdout1232 2> log/7/stderr1232 === End of file commands.log === Start of file http_server.log 14:54:22.647820 ====> Client connect 14:54:22.647855 accept_connection 3 returned 4 14:54:22.647873 accept_connection 3 returned 0 14:54:22.647891 Read 93 bytes 14:54:22.647903 Process 93 bytes request 14:54:22.647918 Got request: GET /verifiedserver HTTP/1.1 14:54:22.647930 Are-we-friendly question received 14:54:22.647954 Wrote request (93 bytes) input to log/7/server.input 14:54:22.647973 Identifying ourselves as friends 14:54:22.648028 Response sent (56 bytes) and written to log/7/server.response 14:54:22.648040 special request received, no persistency 14:54:22.648050 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1232 ==142532== ==142532== Process terminating with default action of signal 4 (SIGILL) ==142532== Illegal opcode at address 0x4014B6F ==142532== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142532== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142532== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142532== by 0x4004266: main (tool_main.c:199) === End of file valgrind1232 test 1236...[[] globbing overflowing the range counter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1236 ../src/curl -q --output log/13/curl1236.out --include --trace-ascii log/13/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/13/stdout1236 2> log/13/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/13/ dir after test 1236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1236 ../src/curl -q --output log/13/curl1236.out --include --trace-ascii log/13/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/13/stdout1236 2> log/13/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==142673== ==142673== Process terminating with default action of signal 4 (SIGILL) ==142673== Illegal opcode at address 0x4014B6F ==142673== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142673== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142673== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142673== by 0x4004266: main (tool_main.c:199) === End of file valgrind1236 test 1234...[abusing {}-globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --trace-ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/4/ dir after test 1234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --trace-ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==142608== ==142608== Process terminating with default action of signal 4 (SIGILL) ==142608== Illegal opcode at address 0x4014B6F ==142608== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142608== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142608== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142608== by 0x4004266: main (tool_main.c:199) === End of file valgrind1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1233 ../src/curl -q --output log/10/curl1233.out --include --trace-ascii log/10/trace1233 --trace-time ftp://127.0.0.1:42691/1233 > log/10/stdout1233 2> log/10/stderr1233 test 1235...[multiple requests using {}{} in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1235 ../src/curl -q --include --trace-ascii log/12/trace1235 --trace-time "127.0.0.1:43359/{1235,1235}{0001,0002}" > log/12/stdout1235 2> log/12/stderr1235 1235: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:23.738864750 +0000 +++ log/12/check-generated 2025-09-11 14:54:23.738864750 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/12/ dir after test 1235 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1235 ../src/curl -q --include --trace-ascii log/12/trace1235 --trace-time "127.0.0.1:43359/{1235,1235}{0001,0002}" > log/12/stdout1235 2> log/12/stderr1235 === End of file commands.log === Start of file http_server.log 14:54:22.861534 ====> Client connect 14:54:22.861571 accept_connection 3 returned 4 14:54:22.861590 accept_connection 3 returned 0 14:54:22.861937 Read 93 bytes 14:54:22.861959 Process 93 bytes request 14:54:22.861974 Got request: GET /verifiedserver HTTP/1.1 14:54:22.861985 Are-we-friendly question received 14:54:22.862016 Wrote request (93 bytes) input to log/12/server.input 14:54:22.862034 Identifying ourselves as friends 14:54:22.862093 Response sent (56 bytes) and written to log/12/server.response 14:54:22.862104 special request received, no persistency 14:54:22.862112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1235 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1235 ==142680== ==142680== Process terminating with default action of signal 4 (SIGILL) ==142680== Illegal opcode at address 0x4014B6F ==142680== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142680== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142680== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142680== by 0x4004266: main (tool_main.c:199) === End of file valgrind1235 test 1233...[FTP failing to connect to EPSV port, switching to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1233 ../src/curl -q --output log/10/curl1233.out --include --trace-ascii log/10/trace1233 --trace-time ftp://127.0.0.1:42691/1233 > log/10/stdout1233 2> log/10/stderr1233 1233: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1233 ../src/curl -q --output log/10/curl1233.out --include --trace-ascii log/10/trace1233 --trace-time ftp://127.0.0.1:42691/1233 > log/10/stdout1233 2> log/10/stderr1233 === End of file commands.log === Start of file ftp_server.log 14:54:22.760721 ====> Client connect 14:54:22.760874 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:22.761130 < "USER anonymous" 14:54:22.761158 > "331 We are happy you popped in![CR][LF]" 14:54:22.761289 < "PASS ftp@example.com" 14:54:22.761308 > "230 Welcome you silly person[CR][LF]" 14:54:22.761425 < "PWD" 14:54:22.761448 > "257 "/" is current directory[CR][LF]" 14:54:22.761571 < "EPSV" 14:54:22.761590 ====> Passive DATA channel requested by client 14:54:22.761601 DATA sockfilt for passive data channel starting... 14:54:22.763909 DATA sockfilt for passive data channel started (pid 142628) 14:54:22.764042 DATA sockfilt for passive data channel listens on port 37325 14:54:22.764093 > "229 Entering Passive Mode (|||37325|)[LF]" 14:54:22.764115 Client has been notified that DATA conn will be accepted on port 37325 14:54:22.764403 Client connects to port 37325 14:54:22.764435 ====> Client established passive DATA connection on port 37325 14:54:22.764527 < "TYPE I" 14:54:22.764559 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:22.764733 < "SIZE verifiedserver" 14:54:22.764773 > "213 17[CR][LF]" 14:54:22.764940 < "RETR verifiedserver" 14:54:22.764974 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:22.765059 =====> Closing passive DATA connection... 14:54:22.765076 Server disconnects passive DATA connection 14:54:22.765191 Server disconnected passive DATA connection 14:54:22.765216 DATA sockfilt for passive data channel quits (pid 142628) 14:54:22.765400 DATA sockfilt for passive data channel quit (pid 142628) 14:54:22.765423 =====> Closed passive DATA connection 14:54:22.765444 > "226 File transfer complete[CR][LF]" 14:54:22.809014 < "QUIT" 14:54:22.809069 > "221 bye bye baby[CR][LF]" 14:54:22.810074 MAIN sockfilt said DISC 14:54:22.810121 ====> Client disconnected 14:54:22.810218 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:22.843110 ====> Client connect 14:54:22.843696 Received DATA (on stdin) 14:54:22.843709 > 160 bytes data, server => client 14:54:22.843719 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:22.843728 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:22.843736 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:22.843804 < 16 bytes data, client => server 14:54:22.843815 'USER anonymous\r\n' 14:54:22.843969 Received DATA (on stdin) 14:54:22.843980 > 33 bytes data, server => client 14:54:22.843989 '331 We are happy you popped in!\r\n' 14:54:22.844029 < 22 bytes data, client => server 14:54:22.844038 'PASS ftp@example.com\r\n' 14:54:22.844115 Received DATA (on stdin) 14:54:22.844125 > 30 bytes data, server => client 14:54:22.844133 '230 Welcome you silly person\r\n' 14:54:22.844169 < 5 bytes data, client => server 14:54:22.844178 'PWD\r\n' 14:54:22.844255 Received DATA (on stdin) 14:54:22.844265 > 30 bytes data, server => client 14:54:22.844273 '257 "/" is current directory\r\n' 14:54:22.844316 < 6 bytes data, client => server 14:54:22.844325 'EPSV\r\n' 14:54:22.846937 Received DATA (on stdin) 14:54:22.846956 > 38 bytes data, seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1240 ../src/curl -q --output log/20/curl1240.out --include --trace-ascii log/20/trace1240 --trace-time "127.0.0.1:39569/0[0-1]/1240" > log/20/stdout1240 2> log/20/stderr1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1237 ../src/curl -q --output log/5/curl1237.out --include --trace-ascii log/5/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:46041/1237" > log/5/stdout1237 2> log/5/stderr1237 rver => client 14:54:22.846968 '229 Entering Passive Mode (|||37325|)\n' 14:54:22.847159 < 8 bytes data, client => server 14:54:22.847173 'TYPE I\r\n' 14:54:22.847375 Received DATA (on stdin) 14:54:22.847389 > 33 bytes data, server => client 14:54:22.847401 '200 I modify TYPE as you wanted\r\n' 14:54:22.847455 < 21 bytes data, client => server 14:54:22.847469 'SIZE verifiedserver\r\n' 14:54:22.847586 Received DATA (on stdin) 14:54:22.847600 > 8 bytes data, server => client 14:54:22.847612 '213 17\r\n' 14:54:22.847664 < 21 bytes data, client => server 14:54:22.847677 'RETR verifiedserver\r\n' 14:54:22.847875 Received DATA (on stdin) 14:54:22.847891 > 29 bytes data, server => client 14:54:22.847904 '150 Binary junk (17 bytes).\r\n' 14:54:22.848253 Received DATA (on stdin) 14:54:22.848264 > 28 bytes data, server => client 14:54:22.848274 '226 File transfer complete\r\n' 14:54:22.891658 < 6 bytes data, client => server 14:54:22.891684 'QUIT\r\n' 14:54:22.892528 Received DATA (on stdin) 14:54:22.892556 > 18 bytes data, server => client 14:54:22.892569 '221 bye bye baby\r\n' 14:54:22.892681 ====> Client disconnect 14:54:22.893036 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:22.846545 Running IPv4 version 14:54:22.846600 Listening on port 37325 14:54:22.846638 Wrote pid 142628 to log/10/server/ftp_sockdata.pid 14:54:22.846658 Received PING (on stdin) 14:54:22.846757 Received PORT (on stdin) 14:54:22.847129 ====> Client connect 14:54:22.847891 Received DATA (on stdin) 14:54:22.847905 > 17 bytes data, server => client 14:54:22.847916 'WE ROOLZ: 80280\r\n' 14:54:22.847941 Received DISC (on stdin) 14:54:22.847954 ====> Client forcibly disconnected 14:54:22.848033 Received QUIT (on stdin) 14:54:22.848046 quits 14:54:22.848095 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there's nothing listening on port 1 REPLY EPSV 229 Entering Passive Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==142773== ==142773== Process terminating with default action of signal 4 (SIGILL) ==142773== Illegal opcode at address 0x4014B6F ==142773== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142773== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142773== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142773== by 0x4004266: main (tool_main.c:199) === End of file valgrind1233 test 1237...[URL with 1000+ letter user name + password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1237 ../src/curl -q --output log/5/curl1237.out --include --trace-ascii log/5/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:46041/1237" > log/5/stdout1237 2> log/5/stderr1237 1237: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1237 ../src/curl -q --output log/5/curl1237.out --include --trace-ascii log/5/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:46041/1237" > log/5/stdout1237 2> log/5/stderr1237 === End of file commands.log === Start of file http_server.log 14:54:22.903882 ====> Client connect 14:54:22.903916 accept_connection 3 returned 4 14:54:22.903932 accept_connection 3 returned 0 14:54:22.903948 Read 93 bytes 14:54:22.903959 Process 93 bytes request 14:54:22.903974 Got request: GET /verifiedserver HTTP/1.1 14:54:22.903984 Are-we-friendly question received 14:54:22.904010 Wrote request (93 bytes) input to log/5/server.input 14:54:22.904027 Identifying ourselves as friends 14:54:22.904080 Response sent (56 bytes) and written to log/5/server.response 14:54:22.904090 special request received, no persistency 14:54:22.904099 ====> Client disconnect 0 === End of file httCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1238 ../src/curl -q --output log/2/curl1238.out --include --trace-ascii log/2/trace1238 --trace-time tftp://127.0.0.1:33731//1238 -Y1000 -y2 > log/2/stdout1238 2> log/2/stderr1238 RUN: Process with pid 91747 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1239 ../src/curl -q --include --trace-ascii log/21/trace1239 --trace-time http://127.0.0.1:34037/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/21/stdout1239 2> log/21/stderr1239 p_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1237 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1237 ==142832== ==142832== Process terminating with default action of signal 4 (SIGILL) ==142832== Illegal opcode at address 0x4014B6F ==142832== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142832== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142832== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142832== by 0x4004266: main (tool_main.c:199) === End of file valgrind1237 test 1240...[glob [0-1] with stuff after range (7.33.0 regression)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1240 ../src/curl -q --output log/20/curl1240.out --include --trace-ascii log/20/trace1240 --trace-time "127.0.0.1:39569/0[0-1]/1240" > log/20/stdout1240 2> log/20/stderr1240 1240: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1240 ../src/curl -q --output log/20/curl1240.out --include --trace-ascii log/20/trace1240 --trace-time "127.0.0.1:39569/0[0-1]/1240" > log/20/stdout1240 2> log/20/stderr1240 === End of file commands.log === Start of file http_server.log 14:54:22.921274 ====> Client connect 14:54:22.921312 accept_connection 3 returned 4 14:54:22.921330 accept_connection 3 returned 0 14:54:22.921346 Read 93 bytes 14:54:22.921358 Process 93 bytes request 14:54:22.921372 Got request: GET /verifiedserver HTTP/1.1 14:54:22.921382 Are-we-friendly question received 14:54:22.921412 Wrote request (93 bytes) input to log/20/server.input 14:54:22.921431 Identifying ourselves as friends 14:54:22.921505 Response sent (56 bytes) and written to log/20/server.response 14:54:22.921519 special request received, no persistency 14:54:22.921529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1240 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1240 ==142913== ==142913== Process terminating with default action of signal 4 (SIGILL) ==142913== Illegal opcode at address 0x4014B6F ==142913== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142913== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142913== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142913== by 0x4004266: main (tool_main.c:199) === End of file valgrind1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1241 ../src/curl -q --output log/17/curl1241.out --include --trace-ascii log/17/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:45171 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/17/stdout1241 2> log/17/stderr1241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1247 ../src/curl -q --output log/23/curl1247.out --include --trace-ascii log/23/trace1247 --trace-time --fail-early h1234://127.0.0.1:38851/1247 http://127.0.0.1:38851/1247 > log/23/stdout1247 2> log/23/stderr1247 test 1239...[HTTP with -z + -w response_code and simulated 304] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1239 ../src/curl -q --include --trace-ascii log/21/trace1239 --trace-time http://127.0.0.1:34037/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/21/stdout1239 2> log/21/stderr1239 1239: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:23.812198084 +0000 +++ log/21/check-generated 2025-09-11 14:54:23.812198084 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 6[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -304 == Contents of files in the log/21/ dir after test 1239 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 6[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] 304 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1239 ../src/curl -q --include --trace-ascii log/21/trace1239 --trace-time http://127.0.0.1:34037/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/21/stdout1239 2> log/21/stderr1239 === End of file commands.log === Start of file http_server.log 14:54:22.919389 ====> Client connect 14:54:22.919424 accept_connection 3 returned 4 14:54:22.919442 accept_connection 3 returned 0 14:54:22.919458 Read 93 bytes 14:54:22.919469 Process 93 bytes request 14:54:22.919483 Got request: GET /verifiedserver HTTP/1.1 14:54:22.919494 Are-we-friendly question received 14:54:22.919521 Wrote request (93 bytes) input to log/21/server.input 14:54:22.919539 Identifying ourselves as friends 14:54:22.919594 Response sent (56 bytes) and written to log/21/server.response 14:54:22.919604 special request received, no persistency 14:54:22.919614 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 38142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1239 ==142905== ==142905== Process terminating with default action of signal 4 (SIGILL) ==142905== Illegal opcode at address 0x4014B6F ==142905== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142905== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142905== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142905== by 0x4004266: main (tool_main.c:199) === End of file valgrind1239 test 1241...[HTTP _without_ dotdot removal] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1241 ../src/curl -q --output log/17/curl1241.out --include --trace-ascii log/17/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:45171 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/17/stdout1241 2> log/17/stderr1241 1241: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1241 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1241 ../src/curl -q --output log/17/curl1241.out --include --trace-ascii log/17/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:45171 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/17/stdout1241 2> log/17/stderr1241 === End of file commands.log === Start of file http_server.log 14:54:22.929179 ====> Client connect 14:54:22.929212 accept_connection 3 returned 4 14:54:22.929228 accept_connection 3 returned 0 14:54:22.929243 Read 93 bytes 14:54:22.929253 Process 93 bytes request 14:54:22.929267 Got request: GET /verifiedserver HTTP/1.1 14:54:22.929276 Are-we-friendly question received 14:54:22.929302 Wrote request (93 bytes) input to log/17/server.input 14:54:22.929320 Identifying ourselves as friends 14:54:22.929373 Response sent (56 bytes) and written to log/17/server.response 14:54:22.929384 special request received, no persistency 14:54:22.929394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1241 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1241 ==142962== ==142962== Process terminating with default action of signal 4 (SIGILL) ==142962== Illegal opcode at address 0x4014B6F ==142962== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142962== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142962== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142962== by 0x4004266: main (tool_main.c:199) === End of file valgrind1241 test 1247...[--fail-early] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1247 ../src/curl -q --output log/23/curl1247.out --include --trace-ascii log/23/trace1247 --trace-time --fail-early h1234://127.0.0.1:38851/1247 http://127.0.0.1:38851/1247 > log/23/stdout1247 2> log/23/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/23/ dir after test 1247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1247 ../src/curl -q --output log/23/curl1247.out --include --trace-ascii log/23/trace1247 --trace-time --fail-early h1234://127.0.0.1:38851/1247 http://127.0.0.1:38851/1247 > log/23/stdout1247 2> log/23/stderr1247 === End of file commands.log === Start of file http_server.log 14:54:23.086935 ====> Client connect 14:54:23.086965 accept_connection 3 returned 4 14:54:23.086981 accept_connection 3 returned 0 14:54:23.086998 Read 93 bytes 14:54:23.087008 Process 93 bytes request 14:54:23.087020 Got request: GET /verifiedserver HTTP/1.1 14:54:23.087029 Are-we-friendly question receCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1248 ../src/curl -q --output log/19/curl1248.out --include --trace-ascii log/19/trace1248 --trace-time http://user:secret@127.0.0.1:33805/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/19/stdout1248 2> log/19/stderr1248 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1250 ../src/curl -q --output log/24/curl1250.out --include --trace-ascii log/24/trace1250 --trace-time http://user:secret@127.0.0.1:34449/1250 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1250 2> log/24/stderr1250 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1246 ../src/curl -q --output log/9/curl1246.out --include --trace-ascii log/9/trace1246 --trace-time --proxy http://127.0.0.1:34345 http://test.remote.haxx.se.1246:34345#@127.0.0.1/tricked.html no-scheme-url.com.1246:34345#@127.127.127.127/again.html > log/9/stdout1246 2> log/9/stderr1246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1249 ../src/curl -q --output log/16/curl1249.out --include --trace-ascii log/16/trace1249 --trace-time http://user:secret@127.0.0.1:34475/1249 --proxy http://dummy:47/ --max-time 5 > log/16/stdout1249 2> log/16/stderr1249 ived 14:54:23.087054 Wrote request (93 bytes) input to log/23/server.input 14:54:23.087069 Identifying ourselves as friends 14:54:23.087123 Response sent (56 bytes) and written to log/23/server.response 14:54:23.087134 special request received, no persistency 14:54:23.087143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 45512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1247 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1247 ==143244== ==143244== Process terminating with default action of signal 4 (SIGILL) ==143244== Illegal opcode at address 0x4014B6F ==143244== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143244== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143244== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143244== by 0x4004266: main (tool_main.c:199) === End of file valgrind1247 test 1248...[Non-proxied host plus --proxy option and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1248 ../src/curl -q --output log/19/curl1248.out --include --trace-ascii log/19/trace1248 --trace-time http://user:secret@127.0.0.1:33805/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/19/stdout1248 2> log/19/stderr1248 1248: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1248 ../src/curl -q --output log/19/curl1248.out --include --trace-ascii log/19/trace1248 --trace-time http://user:secret@127.0.0.1:33805/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/19/stdout1248 2> log/19/stderr1248 === End of file commands.log === Start of file http_server.log 14:54:22.104134 ====> Client connect 14:54:22.104165 accept_connection 3 returned 4 14:54:22.104182 accept_connection 3 returned 0 14:54:22.104196 Read 93 bytes 14:54:22.104206 Process 93 bytes request 14:54:22.104219 Got request: GET /verifiedserver HTTP/1.1 14:54:22.104229 Are-we-friendly question received 14:54:22.104254 Wrote request (93 bytes) input to log/19/server.input 14:54:22.104271 Identifying ourselves as friends 14:54:22.104326 Response sent (56 bytes) and written to log/19/server.response 14:54:22.104336 special request received, no persistency 14:54:22.104345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1248 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1248 ==143303== ==143303== Process terminating with default action of signal 4 (SIGILL) ==143303== Illegal opcode at address 0x4014B6F ==143303== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143303== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143303== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143303== by 0x4004266: main (tool_main.c:199) === End of file valgrind1248 setenv http_proxy = http://dummy:[not running]/ test 1250...[Non-proxied host plus http_proxy env var and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1250 ../src/curl -q --output log/24/curl1250.out --include --trace-ascii log/24/trace1250 --trace-time http://user:secret@127.0.0.1:34449/1250 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1250 2> log/24/stderr1250 1250: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1250 ../src/curl -q --output log/24/curl1250.out --include --trace-ascii log/24/trace1250 --trace-time http://user:secret@127.0.0.1:34449/1250 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1250 2> log/24/stderr1250 === End of file commands.log === Start of file http_server.log 14:54:23.180294 ====> Client connect 14:54:23.180329 accept_connection 3 returned 4 14:54:23.180347 accept_connection 3 returned 0 14:54:23.180363 Read 93 bytes 14:54:23.180375 Process 93 bytes request 14:54:23.180391 Got request: GET /verifiedserver HTTP/1.1 14:54:23.180401 Are-we-friendly question received 14:54:23.180428 Wrote request (93 bytes) input to log/24/server.input 14:54:23.180447 Identifying ourselves as friends 14:54:23.180503 Response sent (56 bytes) and written to log/24/server.response 14:54:23.180515 special request received, no persistency 14:54:23.180525 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1250 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1250 ==143564== ==143564== Process terminating with default action of signal 4 (SIGILL) ==143564== Illegal opcode at address 0x4014B6F ==143564== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143564== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143564== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143564== by 0x4004266: main (tool_main.c:199) === End of file valgrind1250 test 1246...[URL with '#' at end of host name instead of '/'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1246 ../src/curl -q --output log/9/curl1246.out --include --trace-ascii log/9/trace1246 --trace-time --proxy http://127.0.0.1:34345 http://test.remote.haxx.se.1246:34345#@127.0.0.1/tricked.html no-scheme-url.com.1246:34345#@127.127.127.127/again.html > log/9/stdout1246 2> log/9/stderr1246 1246: protocol FAILED! There was no content at all in tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1245 ../src/curl -q --output log/22/curl1245.out --include --trace-ascii log/22/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:42027/1245 > log/22/stdout1245 2> log/22/stderr1245 he file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1246 ../src/curl -q --output log/9/curl1246.out --include --trace-ascii log/9/trace1246 --trace-time --proxy http://127.0.0.1:34345 http://test.remote.haxx.se.1246:34345#@127.0.0.1/tricked.html no-scheme-url.com.1246:34345#@127.127.127.127/again.html > log/9/stdout1246 2> log/9/stderr1246 === End of file commands.log === Start of file http_server.log 14:54:23.079264 ====> Client connect 14:54:23.079308 accept_connection 3 returned 4 14:54:23.079326 accept_connection 3 returned 0 14:54:23.079341 Read 93 bytes 14:54:23.079353 Process 93 bytes request 14:54:23.079365 Got request: GET /verifiedserver HTTP/1.1 14:54:23.079375 Are-we-friendly question received 14:54:23.079399 Wrote request (93 bytes) input to log/9/server.input 14:54:23.079420 Identifying ourselves as friends 14:54:23.079477 Response sent (56 bytes) and written to log/9/server.response 14:54:23.079488 special request received, no persistency 14:54:23.079497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1246 ==143228== ==143228== Process terminating with default action of signal 4 (SIGILL) ==143228== Illegal opcode at address 0x4014B6F ==143228== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143228== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143228== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143228== by 0x4004266: main (tool_main.c:199) === End of file valgrind1246 setenv NO_PROXY = 127.0.0.1 test 1249...[Non-proxied plus --proxy option and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1249 ../src/curl -q --output log/16/curl1249.out --include --trace-ascii log/16/trace1249 --trace-time http://user:secret@127.0.0.1:34475/1249 --proxy http://dummy:47/ --max-time 5 > log/16/stdout1249 2> log/16/stderr1249 1249: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1249 ../src/curl -q --output log/16/curl1249.out --include --trace-ascii log/16/trace1249 --trace-time http://user:secret@127.0.0.1:34475/1249 --proxy http://dummy:47/ --max-time 5 > log/16/stdout1249 2> log/16/stderr1249 === End of file commands.log === Start of file http_server.log 14:54:23.109967 ====> Client connect 14:54:23.110002 accept_connection 3 returned 4 14:54:23.110019 accept_connection 3 returned 0 14:54:23.110037 Read 93 bytes 14:54:23.110048 Process 93 bytes request 14:54:23.110062 Got request: GET /verifiedserver HTTP/1.1 14:54:23.110072 Are-we-friendly question received 14:54:23.110095 Wrote request (93 bytes) input to log/16/server.input 14:54:23.110111 Identifying ourselves as friends 14:54:23.110162 Response sent (56 bytes) and written to log/16/server.response 14:54:23.110173 special request received, no persistency 14:54:23.110183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46746 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1249 ==143321== ==143321== Process terminating with default action of signal 4 (SIGILL) ==143321== Illegal opcode at address 0x4014B6F ==143321== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143321== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143321== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143321== by 0x4004266: main (tool_main.c:199) === End of file valgrind1249 test 1245...[--proto deny must override --proto-redir allow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1245 ../src/curl -q --output log/22/curl1245.out --include --trace-ascii log/22/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:42027/1245 > log/22/stdout1245 2> log/22/stderr1245 1245: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1245 ../src/curl -q --output log/22/curl1245.out --include --trace-ascii log/22/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:42027/1245 > log/22/stdout1245 2> log/22/stderr1245 === End of file commands.log === Start of file ftp_server.log 14:54:23.006906 ====> Client connect 14:54:23.007041 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:23.007275 < "USER anonymous" 14:54:23.007306 > "331 We are happy you popped in![CR][LF]" 14:54:23.007449 < "PASS ftp@example.com" 14:54:23.007471 > "230 Welcome you silly person[CR][LF]" 14:54:23.007609 < "PWD" 14:54:23.007634 > "257 "/" is current directory[CR][LF]" 14:54:23.007778 < "EPSV" 14:54:23.007799 ====> Passive DATA channel requested by client 14:54:23.007812 DATA sockfilt for passive data channel starting... 14:54:23.009312 DATA sockfilt for passive data channel started (pid 143225) 14:54:23.009422 DATA sockfilt for passive data channel listens on port 39037 14:54:23.009460 > "229 Entering Passive Mode (|||39037|)[LF]" 14:54:23.009480 Client has been notified that DATA conn will be accepted on port 39037 14:54:23.009695 Client connects to port 39037 14:54:23.009723 ====> Client established passive DATA connection on port 39037 14:54:23.009793 < "TYPE I" 14:54:23.009821 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:23.009974 < "SIZE verifiedserver" 14:54:23.010008 > "213 17[CR][LF]" 14:54:23.010156 < "RETR verifiedserver" 14:54:23.010189 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:23.010286 =====> Closing passive DATA connection... 14:54:23.010303 Server disconnecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1251 ../src/curl -q --output log/18/curl1251.out --include --trace-ascii log/18/trace1251 --trace-time http://user:secret@127.0.0.1:43297/1251 --max-time 5 > log/18/stdout1251 2> log/18/stderr1251 ts passive DATA connection 14:54:23.010417 Server disconnected passive DATA connection 14:54:23.010439 DATA sockfilt for passive data channel quits (pid 143225) 14:54:23.010636 DATA sockfilt for passive data channel quit (pid 143225) 14:54:23.010658 =====> Closed passive DATA connection 14:54:23.010686 > "226 File transfer complete[CR][LF]" 14:54:23.054067 < "QUIT" 14:54:23.054126 > "221 bye bye baby[CR][LF]" 14:54:23.055070 MAIN sockfilt said DISC 14:54:23.055107 ====> Client disconnected 14:54:23.055193 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:23.089612 ====> Client connect 14:54:23.089861 Received DATA (on stdin) 14:54:23.089875 > 160 bytes data, server => client 14:54:23.089887 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:23.089898 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:23.089908 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:23.089971 < 16 bytes data, client => server 14:54:23.089983 'USER anonymous\r\n' 14:54:23.090117 Received DATA (on stdin) 14:54:23.090128 > 33 bytes data, server => client 14:54:23.090138 '331 We are happy you popped in!\r\n' 14:54:23.090182 < 22 bytes data, client => server 14:54:23.090194 'PASS ftp@example.com\r\n' 14:54:23.090281 Received DATA (on stdin) 14:54:23.090292 > 30 bytes data, server => client 14:54:23.090302 '230 Welcome you silly person\r\n' 14:54:23.090344 < 5 bytes data, client => server 14:54:23.090354 'PWD\r\n' 14:54:23.090442 Received DATA (on stdin) 14:54:23.090453 > 30 bytes data, server => client 14:54:23.090464 '257 "/" is current directory\r\n' 14:54:23.090515 < 6 bytes data, client => server 14:54:23.090525 'EPSV\r\n' 14:54:23.092295 Received DATA (on stdin) 14:54:23.092309 > 38 bytes data, server => client 14:54:23.092321 '229 Entering Passive Mode (|||39037|)\n' 14:54:23.092453 < 8 bytes data, client => server 14:54:23.092465 'TYPE I\r\n' 14:54:23.092633 Received DATA (on stdin) 14:54:23.092645 > 33 bytes data, server => client 14:54:23.092656 '200 I modify TYPE as you wanted\r\n' 14:54:23.092703 < 21 bytes data, client => server 14:54:23.092715 'SIZE verifiedserver\r\n' 14:54:23.092819 Received DATA (on stdin) 14:54:23.092831 > 8 bytes data, server => client 14:54:23.092841 '213 17\r\n' 14:54:23.092888 < 21 bytes data, client => server 14:54:23.092900 'RETR verifiedserver\r\n' 14:54:23.093027 Received DATA (on stdin) 14:54:23.093054 > 29 bytes data, server => client 14:54:23.093067 '150 Binary junk (17 bytes).\r\n' 14:54:23.093501 Received DATA (on stdin) 14:54:23.093517 > 28 bytes data, server => client 14:54:23.093529 '226 File transfer complete\r\n' 14:54:23.136670 < 6 bytes data, client => server 14:54:23.136705 'QUIT\r\n' 14:54:23.136943 Received DATA (on stdin) 14:54:23.136956 > 18 bytes data, server => client 14:54:23.136967 '221 bye bye baby\r\n' 14:54:23.137825 ====> Client disconnect 14:54:23.138013 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:23.091954 Running IPv4 version 14:54:23.092010 Listening on port 39037 14:54:23.092046 Wrote pid 143225 to log/22/server/ftp_sockdata.pid 14:54:23.092064 Received PING (on stdin) 14:54:23.092153 Received PORT (on stdin) 14:54:23.092425 ====> Client connect 14:54:23.093117 Received DATA (on stdin) 14:54:23.093130 > 17 bytes data, server => client 14:54:23.093142 'WE ROOLZ: 80268\r\n' 14:54:23.093169 Received DISC (on stdin) 14:54:23.093181 ====> Client forcibly disconnected 14:54:23.093257 Received QUIT (on stdin) 14:54:23.093268 quits 14:54:23.093325 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:23.076832 ====> Client connect 14:54:23.076861 accept_connection 3 returned 4 14:54:23.076877 accept_connection 3 returned 0 14:54:23.076891 Read 93 bytes 14:54:23.076901 Process 93 bytes request 14:54:23.076912 Got request: GET /verifiedserver HTTP/1.1 14:54:23.076922 Are-we-friendly question received 14:54:23.076943 Wrote request (93 bytes) input to log/22/server.input 14:54:23.076959 Identifying ourselves as friends 14:54:23.077008 Response sent (56 bytes) and written to log/22/server.response 14:54:23.077018 special request received, no persistency 14:54:23.077027 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 50056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1245 ==143420== ==143420== Process terminating with default action of signal 4 (SIGILL) ==143420== Illegal opcode at address 0x4014B6F ==143420== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143420== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143420== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143420== by 0x4004266: main (tool_main.c:199) === End of file valgrind1245 setenv http_proxy = http://dummy:35323/ setenv NO_PROXY = 127.0.0.1 test 1251...[Non-proxied host plus http_proxy env var and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1251 ../src/curl -q --output log/18/curl1251.out --include --trace-ascii log/18/trace1251 --trace-time http://user:secret@127.0.0.1:43297/1251 --max-time 5 > log/18/stdout1251 2> log/18/stderr1251 1251: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1251 ../src/curl -q --output log/18/curl1251.out --include --trace-ascii log/18/trace1251 --trace-time http://user:secret@127.0.0.1:43297/1251 --max-time 5 > log/18/stdout1251 2> log/18/stderr1251 === End of file commands.log === Start of file http_server.log 14:54:23.182869 ====> Client connect 14:54:23.182907 accept_connection 3 returned 4 14:54:23.182926 accept_connection 3 returned 0 14:54:23.182942 Read 93 bytes 14:54:23.182953 Process 93 bytes request 14:54:23.182967 Got request: GET /verifiedserver HTTP/1.1 14:54:23.182977 Are-we-friendly question received 14:54:23.183017 Wrote request (93 bytes) input to log/18/server.input 14:54:23.183034 Identifying ourselves as friends 14:54:23.183088 Response sent (56 bytes) and written to log/18/server.response 14:54:23.183099 special request received, no persistency 14:54:23.183109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 33996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1251 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1251 ==1435CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1252 ../src/curl -q --output log/3/curl1252.out --include --trace-ascii log/3/trace1252 --trace-time http://127.0.0.1:46791/1252 --proxy http://127.0.0.1:46791 --noproxy 127.0.0.1 > log/3/stdout1252 2> log/3/stderr1252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1254 ../src/curl -q --output log/11/curl1254.out --include --trace-ascii log/11/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:33503 --noproxy "" > log/11/stdout1254 2> log/11/stderr1254 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:37085 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/stderr1253 67== ==143567== Process terminating with default action of signal 4 (SIGILL) ==143567== Illegal opcode at address 0x4014B6F ==143567== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143567== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143567== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143567== by 0x4004266: main (tool_main.c:199) === End of file valgrind1251 setenv NO_PROXY = example.com test 1252...[--proxy, override NO_PROXY by --noproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1252 ../src/curl -q --output log/3/curl1252.out --include --trace-ascii log/3/trace1252 --trace-time http://127.0.0.1:46791/1252 --proxy http://127.0.0.1:46791 --noproxy 127.0.0.1 > log/3/stdout1252 2> log/3/stderr1252 1252: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1252 ../src/curl -q --output log/3/curl1252.out --include --trace-ascii log/3/trace1252 --trace-time http://127.0.0.1:46791/1252 --proxy http://127.0.0.1:46791 --noproxy 127.0.0.1 > log/3/stdout1252 2> log/3/stderr1252 === End of file commands.log === Start of file http_server.log 14:54:23.185186 ====> Client connect 14:54:23.185220 accept_connection 3 returned 4 14:54:23.185239 accept_connection 3 returned 0 14:54:23.185254 Read 93 bytes 14:54:23.185266 Process 93 bytes request 14:54:23.185278 Got request: GET /verifiedserver HTTP/1.1 14:54:23.185289 Are-we-friendly question received 14:54:23.185316 Wrote request (93 bytes) input to log/3/server.input 14:54:23.185334 Identifying ourselves as friends 14:54:23.185391 Response sent (56 bytes) and written to log/3/server.response 14:54:23.185403 special request received, no persistency 14:54:23.185414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1252 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1252 ==143581== ==143581== Process terminating with default action of signal 4 (SIGILL) ==143581== Illegal opcode at address 0x4014B6F ==143581== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143581== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143581== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143581== by 0x4004266: main (tool_main.c:199) === End of file valgrind1252 setenv NO_PROXY = example.com test 1254...[override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1254 ../src/curl -q --output log/11/curl1254.out --include --trace-ascii log/11/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:33503 --noproxy "" > log/11/stdout1254 2> log/11/stderr1254 1254: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1254 ../src/curl -q --output log/11/curl1254.out --include --trace-ascii log/11/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:33503 --noproxy "" > log/11/stdout1254 2> log/11/stderr1254 === End of file commands.log === Start of file http_server.log 14:54:23.208073 ====> Client connect 14:54:23.208223 accept_connection 3 returned 4 14:54:23.208244 accept_connection 3 returned 0 14:54:23.208261 Read 93 bytes 14:54:23.208273 Process 93 bytes request 14:54:23.208289 Got request: GET /verifiedserver HTTP/1.1 14:54:23.208300 Are-we-friendly question received 14:54:23.208329 Wrote request (93 bytes) input to log/11/server.input 14:54:23.208348 Identifying ourselves as friends 14:54:23.208414 Response sent (56 bytes) and written to log/11/server.response 14:54:23.208427 special request received, no persistency 14:54:23.208438 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 38262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1254 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1254 ==143693== ==143693== Process terminating with default action of signal 4 (SIGILL) ==143693== Illegal opcode at address 0x4014B6F ==143693== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143693== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143693== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143693== by 0x4004266: main (tool_main.c:199) === End of file valgrind1254 setenv NO_PROXY = example.com test 1253...[--proxy, override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:37085 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/stderr1253 1253: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:37085 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/stderr1253 === End of file commands.log === Start of file http_server.log 14:54:22.186345 ====> Client connect 14:54:22.186380 accept_connection 3 returned 4 14:54:22.186397 accept_connection 3 returned 0 14:54:22.186413 Read 93 bytes 14:54:22.186423 Process 93 bytes request 14:54:22.186450 Got request: GET /verifiedserver HTTP/1.1 14:54:22.186461 Are-we-friendly question received 14:54:22.186487 Wrote request (93 bytes) input to log/8/server.input 14:54:22.186504 Identifying ourselves as friends 14:54:22.186558 Response sent (56 bytes) and writteCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/8/stdout1275 2> log/8/stderr1275 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/8/stdout1276 2> log/8/stderr1276 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1255 ../src/curl -q --output log/1/curl1255.out --include --trace-ascii log/1/trace1255 --trace-time http://127.0.0.1:44029/1255 --noproxy 127.0.0.1 > log/1/stdout1255 2> log/1/stderr1255 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1256 ../src/curl -q --output log/7/curl1256.out --include --trace-ascii log/7/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/7/stdout1256 2> log/7/stderr1256 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/7/stdout1279 2> log/7/stderr1279 n to log/8/server.response 14:54:22.186569 special request received, no persistency 14:54:22.186578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 47024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1253 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1253 ==143588== ==143588== Process terminating with default action of signal 4 (SIGILL) ==143588== Illegal opcode at address 0x4014B6F ==143588== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143588== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143588== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143588== by 0x4004266: main (tool_main.c:199) === End of file valgrind1253 test 1275...[Verify capital letters after period in markdown files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/8/stdout1275 2> log/8/stderr1275 valgrind SKIPPED -------e--- OK (1198 out of 1725, remaining: 00:40, took 0.014s, duration: 01:32) test 1276...[Verify lib/optiontable.pl] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/8/stdout1276 2> log/8/stderr1276 valgrind SKIPPED -------e--- OK (1199 out of 1725, remaining: 00:40, took 0.023s, duration: 01:32) setenv http_proxy = http://127.0.0.1:44029 setenv NO_PROXY = example.com test 1255...[http_proxy, override NO_PROXY by --noproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1255 ../src/curl -q --output log/1/curl1255.out --include --trace-ascii log/1/trace1255 --trace-time http://127.0.0.1:44029/1255 --noproxy 127.0.0.1 > log/1/stdout1255 2> log/1/stderr1255 1255: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1255 ../src/curl -q --output log/1/curl1255.out --include --trace-ascii log/1/trace1255 --trace-time http://127.0.0.1:44029/1255 --noproxy 127.0.0.1 > log/1/stdout1255 2> log/1/stderr1255 === End of file commands.log === Start of file http_server.log 14:54:23.363882 ====> Client connect 14:54:23.363917 accept_connection 3 returned 4 14:54:23.363936 accept_connection 3 returned 0 14:54:23.363952 Read 93 bytes 14:54:23.363963 Process 93 bytes request 14:54:23.363977 Got request: GET /verifiedserver HTTP/1.1 14:54:23.363988 Are-we-friendly question received 14:54:23.364014 Wrote request (93 bytes) input to log/1/server.input 14:54:23.364033 Identifying ourselves as friends 14:54:23.364089 Response sent (56 bytes) and written to log/1/server.response 14:54:23.364101 special request received, no persistency 14:54:23.364111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1255 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1255 ==143856== ==143856== Process terminating with default action of signal 4 (SIGILL) ==143856== Illegal opcode at address 0x4014B6F ==143856== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143856== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143856== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143856== by 0x4004266: main (tool_main.c:199) === End of file valgrind1255 setenv http_proxy = http://127.0.0.1:40545 setenv NO_PROXY = example.com test 1256...[http_proxy, override NO_PROXY by --noproxy and target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1256 ../src/curl -q --output log/7/curl1256.out --include --trace-ascii log/7/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/7/stdout1256 2> log/7/stderr1256 1256: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1256 ../src/curl -q --output log/7/curl1256.out --include --trace-ascii log/7/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/7/stdout1256 2> log/7/stderr1256 === End of file commands.log === Start of file http_server.log 14:54:23.640240 ====> Client connect 14:54:23.640277 accept_connection 3 returned 4 14:54:23.640296 accept_connection 3 returned 0 14:54:23.640314 Read 93 bytes 14:54:23.640326 Process 93 bytes request 14:54:23.640343 Got request: GET /verifiedserver HTTP/1.1 14:54:23.640354 Are-we-friendly question received 14:54:23.640380 Wrote request (93 bytes) input to log/7/server.input 14:54:23.640400 Identifying ourselves as friends 14:54:23.640459 Response sent (56 bytes) and written to log/7/server.response 14:54:23.640472 special request received, no persistency 14:54:23.640483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1256 ==143952== ==143952== Process terminating with default action of signal 4 (SIGILL) ==143952== Illegal opcode at address 0x4014B6F ==143952== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==143952== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==143952== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==143952== by 0x4004266: main (tool_main.c:199) === End of file valgrind1256 test 1279...[Verify libcurl.def against CURL_EXTERN declarations] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1257 ../src/curl -q --output log/13/curl1257.out --include --trace-ascii log/13/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/13/stdout1257 2> log/13/stderr1257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1259 ../src/curl -q --output log/12/curl1259.out --include --trace-ascii log/12/trace1259 --trace-time "http://user:pass;word@127.0.0.1:43359/we/want/1259" > log/12/stdout1259 2> log/12/stderr1259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/10/stdout1260 2> log/10/stderr1260 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1258 ../src/curl -q --output log/4/curl1258.out --include --trace-ascii log/4/trace1258 --trace-time http://127.0.0.1:39793/we/want/1258 http://127.0.0.1:39793/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/4/stdout1258 2> log/4/stderr1258 7/stdout1279 2> log/7/stderr1279 valgrind SKIPPED s------e--- OK (1202 out of 1725, remaining: 00:40, took 0.022s, duration: 01:33) setenv http_proxy = http://127.0.0.1:41533 setenv NO_PROXY = example.com test 1257...[http_proxy, override NO_PROXY by --noproxy and target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1257 ../src/curl -q --output log/13/curl1257.out --include --trace-ascii log/13/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/13/stdout1257 2> log/13/stderr1257 1257: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1257 ../src/curl -q --output log/13/curl1257.out --include --trace-ascii log/13/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/13/stdout1257 2> log/13/stderr1257 === End of file commands.log === Start of file http_server.log 14:54:23.819877 ====> Client connect 14:54:23.819922 accept_connection 3 returned 4 14:54:23.819940 accept_connection 3 returned 0 14:54:23.819958 Read 93 bytes 14:54:23.819969 Process 93 bytes request 14:54:23.819984 Got request: GET /verifiedserver HTTP/1.1 14:54:23.819995 Are-we-friendly question received 14:54:23.820018 Wrote request (93 bytes) input to log/13/server.input 14:54:23.820038 Identifying ourselves as friends 14:54:23.820113 Response sent (56 bytes) and written to log/13/server.response 14:54:23.820125 special request received, no persistency 14:54:23.820135 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 58372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1257 ==144051== ==144051== Process terminating with default action of signal 4 (SIGILL) ==144051== Illegal opcode at address 0x4014B6F ==144051== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144051== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144051== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144051== by 0x4004266: main (tool_main.c:199) === End of file valgrind1257 test 1259...[HTTP URL with semicolon in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1259 ../src/curl -q --output log/12/curl1259.out --include --trace-ascii log/12/trace1259 --trace-time "http://user:pass;word@127.0.0.1:43359/we/want/1259" > log/12/stdout1259 2> log/12/stderr1259 1259: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1259 ../src/curl -q --output log/12/curl1259.out --include --trace-ascii log/12/trace1259 --trace-time "http://user:pass;word@127.0.0.1:43359/we/want/1259" > log/12/stdout1259 2> log/12/stderr1259 === End of file commands.log === Start of file http_server.log 14:54:23.845134 ====> Client connect 14:54:23.845162 accept_connection 3 returned 4 14:54:23.845175 accept_connection 3 returned 0 14:54:23.845188 Read 93 bytes 14:54:23.845196 Process 93 bytes request 14:54:23.845208 Got request: GET /verifiedserver HTTP/1.1 14:54:23.845216 Are-we-friendly question received 14:54:23.845234 Wrote request (93 bytes) input to log/12/server.input 14:54:23.845247 Identifying ourselves as friends 14:54:23.845287 Response sent (56 bytes) and written to log/12/server.response 14:54:23.845295 special request received, no persistency 14:54:23.845303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 51318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1259 ==144129== ==144129== Process terminating with default action of signal 4 (SIGILL) ==144129== Illegal opcode at address 0x4014B6F ==144129== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144129== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144129== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144129== by 0x4004266: main (tool_main.c:199) === End of file valgrind1259 test 1260...[HTTP URL with rubbish after port number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/10/stdout1260 2> log/10/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/10/ dir after test 1260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/10/stdout1260 2> log/10/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==144220== ==144220== Process terminating with default action of signal 4 (SIGILL) ==144220== Illegal opcode at address 0x4014B6F ==144220== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144220== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144220== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144220== by 0x4004266: main (tool_main.c:199) === End of file valgrind1260 test 1258...[HTTP, use cookies with localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1258 ../src/curl -q --output log/4/curl1258.out --include --trace-ascii log/4/trace1258 --trace-time http://127.0.0.1:39793/we/want/1258 http://127.0.0.1:39793/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/4/stdout1258 2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1263 ../src/curl -q --output log/21/curl1263.out --include --trace-ascii log/21/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/21/stdout1263 2> log/21/stderr1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1261 ../src/curl -q --include --trace-ascii log/20/trace1261 --trace-time http://127.0.0.1:39569/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/20/stdout1261 2> log/20/stderr1261 > log/4/stderr1258 1258: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1258 ../src/curl -q --output log/4/curl1258.out --include --trace-ascii log/4/trace1258 --trace-time http://127.0.0.1:39793/we/want/1258 http://127.0.0.1:39793/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/4/stdout1258 2> log/4/stderr1258 === End of file commands.log === Start of file http_server.log 14:54:23.821453 ====> Client connect 14:54:23.821526 accept_connection 3 returned 4 14:54:23.821545 accept_connection 3 returned 0 14:54:23.821626 Read 93 bytes 14:54:23.821671 Process 93 bytes request 14:54:23.821727 Got request: GET /verifiedserver HTTP/1.1 14:54:23.821738 Are-we-friendly question received 14:54:23.821762 Wrote request (93 bytes) input to log/4/server.input 14:54:23.821779 Identifying ourselves as friends 14:54:23.821841 Response sent (56 bytes) and written to log/4/server.response 14:54:23.821852 special request received, no persistency 14:54:23.821861 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1258 ==144052== ==144052== Process terminating with default action of signal 4 (SIGILL) ==144052== Illegal opcode at address 0x4014B6F ==144052== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144052== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144052== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144052== by 0x4004266: main (tool_main.c:199) === End of file valgrind1258 test 1263...[HTTP URL with rubbish after IPv6 bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1263 ../src/curl -q --output log/21/curl1263.out --include --trace-ascii log/21/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/21/stdout1263 2> log/21/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/21/ dir after test 1263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1263 ../src/curl -q --output log/21/curl1263.out --include --trace-ascii log/21/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/21/stdout1263 2> log/21/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==144274== ==144274== Process terminating with default action of signal 4 (SIGILL) ==144274== Illegal opcode at address 0x4014B6F ==144274== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144274== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144274== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144274== by 0x4004266: main (tool_main.c:199) === End of file valgrind1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1264 ../src/curl -q --output log/17/curl1264.out --include --trace-ascii log/17/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/17/stdout1264 2> log/17/stderr1264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1242 ../src/curl -q --output log/15/curl1242.out --include --trace-ascii log/15/trace1242 --trace-time tftp://127.0.0.1:39585//1242 --tftp-no-options > log/15/stdout1242 2> log/15/stderr1242 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1243 ../src/curl -q --output log/14/curl1243.out --include --trace-ascii log/14/trace1243 --trace-time -T log/14/test1243.txt tftp://127.0.0.1:39438// --tftp-no-options > log/14/stdout1243 2> log/14/stderr1243 test 1261...['redirect_url' with --location and --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1261 ../src/curl -q --include --trace-ascii log/20/trace1261 --trace-time http://127.0.0.1:39569/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/20/stdout1261 2> log/20/stderr1261 1261: stdout FAILED: --- log/20/check-expected 2025-09-11 14:54:24.818864765 +0000 +++ log/20/check-generated 2025-09-11 14:54:24.818864765 +0000 @@ -1,6 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -http://127.0.0.1:39569/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/20/ dir after test 1261 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] http://127.0.0.1:39569/we/want/our/data/10290002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1261 ../src/curl -q --include --trace-ascii log/20/trace1261 --trace-time http://127.0.0.1:39569/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/20/stdout1261 2> log/20/stderr1261 === End of file commands.log === Start of file http_server.log 14:54:23.907076 ====> Client connect 14:54:23.907102 accept_connection 3 returned 4 14:54:23.907116 accept_connection 3 returned 0 14:54:23.907130 Read 93 bytes 14:54:23.907139 Process 93 bytes request 14:54:23.907151 Got request: GET /verifiedserver HTTP/1.1 14:54:23.907159 Are-we-friendly question received 14:54:23.907178 Wrote request (93 bytes) input to log/20/server.input 14:54:23.907192 Identifying ourselves as friends 14:54:23.907233 Response sent (56 bytes) and written to log/20/server.response 14:54:23.907242 special request received, no persistency 14:54:23.907250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1261 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1261 ==144275== ==144275== Process terminating with default action of signal 4 (SIGILL) ==144275== Illegal opcode at address 0x4014B6F ==144275== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144275== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144275== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144275== by 0x4004266: main (tool_main.c:199) === End of file valgrind1261 test 1264...[HTTP URL with space in host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1264 ../src/curl -q --output log/17/curl1264.out --include --trace-ascii log/17/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/17/stdout1264 2> log/17/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/17/ dir after test 1264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1264 ../src/curl -q --output log/17/curl1264.out --include --trace-ascii log/17/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/17/stdout1264 2> log/17/stderr1264 === End of file commands.log === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==144276== ==144276== Process terminating with default action of signal 4 (SIGILL) ==144276== Illegal opcode at address 0x4014B6F ==144276== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144276== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144276== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144276== by 0x4004266: main (tool_main.c:199) === End of file valgrind1264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/15/server/tftp_server.pid" --portfile "log/15/server/tftp_server.port" --logfile "log/15/tftp_server.log" --logdir "log/15" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 142889 port 39585 * pid tftp => 142889 142889 test 1242...[TFTP retrieve without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1242 ../src/curl -q --output log/15/curl1242.out --include --trace-ascii log/15/trace1242 --trace-time tftp://127.0.0.1:39585//1242 --tftp-no-options > log/15/stdout1242 2> log/15/stderr1242 1242: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1242 ../src/curl -q --output log/15/curl1242.out --include --trace-ascii log/15/trace1242 --trace-time tftp://127.0.0.1:39585//1242 --tftp-no-options > log/15/stdout1242 2> log/15/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 14:54:22.945870 Wrote pid 142889 to log/15/server/tftp_server.pid 14:54:22.945932 Wrote port 39585 to log/15/server/tftp_server.port 14:54:22.945947 Running IPv4 version on port UDP/39585 === End of file tftp_server.log === Start of file valgrind1242 ==144372== ==144372== Process terminating with default action of signal 4 (SIGILL) ==144372== Illegal opcode at address 0x4014B6F ==144372== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144372== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144372== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144372== by 0x4004266: main (tool_main.c:199) === End of file valgrind1242 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/14/server/tftp_server.pid" --portfile "log/14/server/tftp_server.port" --logfile "log/14/tftp_server.log" --logdir "log/14" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 142902 port 39438 * pid tftp => 142902 142902 test 1243...[TFTP send without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1243 ../src/curl -q --output log/14/curl1243.out --include --trace-ascii log/14/trace1243 --trace-time -T log/14/test1243.txt tftp://127.0.0.1:39438// --tftp-no-options > log/14/stdout1243 2> log/14/stderr1243 1243: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in thCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:32907/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1277 ../src/curl -q --output log/8/curl1277.out --include --trace-ascii log/8/trace1277 --trace-time http://127.0.0.1:37085/1277 --tr-encoding --compressed > log/8/stdout1277 2> log/8/stderr1277 e log/14/ dir after test 1243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1243 ../src/curl -q --output log/14/curl1243.out --include --trace-ascii log/14/trace1243 --trace-time -T log/14/test1243.txt tftp://127.0.0.1:39438// --tftp-no-options > log/14/stdout1243 2> log/14/stderr1243 === End of file commands.log === Start of file server.cmd Testnum 1243 === End of file server.cmd === Start of file test1243.txt a chunk of data sent to server === End of file test1243.txt === Start of file tftp_server.log 14:54:22.951082 Wrote pid 142902 to log/14/server/tftp_server.pid 14:54:22.951137 Wrote port 39438 to log/14/server/tftp_server.port 14:54:22.951151 Running IPv4 version on port UDP/39438 === End of file tftp_server.log === Start of file valgrind1243 ==144388== ==144388== Process terminating with default action of signal 4 (SIGILL) ==144388== Illegal opcode at address 0x4014B6F ==144388== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144388== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144388== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144388== by 0x4004266: main (tool_main.c:199) === End of file valgrind1243 test 1262...[FTP request and denied to download an older file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:32907/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 1262: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:32907/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 === End of file commands.log === Start of file ftp_server.log 14:54:23.827023 ====> Client connect 14:54:23.827151 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:23.827407 < "USER anonymous" 14:54:23.827444 > "331 We are happy you popped in![CR][LF]" 14:54:23.827636 < "PASS ftp@example.com" 14:54:23.827663 > "230 Welcome you silly person[CR][LF]" 14:54:23.827808 < "PWD" 14:54:23.827839 > "257 "/" is current directory[CR][LF]" 14:54:23.827975 < "EPSV" 14:54:23.827998 ====> Passive DATA channel requested by client 14:54:23.828009 DATA sockfilt for passive data channel starting... 14:54:23.830040 DATA sockfilt for passive data channel started (pid 144263) 14:54:23.830162 DATA sockfilt for passive data channel listens on port 41283 14:54:23.830226 > "229 Entering Passive Mode (|||41283|)[LF]" 14:54:23.830251 Client has been notified that DATA conn will be accepted on port 41283 14:54:23.830514 Client connects to port 41283 14:54:23.830545 ====> Client established passive DATA connection on port 41283 14:54:23.830671 < "TYPE I" 14:54:23.830701 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:23.830854 < "SIZE verifiedserver" 14:54:23.830886 > "213 17[CR][LF]" 14:54:23.831023 < "RETR verifiedserver" 14:54:23.831050 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:23.831133 =====> Closing passive DATA connection... 14:54:23.831149 Server disconnects passive DATA connection 14:54:23.831323 Server disconnected passive DATA connection 14:54:23.831352 DATA sockfilt for passive data channel quits (pid 144263) 14:54:23.831596 DATA sockfilt for passive data channel quit (pid 144263) 14:54:23.831621 =====> Closed passive DATA connection 14:54:23.831650 > "226 File transfer complete[CR][LF]" 14:54:23.874055 < "QUIT" 14:54:23.874114 > "221 bye bye baby[CR][LF]" 14:54:23.874425 MAIN sockfilt said DISC 14:54:23.874454 ====> Client disconnected 14:54:23.874528 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:23.909746 ====> Client connect 14:54:23.909969 Received DATA (on stdin) 14:54:23.909983 > 160 bytes data, server => client 14:54:23.909993 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:23.910003 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:23.910012 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:23.910075 < 16 bytes data, client => server 14:54:23.910086 'USER anonymous\r\n' 14:54:23.910257 Received DATA (on stdin) 14:54:23.910268 > 33 bytes data, server => client 14:54:23.910278 '331 We are happy you popped in!\r\n' 14:54:23.910324 < 22 bytes data, client => server 14:54:23.910335 'PASS ftp@example.com\r\n' 14:54:23.910472 Received DATA (on stdin) 14:54:23.910483 > 30 bytes data, server => client 14:54:23.910492 '230 Welcome you silly person\r\n' 14:54:23.910531 < 5 bytes data, client => server 14:54:23.910540 'PWD\r\n' 14:54:23.910648 Received DATA (on stdin) 14:54:23.910658 > 30 bytes data, server => client 14:54:23.910667 '257 "/" is current directory\r\n' 14:54:23.910713 < 6 bytes data, client => server 14:54:23.910722 'EPSV\r\n' 14:54:23.913078 Received DATA (on stdin) 14:54:23.913096 > 38 bytes data, server => client 14:54:23.913109 '229 Entering Passive Mode (|||41283|)\n' 14:54:23.913377 < 8 bytes data, client => server 14:54:23.913391 'TYPE I\r\n' 14:54:23.913514 Received DATA (on stdin) 14:54:23.913526 > 33 bytes data, server => client 14:54:23.913537 '200 I modify TYPE as you wanted\r\n' 14:54:23.913588 < 21 bytes data, client => server 14:54:23.913599 'SIZE verifiedserver\r\n' 14:54:23.913696 Received DATA (on stdin) 14:54:23.913707 > 8 bytes data, server => client 14:54:23.913717 '213 17\r\n' 14:54:23.913760 < 21 bytes data, client => server 14:54:23.913771 'RETR verifiedserver\r\n' 14:54:23.913962 Received DATA (on stdin) 14:54:23.913975 > 29 bytes data, server => client 14:54:23.913986 '150 Binary junk (17 bytes).\r\n' 14:54:23.914467 Received DATA (on stdin) 14:54:23.914482 > 28 bytes data, server => client 14:54:23.914493 '226 File transfer complete\r\n' 14:54:23.956690 < 6 bytes data, client => server 14:54:23.956719 'QUIT\r\n' 14:54:23.956934 Received DATA (on stdin) 14:54:23.956950 > 18 bytes data, server => client 14:54:23.956962 '221 bye bye baby\r\n' 14:54:23.957182 ====> Client disconnect 14:54:23.957342 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:23.912516 Running IPv4 version 14:54:23.912580 Listening on port 41283 14:54:23.912616 Wrote pid 144263 to log/5/server/ftp_sockdata.pid 14:54:23.912789 Received PING (on stdin) 14:54:23.912884 Received PORT (on stdin) 14:54:23.913275 ====> Client connect 14:54:23.914012 Received DATA (on stdin) 14:54:23.914025 > 17 bytes data, server => client 14:54:23.914037 'WE ROOLZ: 80255\r\n' 14:54:23.914063 Received DISC (on stdin) 14:54:23.914076 ====> Client forcibly disconnected 14:54:23.914180 Received QUIT (on stdin) 14:54:23.914194 quits 14:54:23.914257 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==144498== ==144498== Process terminating with default action of signal 4 (SIGILL) ==144498== Illegal opcode at address 0x4014B6F ==144498== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144498== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144498== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144498== by 0x4004266: main (tool_main.c:199) === End of file valgrind1262 test 1277...[HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1230 ../src/curl -q --output log/6/curl1230.out --include --trace-ascii log/6/trace1230 --trace-time http://[1234:1234:1234::4ce]:38791/wanted/page/1230 -p -x 127.0.0.1:38791 > log/6/stdout1230 2> log/6/stderr1230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 TTP GET with both content and transfer encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1277 ../src/curl -q --output log/8/curl1277.out --include --trace-ascii log/8/trace1277 --trace-time http://127.0.0.1:37085/1277 --tr-encoding --compressed > log/8/stdout1277 2> log/8/stderr1277 1277: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1277 ../src/curl -q --output log/8/curl1277.out --include --trace-ascii log/8/trace1277 --trace-time http://127.0.0.1:37085/1277 --tr-encoding --compressed > log/8/stdout1277 2> log/8/stderr1277 === End of file commands.log === Start of file http_server.log 14:54:23.197547 ====> Client connect 14:54:23.197582 accept_connection 3 returned 4 14:54:23.197600 accept_connection 3 returned 0 14:54:23.197616 Read 93 bytes 14:54:23.197627 Process 93 bytes request 14:54:23.197642 Got request: GET /verifiedserver HTTP/1.1 14:54:23.197652 Are-we-friendly question received 14:54:23.197677 Wrote request (93 bytes) input to log/8/server.input 14:54:23.197694 Identifying ourselves as friends 14:54:23.197754 Response sent (56 bytes) and written to log/8/server.response 14:54:23.197765 special request received, no persistency 14:54:23.197775 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 47036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1277 ==145108== ==145108== Process terminating with default action of signal 4 (SIGILL) ==145108== Illegal opcode at address 0x4014B6F ==145108== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145108== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145108== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145108== by 0x4004266: main (tool_main.c:199) === End of file valgrind1277 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/6/server/http2_server.pid" --logfile "log/6/http2_server.log" --logdir "log/6" --portfile log/6/server/http2_server.port --config log/6/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 142331 port 35269 * pid http-proxy => 142331 142331 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_ipv6_server.pid" --logfile "log/6/http_ipv6_server.log" --logdir "log/6" --portfile log/6/server/http_ipv6_server.port --config log/6/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 143636 port 35075 * pid http-ipv6 => 143636 143636 test 1230...[HTTP CONNECT to IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1230 ../src/curl -q --output log/6/curl1230.out --include --trace-ascii log/6/trace1230 --trace-time http://[1234:1234:1234::4ce]:38791/wanted/page/1230 -p -x 127.0.0.1:38791 > log/6/stdout1230 2> log/6/stderr1230 1230: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1230 ../src/curl -q --output log/6/curl1230.out --include --trace-ascii log/6/trace1230 --trace-time http://[1234:1234:1234::4ce]:38791/wanted/page/1230 -p -x 127.0.0.1:38791 > log/6/stdout1230 2> log/6/stderr1230 === End of file commands.log === Start of file http2_server.log 14:54:22.227925 Run as proxy, CONNECT to host 127.0.0.1 14:54:22.228061 Running HTTP IPv4 version on port 35269 14:54:22.228102 Wrote pid 142331 to log/6/server/http2_server.pid 14:54:22.228137 Wrote port 35269 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_ipv6_server.log 14:54:23.226059 Running HTTP IPv6 version on port 35075 14:54:23.226159 Wrote pid 143636 to log/6/server/http_ipv6_server.pid 14:54:23.226191 Wrote port 35075 to log/6/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 14:54:24.225727 ====> Client connect 14:54:24.225764 accept_connection 3 returned 4 14:54:24.225784 accept_connection 3 returned 0 14:54:24.225800 Read 93 bytes 14:54:24.225811 Process 93 bytes request 14:54:24.225826 Got request: GET /verifiedserver HTTP/1.1 14:54:24.225837 Are-we-friendly question received 14:54:24.225862 Wrote request (93 bytes) input to log/6/server.input 14:54:24.225879 Identifying ourselves as friends 14:54:24.225934 Response sent (56 bytes) and written to log/6/server.response 14:54:24.225945 special request received, no persistency 14:54:24.225955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1230 ==145128== ==145128== Process terminating with default action of signal 4 (SIGILL) ==145128== Illegal opcode at address 0x4014B6F ==145128== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145128== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145128== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145128== by 0x4004266: main (tool_main.c:199) === End of file valgrind1230 test 1269...[too large --retry-delay value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/16/ dir after test 1269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1268 ../src/curl -q --output log/9/curl1268.out --include --trace-ascii log/9/trace1268 --trace-time --stderr log/9/moo1268 --unix-socket -q hej://moo > log/9/stdout1268 2> log/9/stderr1268 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:34449/1267 --http0.9 > log/24/stdout1267 2> log/24/stderr1267 y 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 === End of file commands.log === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==144632== ==144632== Process terminating with default action of signal 4 (SIGILL) ==144632== Illegal opcode at address 0x4014B6F ==144632== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144632== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144632== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144632== by 0x4004266: main (tool_main.c:199) === End of file valgrind1269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1271 ../src/curl -q --output log/18/curl1271.out --include --trace-ascii log/18/trace1271 --trace-time http://127.0.0.1:43297/we/want/our/1271 -w @log/18/blank1271 > log/18/stdout1271 2> log/18/stderr1271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1266 ../src/curl -q --output log/19/curl1266.out --include --trace-ascii log/19/trace1266 --trace-time http://127.0.0.1:33805/1266 --http0.9 > log/19/stdout1266 2> log/19/stderr1266 test 1268...[filename argument looks like a flag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1268 ../src/curl -q --output log/9/curl1268.out --include --trace-ascii log/9/trace1268 --trace-time --stderr log/9/moo1268 --unix-socket -q hej://moo > log/9/stdout1268 2> log/9/stderr1268 1268: output (log/9/moo1268) FAILED: --- log/9/check-expected 2025-09-11 14:54:25.055531436 +0000 +++ log/9/check-generated 2025-09-11 14:54:25.055531436 +0000 @@ -1,2 +0,0 @@ -Warning: The filename argument '-q' looks like a flag.[CR][LF] -curl: (1) Protocol "hej" not supported[CR][LF] == Contents of files in the log/9/ dir after test 1268 === Start of file check-expected Warning: The filename argument '-q' looks like a flag.[CR][LF] curl: (1) Protocol "hej" not supported[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1268 ../src/curl -q --output log/9/curl1268.out --include --trace-ascii log/9/trace1268 --trace-time --stderr log/9/moo1268 --unix-socket -q hej://moo > log/9/stdout1268 2> log/9/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==144620== ==144620== Process terminating with default action of signal 4 (SIGILL) ==144620== Illegal opcode at address 0x4014B6F ==144620== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144620== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144620== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144620== by 0x4004266: main (tool_main.c:199) === End of file valgrind1268 test 1271...[--write-out from file with empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1271 ../src/curl -q --output log/18/curl1271.out --include --trace-ascii log/18/trace1271 --trace-time http://127.0.0.1:43297/we/want/our/1271 -w @log/18/blank1271 > log/18/stdout1271 2> log/18/stderr1271 1271: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1271 ../src/curl -q --output log/18/curl1271.out --include --trace-ascii log/18/trace1271 --trace-time http://127.0.0.1:43297/we/want/our/1271 -w @log/18/blank1271 > log/18/stdout1271 2> log/18/stderr1271 === End of file commands.log === Start of file http_server.log 14:54:24.142226 ====> Client connect 14:54:24.142259 accept_connection 3 returned 4 14:54:24.142277 accept_connection 3 returned 0 14:54:24.142293 Read 93 bytes 14:54:24.142305 Process 93 bytes request 14:54:24.142320 Got request: GET /verifiedserver HTTP/1.1 14:54:24.142331 Are-we-friendly question received 14:54:24.142369 Wrote request (93 bytes) input to log/18/server.input 14:54:24.142400 Identifying ourselves as friends 14:54:24.142504 Response sent (56 bytes) and written to log/18/server.response 14:54:24.142517 special request received, no persistency 14:54:24.142528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 34004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1271 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1271 ==144874== ==144874== Process terminating with default action of signal 4 (SIGILL) ==144874== Illegal opcode at address 0x4014B6F ==144874== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144874== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144874== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144874== by 0x4004266: main (tool_main.c:199) === End of file valgrind1271 test 1266...[HTTP GET with a single-byte HTTP/0.9 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1266 ../src/curl -q --output log/19/curl1266.out --include --trace-ascii log/19/trace1266 --trace-time http://127.0.0.1:33805/1266 --http0.9 > log/19/stdout1266 2> log/19/stderr1266 1266: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1266 ../src/curl -q --output log/19/curl1266.out --include --trace-ascii log/19/trace1266 --trace-time http://127.0.0.1:33805/1266 --http0.9 > log/19/stdout1266 2> log/19/stderr1266 === End of file commands.log === Start of file http_server.log 14:54:23.100042 ====> Client connect 14:54:23.100079 accept_connection 3 returned 4 14:54:23.100099 accept_connection 3 returned 0 14:54:23.100116 Read 93 bytes 14:54:23.100127 Process 93 bytes request 14:54:23.100142 Got request: GET /verifiedserver HTTP/1.1 14:54:23.100153 Are-we-friendly question received 14:54:23.100180 Wrote request (93 bytes) input to log/19/server.input 14:54:23.100198 Identifying ourselves as friends 14:54:23.100269 Response sent (56 bytes) and written to log/19/server.response 14:54:23.100281 special request received, no persistency 14:54:23.100291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1266 ==144658== ==144658== Process terminating with default action of signal 4 (SIGILL) ==144658== Illegal opcode at address 0x4014B6F ==144658== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144658== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144658== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144658== by 0x4004266: main (tool_main.c:199) === End of file valgrind1266 test 1267...[HTTP GET with an invalid HTTP/1 response line start] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:34449/1267 --http0.9 > log/24/stdout1267 2> log/24/stderr1267 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1270 ../src/curl -q --include --trace-ascii log/22/trace1270 --trace-time http://127.0.0.1:42027/we/want/our/1270 -w '%{redirect_url}\n' -s > log/22/stdout1270 2> log/22/stderr1270 1267: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:34449/1267 --http0.9 > log/24/stdout1267 2> log/24/stderr1267 === End of file commands.log === Start of file http_server.log 14:54:24.102652 ====> Client connect 14:54:24.102685 accept_connection 3 returned 4 14:54:24.102703 accept_connection 3 returned 0 14:54:24.102718 Read 93 bytes 14:54:24.102729 Process 93 bytes request 14:54:24.102741 Got request: GET /verifiedserver HTTP/1.1 14:54:24.102752 Are-we-friendly question received 14:54:24.102778 Wrote request (93 bytes) input to log/24/server.input 14:54:24.102795 Identifying ourselves as friends 14:54:24.102849 Response sent (56 bytes) and written to log/24/server.response 14:54:24.102860 special request received, no persistency 14:54:24.102871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1267 ==144668== ==144668== Process terminating with default action of signal 4 (SIGILL) ==144668== Illegal opcode at address 0x4014B6F ==144668== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144668== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144668== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144668== by 0x4004266: main (tool_main.c:199) === End of file valgrind1267 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1273 ../src/curl -q --output log/3/curl1273.out --include --trace-ascii log/3/trace1273 --trace-time http://127.0.0.1:46791/1273 -C - -f > log/3/stdout1273 2> log/3/stderr1273 RUN: Process with pid 74489 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1274 ../src/curl -q --output log/11/curl1274.out --include --trace-ascii log/11/trace1274 --trace-time http://127.0.0.1:33503/1274 -D log/11/out1274 > log/11/stdout1274 2> log/11/stderr1274 RUN: Process with pid 74489 gracefully died test 1270...[Basic 'redirect_url'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1270 ../src/curl -q --include --trace-ascii log/22/trace1270 --trace-time http://127.0.0.1:42027/we/want/our/1270 -w '%{redirect_url}\n' -s > log/22/stdout1270 2> log/22/stderr1270 1270: stdout FAILED: --- log/22/check-expected 2025-09-11 14:54:25.065531436 +0000 +++ log/22/check-generated 2025-09-11 14:54:25.065531436 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 Captive Portal[CR][LF] -Server: ohlala/2000[CR][LF] -Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] -Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] -Location: https://moo.moo.moo[CR][LF] -Content-Type: text/html; charset=utf-8[CR][LF] -X-Frame-Options: SAMEORIGIN[CR][LF] -Strict-Transport-Security: max-age=604800[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -https://moo.moo.moo/[LF] == Contents of files in the log/22/ dir after test 1270 === Start of file check-expected HTTP/1.1 302 Captive Portal[CR][LF] Server: ohlala/2000[CR][LF] Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] Location: https://moo.moo.moo[CR][LF] Content-Type: text/html; charset=utf-8[CR][LF] X-Frame-Options: SAMEORIGIN[CR][LF] Strict-Transport-Security: max-age=604800[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] https://moo.moo.moo/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1270 ../src/curl -q --include --trace-ascii log/22/trace1270 --trace-time http://127.0.0.1:42027/we/want/our/1270 -w '%{redirect_url}\n' -s > log/22/stdout1270 2> log/22/stderr1270 === End of file commands.log === Start of file http_server.log 14:54:24.133705 ====> Client connect 14:54:24.133737 accept_connection 3 returned 4 14:54:24.133754 accept_connection 3 returned 0 14:54:24.133769 Read 93 bytes 14:54:24.133780 Process 93 bytes request 14:54:24.133794 Got request: GET /verifiedserver HTTP/1.1 14:54:24.133805 Are-we-friendly question received 14:54:24.133834 Wrote request (93 bytes) input to log/22/server.input 14:54:24.133851 Identifying ourselves as friends 14:54:24.133906 Response sent (56 bytes) and written to log/22/server.response 14:54:24.133916 special request received, no persistency 14:54:24.133926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 50066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1270 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1270 ==144845== ==144845== Process terminating with default action of signal 4 (SIGILL) ==144845== Illegal opcode at address 0x4014B6F ==144845== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144845== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144845== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144845== by 0x4004266: main (tool_main.c:199) === End of file valgrind1270 test 1274...[HTTP header line folding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1274 ../src/curl -q --output log/11/curl1274.out --include --trace-ascii log/11/trace1274 --trace-time http://127.0.0.1:33503/1274 -D log/11/out1274 > log/11/stdout1274 2> log/11/stderr1274 1274: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1274 ../src/curl -q --output log/11/curl1274.out --include --trace-ascii log/11/trace1274 --trace-time http://127.0.0.1:33503/1274 -D log/11/out1274 > log/11/stdout1274 2> log/11/stderr1274 === End of file commands.log === Start of file http_server.log 14:54:24.156603 ====> Client connect 14:54:24.156641 accept_connection 3 returned 4 14:54:24.156662 accept_connection 3 returned 0 14:54:24.156681 Read 93 bytes 14:54:24.156694 Process 93 bytes request 14:54:24.156709 Got request: GET /verifiedserver HTTP/1.1 14:54:24.156721 Are-we-friendly question received 14:54:24.156752 Wrote request (93 bytes) input to log/11/server.input 14:54:24.156771 Identifying ourselves as friends 14:54:24.156833 Response sent (56 bytes) and written to log/11/server.response 14:54:24.156845 special request received, no persistency 14:54:24.156855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 38264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1274 ==144944== ==144944== Process terminating with default action of signal 4 (SIGILL) ==144944== Illegal opcode at address 0x4014B6F ==144944== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144944== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144944== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144944== by 0x4004266: main (tool_main.c:199) === End of file valgrind1274 test 1273...[-f and resume transfer of an entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1273 ../src/curl -q --output log/3/curl1273.out --include --trace-ascii log/3/trace1273 --trace-time http://127.0.0.1:46791/1273 -C - -f > log/3/stdout1273 2> log/3/stderr1273 1273: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1273 ../src/curl -q --output log/3/curl1273.out --include --trace-ascii log/3/trace1273 --trace-time http://127.0.0.1:46791/1273 -C - -f > log/3/stdout1273 2> log/3/stderr1273 === End of file commands.log === Start of file curl1273.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1273.out === Start of file http_server.log 14:54:24.146363 ====> Client connect 14:54:24.146392 accept_connection 3 returned 4 14:54:24.146406 accept_connection 3 returned 0 14:54:24.146503 Read 93 bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1278 ../src/curl -q --include --trace-ascii log/1/trace1278 --trace-time http://127.0.0.1:44029/1278 --no-progress-meter -o log/1/out1278 --no-remote-name -w '%{stderr}yes\n' > log/1/stdout1278 2> log/1/stderr1278 ytes 14:54:24.146516 Process 93 bytes request 14:54:24.146530 Got request: GET /verifiedserver HTTP/1.1 14:54:24.146540 Are-we-friendly question received 14:54:24.146570 Wrote request (93 bytes) input to log/3/server.input 14:54:24.146589 Identifying ourselves as friends 14:54:24.146645 Response sent (56 bytes) and written to log/3/server.response 14:54:24.146657 special request received, no persistency 14:54:24.146667 ====> Client disconnect 0 exit_signal_handler: called 14:54:25.155250 signalled to die 14:54:25.155339 ========> IPv4 sws (port 46791 pid: 74489) exits with signal (15) 14:54:25.155356 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46791... * Established connection to 127.0.0.1 (127.0.0.1 port 46791) from 127.0.0.1 port 33814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74489 === End of file http_verify.out === Start of file server.cmd Testnum 1273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74489 === End of file server.response === Start of file valgrind1273 ==144916== ==144916== Process terminating with default action of signal 4 (SIGILL) ==144916== Illegal opcode at address 0x4014B6F ==144916== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==144916== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==144916== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==144916== by 0x4004266: main (tool_main.c:199) === End of file valgrind1273 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1280 ../src/curl -q --output log/7/curl1280.out --include --trace-ascii log/7/trace1280 --trace-time http://127.0.0.1:40545/[a-d]/1280 > log/7/stdout1280 2> log/7/stderr1280 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1301 ./libtest/libtests lib1301 - > log/11/stdout1301 2> log/11/stderr1301 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1281 ../src/curl -q --output log/13/curl1281.out --include --trace-ascii log/13/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/13/stdout1281 2> log/13/stderr1281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1283 ../src/curl -q --include --trace-ascii log/10/trace1283 --trace-time http://127.0.0.1:35893/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/10/outfile1283_#1#2#3#4.dump" > log/10/stdout1283 2> log/10/stderr1283 test 1278...[verify extra --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1278 ../src/curl -q --include --trace-ascii log/1/trace1278 --trace-time http://127.0.0.1:44029/1278 --no-progress-meter -o log/1/out1278 --no-remote-name -w '%{stderr}yes\n' > log/1/stdout1278 2> log/1/stderr1278 1278: stderr FAILED: --- log/1/check-expected 2025-09-11 14:54:25.222198104 +0000 +++ log/1/check-generated 2025-09-11 14:54:25.222198104 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/1/ dir after test 1278 === Start of file check-expected yes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1278 ../src/curl -q --include --trace-ascii log/1/trace1278 --trace-time http://127.0.0.1:44029/1278 --no-progress-meter -o log/1/out1278 --no-remote-name -w '%{stderr}yes\n' > log/1/stdout1278 2> log/1/stderr1278 === End of file commands.log === Start of file http_server.log 14:54:24.335755 ====> Client connect 14:54:24.335792 accept_connection 3 returned 4 14:54:24.335811 accept_connection 3 returned 0 14:54:24.335828 Read 93 bytes 14:54:24.335840 Process 93 bytes request 14:54:24.335855 Got request: GET /verifiedserver HTTP/1.1 14:54:24.335866 Are-we-friendly question received 14:54:24.335891 Wrote request (93 bytes) input to log/1/server.input 14:54:24.335909 Identifying ourselves as friends 14:54:24.335966 Response sent (56 bytes) and written to log/1/server.response 14:54:24.335979 special request received, no persistency 14:54:24.335989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 50230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1278 ==145234== ==145234== Process terminating with default action of signal 4 (SIGILL) ==145234== Illegal opcode at address 0x4014B6F ==145234== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145234== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145234== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145234== by 0x4004266: main (tool_main.c:199) === End of file valgrind1278 test 1280...[simple [a-d] globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1280 ../src/curl -q --output log/7/curl1280.out --include --trace-ascii log/7/trace1280 --trace-time http://127.0.0.1:40545/[a-d]/1280 > log/7/stdout1280 2> log/7/stderr1280 1280: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1280 ../src/curl -q --output log/7/curl1280.out --include --trace-ascii log/7/trace1280 --trace-time http://127.0.0.1:40545/[a-d]/1280 > log/7/stdout1280 2> log/7/stderr1280 === End of file commands.log === Start of file http_server.log 14:54:24.680818 ====> Client connect 14:54:24.680853 accept_connection 3 returned 4 14:54:24.680871 accept_connection 3 returned 0 14:54:24.680888 Read 93 bytes 14:54:24.680900 Process 93 bytes request 14:54:24.680916 Got request: GET /verifiedserver HTTP/1.1 14:54:24.680927 Are-we-friendly question received 14:54:24.680953 Wrote request (93 bytes) input to log/7/server.input 14:54:24.680971 Identifying ourselves as friends 14:54:24.681025 Response sent (56 bytes) and written to log/7/server.response 14:54:24.681037 special request received, no persistency 14:54:24.681047 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1280 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1280 ==145343== ==145343== Process terminating with default action of signal 4 (SIGILL) ==145343== Illegal opcode at address 0x4014B6F ==145343== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145343== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145343== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145343== by 0x4004266: main (tool_main.c:199) === End of file valgrind1280 test 1301...[curl_strequal tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1301 ./libtest/libtests lib1301 - > log/11/stdout1301 2> log/11/stderr1301 -------e-v- OK (1222 out of 1725, remaining: 00:38, took 0.595s, duration: 01:34) test 1281...[reject non-numerical port number in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1281 ../src/curl -q --output log/13/curl1281.out --include --trace-ascii log/13/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/13/stdout1281 2> log/13/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/13/ dir after test 1281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1281 ../src/curl -q --output log/13/curl1281.out --include --trace-ascii log/13/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/13/stdout1281 2> log/13/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==145406== ==145406== Process terminating with default action of signal 4 (SIGILL) ==145406== Illegal opcode at address 0x4014B6F ==145406== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145406== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145406== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145406== by 0x4004266: main (tool_main.c:199) === End of file valgrind1281 test 1283...[globbing range with same start and stop] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1283 ../src/curl -q --include --trace-ascii log/10/trace1283 --trace-time http://127.0.0.1:35893/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/10/outfile1283_#1#2#3#4.dump" > log/10/stdout1283 2> logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1282 ../src/curl -q --output log/12/curl1282.out --include --trace-ascii log/12/trace1282 --trace-time ftp://127.0.0.1:38141/1282 > log/12/stdout1282 2> log/12/stderr1282 /10/stderr1283 1283: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1283 ../src/curl -q --include --trace-ascii log/10/trace1283 --trace-time http://127.0.0.1:35893/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/10/outfile1283_#1#2#3#4.dump" > log/10/stdout1283 2> log/10/stderr1283 === End of file commands.log === Start of file http_server.log 14:54:24.848291 ====> Client connect 14:54:24.848324 accept_connection 3 returned 4 14:54:24.848342 accept_connection 3 returned 0 14:54:24.848358 Read 93 bytes 14:54:24.848369 Process 93 bytes request 14:54:24.848383 Got request: GET /verifiedserver HTTP/1.1 14:54:24.848392 Are-we-friendly question received 14:54:24.848412 Wrote request (93 bytes) input to log/10/server.input 14:54:24.848427 Identifying ourselves as friends 14:54:24.848473 Response sent (56 bytes) and written to log/10/server.response 14:54:24.848483 special request received, no persistency 14:54:24.848490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 43202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1283 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1283 ==145478== ==145478== Process terminating with default action of signal 4 (SIGILL) ==145478== Illegal opcode at address 0x4014B6F ==145478== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145478== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145478== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145478== by 0x4004266: main (tool_main.c:199) === End of file valgrind1283 test 1282...[FTP with 633 response before gss initialized] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1282 ../src/curl -q --output log/12/curl1282.out --include --trace-ascii log/12/trace1282 --trace-time ftp://127.0.0.1:38141/1282 > log/12/stdout1282 2> log/12/stderr1282 1282: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1282 ../src/curl -q --output log/12/curl1282.out --include --trace-ascii log/12/trace1282 --trace-time ftp://127.0.0.1:38141/1282 > log/12/stdout1282 2> log/12/stderr1282 === End of file commands.log === Start of file ftp_server.log 14:54:24.761897 ====> Client connect 14:54:24.762069 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:24.762399 < "USER anonymous" 14:54:24.762462 > "331 We are happy you popped in![CR][LF]" 14:54:24.762667 < "PASS ftp@example.com" 14:54:24.762703 > "230 Welcome you silly person[CR][LF]" 14:54:24.762863 < "PWD" 14:54:24.762893 > "257 "/" is current directory[CR][LF]" 14:54:24.763754 < "EPSV" 14:54:24.763795 ====> Passive DATA channel requested by client 14:54:24.763810 DATA sockfilt for passive data channel starting... 14:54:24.765474 DATA sockfilt for passive data channel started (pid 145458) 14:54:24.765572 DATA sockfilt for passive data channel listens on port 44403 14:54:24.765608 > "229 Entering Passive Mode (|||44403|)[LF]" 14:54:24.765624 Client has been notified that DATA conn will be accepted on port 44403 14:54:24.765879 Client connects to port 44403 14:54:24.765911 ====> Client established passive DATA connection on port 44403 14:54:24.766010 < "TYPE I" 14:54:24.766036 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:24.766166 < "SIZE verifiedserver" 14:54:24.766192 > "213 17[CR][LF]" 14:54:24.766309 < "RETR verifiedserver" 14:54:24.766334 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:24.766399 =====> Closing passive DATA connection... 14:54:24.766415 Server disconnects passive DATA connection 14:54:24.766591 Server disconnected passive DATA connection 14:54:24.766615 DATA sockfilt for passive data channel quits (pid 145458) 14:54:24.766841 DATA sockfilt for passive data channel quit (pid 145458) 14:54:24.766924 =====> Closed passive DATA connection 14:54:24.766952 > "226 File transfer complete[CR][LF]" 14:54:24.813936 < "QUIT" 14:54:24.813992 > "221 bye bye baby[CR][LF]" 14:54:24.814716 MAIN sockfilt said DISC 14:54:24.814759 ====> Client disconnected 14:54:24.814827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:23.844597 ====> Client connect 14:54:23.844897 Received DATA (on stdin) 14:54:23.844913 > 160 bytes data, server => client 14:54:23.844927 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:23.844939 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:23.844950 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:23.845042 < 16 bytes data, client => server 14:54:23.845055 'USER anonymous\r\n' 14:54:23.845283 Received DATA (on stdin) 14:54:23.845297 > 33 bytes data, server => client 14:54:23.845310 '331 We are happy you popped in!\r\n' 14:54:23.845366 < 22 bytes data, client => server 14:54:23.845382 'PASS ftp@example.com\r\n' 14:54:23.845518 Received DATA (on stdin) 14:54:23.845530 > 30 bytes data, server => client 14:54:23.845542 '230 Welcome you silly person\r\n' 14:54:23.845590 < 5 bytes data, client => server 14:54:23.845601 'PWD\r\n' 14:54:23.845721 Received DATA (on stdin) 14:54:23.846056 > 30 bytes data, server => client 14:54:23.846071 '257 "/" is current directory\r\n' 14:54:23.846406 < 6 bytes data, client => server 14:54:23.846426 'EPSV\r\n' 14:54:23.848436 Received DATA (on stdin) 14:54:23.848448 > 38 bytes data, server => client 14:54:23.848473 '229 Entering Passive Mode (|||44403|)\n' 14:54:23.848636 < 8 bytes data, client => server 14:54:23.848650 'TYPE I\r\n' 14:54:23.848845 Received DATA (on stdin) 14:54:23.848856 > 33 bytes data, server => client 14:54:23.848865 '200 I modify TYPE as you wanted\r\n' 14:54:23.848907 < 21 bytes data, client => server 14:54:23.848917 'SIZE verifiedserver\r\n' 14:54:23.848999 Received DATA (on stdin) 14:54:23.849009 > 8 bytes data, server => client 14:54:23.849017 '213 17\r\n' 14:54:23.849054 < 21 bytes data, client => server 14:54:23.849063 'RETR verifiedserver\r\n' 14:54:23.849229 Received DATA (on stdin) 14:54:23.849243 > 29 bytes data, server => client 14:54:23.849254 '150 Binary junk (17 bytes).\r\n' 14:54:23.849764 Received DATA (on stdin) 14:54:23.849777 > 28 bytes data, server => client 14:54:23.849789 '226 File transfer complete\r\n' 14:54:23.896566 < 6 bytes data, client => server 14:54:23.896593 'QUIT\r\n' 14:54:23.896809 Received DATA (on stdin) 14:54:23.896823 > 18 bytes data, server => client 14:54:23.896835 '221 bye bye baby\r\n' 14:54:23.897461 ====> Client disconnect 14:54:23.897643 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:24.848120 Running IPv4 version 14:54:24.848183 ListeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1300 ./unit/units unit1300 - > log/18/stdout1300 2> log/18/stderr1300 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/1284 > log/4/stdout1284 2> log/4/stderr1284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1289 ../src/curl -q --output log/14/curl1289.out --include --trace-ascii log/14/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/14/stdout1289 2> log/14/stderr1289 ning on port 44403 14:54:24.848217 Wrote pid 145458 to log/12/server/ftp_sockdata.pid 14:54:24.848233 Received PING (on stdin) 14:54:24.848306 Received PORT (on stdin) 14:54:24.848604 ====> Client connect 14:54:24.849281 Received DATA (on stdin) 14:54:24.849296 > 17 bytes data, server => client 14:54:24.849307 'WE ROOLZ: 80195\r\n' 14:54:24.849333 Received DISC (on stdin) 14:54:24.849346 ====> Client forcibly disconnected 14:54:24.849435 Received QUIT (on stdin) 14:54:24.849448 quits 14:54:24.849505 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 633 XXXXXXXX\x00\x00XXXXXXXX Testnum 1282 === End of file server.cmd === Start of file valgrind1282 ==145589== ==145589== Process terminating with default action of signal 4 (SIGILL) ==145589== Illegal opcode at address 0x4014B6F ==145589== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145589== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145589== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145589== by 0x4004266: main (tool_main.c:199) === End of file valgrind1282 test 1300...[llist unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1300 ./unit/units unit1300 - > log/18/stdout1300 2> log/18/stderr1300 units returned 132, when expecting 0 1300: exit FAILED == Contents of files in the log/18/ dir after test 1300 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1300 ./unit/units unit1300 - > log/18/stdout1300 2> log/18/stderr1300 === End of file commands.log === Start of file server.cmd Testnum 1300 === End of file server.cmd === Start of file stderr1300 URL: - === End of file stderr1300 === Start of file valgrind1300 ==146225== ==146225== Process terminating with default action of signal 4 (SIGILL) ==146225== Illegal opcode at address 0x400A4BE ==146225== at 0x400A4BE: UnknownInlinedFun (llist.c:89) ==146225== by 0x400A4BE: test_unit1300.lto_priv.0 (unit1300.c:125) ==146225== by 0x400A18F: main (first.c:281) === End of file valgrind1300 test 1284...[HTTP POST --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/1284 > log/4/stdout1284 2> log/4/stderr1284 1284: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/1284 > log/4/stdout1284 2> log/4/stderr1284 === End of file commands.log === Start of file http_server.log 14:54:24.855250 ====> Client connect 14:54:24.855291 accept_connection 3 returned 4 14:54:24.855308 accept_connection 3 returned 0 14:54:24.855323 Read 93 bytes 14:54:24.855334 Process 93 bytes request 14:54:24.855349 Got request: GET /verifiedserver HTTP/1.1 14:54:24.855359 Are-we-friendly question received 14:54:24.855382 Wrote request (93 bytes) input to log/4/server.input 14:54:24.855404 Identifying ourselves as friends 14:54:24.855455 Response sent (56 bytes) and written to log/4/server.response 14:54:24.855466 special request received, no persistency 14:54:24.855476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 45490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1284 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1284 ==145508== ==145508== Process terminating with default action of signal 4 (SIGILL) ==145508== Illegal opcode at address 0x4014B6F ==145508== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145508== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145508== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145508== by 0x4004266: main (tool_main.c:199) === End of file valgrind1284 test 1289...[globbing with overflow and bad syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1289 ../src/curl -q --output log/14/curl1289.out --include --trace-ascii log/14/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/14/stdout1289 2> log/14/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/14/ dir after test 1289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1289 ../src/curl -q --output log/14/curl1289.out --include --trace-ascii log/14/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/14/stdout1289 2> log/14/stderr1289 === End of file commands.log === Start of file http_server.log 14:54:24.944218 ====> Client connect 14:54:24.944259 accept_connection 3 returned 4 14:54:24.944278 accept_connection 3 returned 0 14:54:24.944295 Read 93 bytes 14:54:24.944307 Process 93 bytes request 14:54:24.944324 Got request: GET /verifiedserver HTTP/1.1 14:54:24.944335 Are-we-friendly question received 14:54:24.944367 Wrote request (93 bytes) input to log/14/server.input 14:54:24.944387 Identifying ourselves as friends 14:54:24.944450 Response sent (56 bytes) and written to log/14/server.response 14:54:24.944464 special request received, no persistency 14:54:24.944475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 47096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1289 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1289 ==145781== ==145781== Process terminating with default action of signal 4 (SIGILL) ==145781== Illegal opcode at address 0x4014B6F ==145781== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145781== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145781== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145781== by 0x4004266: main (tool_main.c:199) === End of file valgrind1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1290 ../src/curl -q --output log/5/curl1290.out --include --trace-ascii log/5/trace1290 --trace-time "http://127.0.0.1:46041/we/want/[]/page/1290" > log/5/stdout1290 2> log/5/stderr1290 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1285 ../src/curl -q --output log/21/curl1285.out --include --trace-ascii log/21/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/21/put1285 http://127.0.0.1:34037/1285 > log/21/stdout1285 2> log/21/stderr1285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1286 ../src/curl -q --output log/20/curl1286.out --include --trace-ascii log/20/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:39569/1286 > log/20/stdout1286 2> log/20/stderr1286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1302 ./unit/units unit1302 - > log/3/stdout1302 2> log/3/stderr1302 289 test 1290...[Verify URL globbing ignores []] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1290 ../src/curl -q --output log/5/curl1290.out --include --trace-ascii log/5/trace1290 --trace-time "http://127.0.0.1:46041/we/want/[]/page/1290" > log/5/stdout1290 2> log/5/stderr1290 1290: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1290 ../src/curl -q --output log/5/curl1290.out --include --trace-ascii log/5/trace1290 --trace-time "http://127.0.0.1:46041/we/want/[]/page/1290" > log/5/stdout1290 2> log/5/stderr1290 === End of file commands.log === Start of file http_server.log 14:54:24.944199 ====> Client connect 14:54:24.944236 accept_connection 3 returned 4 14:54:24.944255 accept_connection 3 returned 0 14:54:24.944271 Read 93 bytes 14:54:24.944282 Process 93 bytes request 14:54:24.944297 Got request: GET /verifiedserver HTTP/1.1 14:54:24.944309 Are-we-friendly question received 14:54:24.944340 Wrote request (93 bytes) input to log/5/server.input 14:54:24.944359 Identifying ourselves as friends 14:54:24.944422 Response sent (56 bytes) and written to log/5/server.response 14:54:24.944434 special request received, no persistency 14:54:24.944444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 55306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1290 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1290 ==145784== ==145784== Process terminating with default action of signal 4 (SIGILL) ==145784== Illegal opcode at address 0x4014B6F ==145784== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145784== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145784== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145784== by 0x4004266: main (tool_main.c:199) === End of file valgrind1290 test 1285...[HTTP PUT --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1285 ../src/curl -q --output log/21/curl1285.out --include --trace-ascii log/21/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/21/put1285 http://127.0.0.1:34037/1285 > log/21/stdout1285 2> log/21/stderr1285 1285: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1285 ../src/curl -q --output log/21/curl1285.out --include --trace-ascii log/21/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/21/put1285 http://127.0.0.1:34037/1285 > log/21/stdout1285 2> log/21/stderr1285 === End of file commands.log === Start of file http_server.log 14:54:24.919812 ====> Client connect 14:54:24.919843 accept_connection 3 returned 4 14:54:24.919858 accept_connection 3 returned 0 14:54:24.919871 Read 93 bytes 14:54:24.919880 Process 93 bytes request 14:54:24.919894 Got request: GET /verifiedserver HTTP/1.1 14:54:24.919902 Are-we-friendly question received 14:54:24.919928 Wrote request (93 bytes) input to log/21/server.input 14:54:24.919942 Identifying ourselves as friends 14:54:24.919987 Response sent (56 bytes) and written to log/21/server.response 14:54:24.919998 special request received, no persistency 14:54:24.920008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 38158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file put1285 This is data we upload with PUT a second line line three four is the number of lines === End of file put1285 === Start of file server.cmd Testnum 1285 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1285 ==145710== ==145710== Process terminating with default action of signal 4 (SIGILL) ==145710== Illegal opcode at address 0x4014B6F ==145710== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145710== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145710== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145710== by 0x4004266: main (tool_main.c:199) === End of file valgrind1285 test 1302...[base64 encode/decode unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1302 ./unit/units unit1302 - > log/3/stdout1302 2> log/3/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/3/ dir after test 1302 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1302 ./unit/units unit1302 - > log/3/stdout1302 2> log/3/stderr1302 === End of file commands.log === Start of file server.cmd Testnum 1302 === End of file server.cmd === Start of file stderr1302 URL: - === End of file stderr1302 === Start of file valgrind1302 ==146524== ==146524== Process terminating with default action of signal 4 (SIGILL) ==146524== Illegal opcode at address 0x40A7A03 ==146524== at 0x40A7A03: UnknownInlinedFun (string_fortified.h:59) ==146524== by 0x40A7A03: curlx_base64_decode (base64.c:112) ==146524== by 0x400B369: test_unit1302.lto_priv.0 (unit1302.c:146) ==146524== by 0x400A18F: main (first.c:281) ==146524== 2 bytes in 1 blocks are definitely lost in loss record 1 of 14 ==146524== at 0x49907A8: malloc (vg_replace_malloc.c:446) ==146524== by 0x40A79E8: curlx_base64_decode (base64.c:106) ==146524== by 0x400B369: test_unit1302.lto_priv.0 (unit1302.c:146) ==146524== by 0x400A18F: main (first.c:281) ==146524== === End of file valgrind1302 test 1286...[HTTP GET --digest increasing nonce-count] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1286 ../src/curl -q --output log/20/curl1286.out --include --trace-ascii log/20/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:39569/1286 > log/20/stdout1286 2> log/20/stderr1286 1286: protocol FAILED! There was CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1288 ../src/curl -q --include --trace-ascii log/15/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:33761 http://127.0.0.1:42107/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1286 ../src/curl -q --output log/20/curl1286.out --include --trace-ascii log/20/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:39569/1286 > log/20/stdout1286 2> log/20/stderr1286 === End of file commands.log === Start of file http_server.log 14:54:24.932143 ====> Client connect 14:54:24.932174 accept_connection 3 returned 4 14:54:24.932193 accept_connection 3 returned 0 14:54:24.932210 Read 93 bytes 14:54:24.932222 Process 93 bytes request 14:54:24.932237 Got request: GET /verifiedserver HTTP/1.1 14:54:24.932248 Are-we-friendly question received 14:54:24.932273 Wrote request (93 bytes) input to log/20/server.input 14:54:24.932292 Identifying ourselves as friends 14:54:24.932351 Response sent (56 bytes) and written to log/20/server.response 14:54:24.932362 special request received, no persistency 14:54:24.932373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 41964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1286 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1286 ==145767== ==145767== Process terminating with default action of signal 4 (SIGILL) ==145767== Illegal opcode at address 0x4014B6F ==145767== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145767== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145767== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145767== by 0x4004266: main (tool_main.c:199) === End of file valgrind1286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1265 ../src/curl -q --output log/23/curl1265.out --include --trace-ascii log/23/trace1265 --trace-time http://[::1]:40857/1265 > log/23/stdout1265 2> log/23/stderr1265 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1292 ../src/curl -q --output log/6/curl1292.out --include --trace-ascii log/6/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:38791/1292 > log/6/stdout1292 2> log/6/stderr1292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1291 ../src/curl -q --output log/8/curl1291.out --include --trace-ascii log/8/trace1291 --trace-time -K log/8/cmd1291 --fail-early > log/8/stdout1291 2> log/8/stderr1291 test 1288...[Suppress proxy CONNECT response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1288 ../src/curl -q --include --trace-ascii log/15/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:33761 http://127.0.0.1:42107/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 1288: stdout FAILED: --- log/15/check-expected 2025-09-11 14:54:25.878864781 +0000 +++ log/15/check-generated 2025-09-11 14:54:25.878864781 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -[CR][LF] -contents[LF] -[LF] -CONNECT CODE: 200[LF] -RECEIVED HEADER BYTE TOTAL: 231[LF] == Contents of files in the log/15/ dir after test 1288 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] [CR][LF] contents[LF] [LF] CONNECT CODE: 200[LF] RECEIVED HEADER BYTE TOTAL: 231[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1288 ../src/curl -q --include --trace-ascii log/15/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:33761 http://127.0.0.1:42107/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 === End of file commands.log === Start of file http2_server.log 14:54:24.953390 ====> Client connect 14:54:24.953426 accept_connection 3 returned 4 14:54:24.953445 accept_connection 3 returned 0 14:54:24.953460 Read 93 bytes 14:54:24.953475 Process 93 bytes request 14:54:24.953489 Got request: GET /verifiedserver HTTP/1.1 14:54:24.953500 Are-we-friendly question received 14:54:24.953526 Wrote request (93 bytes) input to log/15/proxy.input 14:54:24.953549 Identifying ourselves as friends 14:54:24.953614 Response sent (57 bytes) and written to log/15/proxy.response 14:54:24.953629 special request received, no persistency 14:54:24.953639 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33761... * Established connection to 127.0.0.1 (127.0.0.1 port 33761) from 127.0.0.1 port 44680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33761 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:33761 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 103138 === End of file http2_verify.out === Start of file http_server.log 14:54:24.934619 ====> Client connect 14:54:24.934652 accept_connection 3 returned 4 14:54:24.934669 accept_connection 3 returned 0 14:54:24.934956 Read 93 bytes 14:54:24.934970 Process 93 bytes request 14:54:24.934980 Got request: GET /verifiedserver HTTP/1.1 14:54:24.934988 Are-we-friendly question received 14:54:24.935011 Wrote request (93 bytes) input to log/15/server.input 14:54:24.935026 Identifying ourselves as friends 14:54:24.935067 Response sent (56 bytes) and written to log/15/server.response 14:54:24.935076 special request received, no persistency 14:54:24.935084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 51762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 103138 === End of file proxy.response === Start of file server.cmd Testnum 1288 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1288 ==145855== ==145855== Process terminating with default action of signal 4 (SIGILL) ==145855== Illegal opcode at address 0x4014B6F ==145855== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145855== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145855== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145855== by 0x4004266: main (tool_main.c:199) === End of file valgrind1288 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_ipv6_server.pid" --logfile "log/23/http_ipv6_server.log" --logdir "log/23" --portfile log/23/server/http_ipv6_server.port --config log/23/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 144588 port 40857 * pid http-ipv6 => 144588 144588 setenv http_proxy = http://127.0.0.1:38851 setenv NO_PROXY = ::1 test 1265...[NO_PROXY with IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1265 ../src/curl -q --output log/23/curl1265.out --include --trace-ascii log/23/trace1265 --trace-time http://[::1]:40857/1265 > log/23/stdout1265 2> log/23/stderr1265 1265: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1265 ../src/curl -q --output log/23/curl1265.out --include --trace-ascii log/23/trace1265 --trace-time http://[::1]:40857/1265 > log/23/stdout1265 2> log/23/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 14:54:23.044305 Running HTTP IPv6 version on port 40857 14:54:23.044427 Wrote pid 144588 to log/23/server/http_ipv6_server.pid 14:54:23.044462 Wrote port 40857 to log/23/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1265 === End of file server.cmd === Start of file valgrind1265 ==145998== ==145998== Process terminating with default action of signal 4 (SIGILL) ==145998== Illegal opcode at address 0x4014B6F ==145998== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==145998== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==145998== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==145998== by 0x4004266: main (tool_main.c:199) === End of file valgrind1265 test 1292...[Replaced internal headers with a blank one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1292 ../src/curl -q --output log/6/curl1292.out --include --trace-ascii log/6/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:38791/1292 > log/6/stdout1292 2> log/6/stderr1292 1292: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1292 ../src/curl -q --output log/6/curl1292.out --include --trace-ascii log/6/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:38791/1292 > log/6/stdout1292 2> log/6/stderr1292 === End of file commands.log === Start of file http_server.log 14:54:25.145337 ====> Client connect 14:54:25.145374 accept_connection 3 returned 4 14:54:25.145391 accept_connection 3 returned 0 14:54:25.145407 Read 93 bytes 14:54:25.145419 Process 93 bytes request 14:54:25.145433 Got request: GET /verifiedserver HTTP/1.1 14:54:25.145444 Are-we-friendly question received 14:54:25.145471 Wrote request (93 bytes) input to log/6/server.input 14:54:25.145489 Identifying ourselves as friends 14:54:25.145544 Response sent (56 bytes) and written to log/6/server.response 14:54:25.145556 special request received, no persistency 14:54:25.145567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 38844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1292 ==146161== ==146161== Process terminating with default action of signal 4 (SIGILL) ==146161== Illegal opcode at address 0x4014B6F ==146161== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146161== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146161== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146161== by 0x4004266: main (tool_main.c:199) === End of file valgrind1292 prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/8/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/8/cmd1291; test 1291...[Attempt to upload 1000 files but fail immediately] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1291 ../src/curl -q --output log/8/curl1291.out --include --trace-ascii log/8/trace1291 --trace-time -K log/8/cmd1291 --fail-early > log/8/stdout1291 2> log/8/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/8/ dir after test 1291 === Start of file cmd1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this === File too long: 599 lines omitted here upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1299 ../src/curl -q --output log/19/curl1299.out --include --trace-ascii log/19/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33805/ -H "Testno: 1299" > log/19/stdout1299 2> log/19/stderr1299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1293 ../src/curl -q --output log/16/curl1293.out --include --trace-ascii log/16/trace1293 --trace-time http://0 http://127.0.0.1:34475/1293 -F= > log/16/stdout1293 2> log/16/stderr1293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1298 ../src/curl -q --output log/22/curl1298.out --include --trace-ascii log/22/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:42027/" -H "Testno: 1298" > log/22/stdout1298 2> log/22/stderr1298 le=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/8/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 === End of file cmd1291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1291 ../src/curl -q --output log/8/curl1291.out --include --trace-ascii log/8/trace1291 --trace-time -K log/8/cmd1291 --fail-early > log/8/stdout1291 2> log/8/stderr1291 === End of file commands.log === Start of file server.cmd Testnum 1291 === End of file server.cmd === Start of file upload-this XXXXXXXx === End of file upload-this === Start of file valgrind1291 ==146051== ==146051== Process terminating with default action of signal 4 (SIGILL) ==146051== Illegal opcode at address 0x4014B6F ==146051== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146051== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146051== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146051== by 0x4004266: main (tool_main.c:199) === End of file valgrind1291 test 1293...[Multipart formpost to two URLs, the first failing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1293 ../src/curl -q --output log/16/curl1293.out --include --trace-ascii log/16/trace1293 --trace-time http://0 http://127.0.0.1:34475/1293 -F= > log/16/stdout1293 2> log/16/stderr1293 1293: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1293 ../src/curl -q --output log/16/curl1293.out --include --trace-ascii log/16/trace1293 --trace-time http://0 http://127.0.0.1:34475/1293 -F= > log/16/stdout1293 2> log/16/stderr1293 === End of file commands.log === Start of file http_server.log 14:54:25.153930 ====> Client connect 14:54:25.153968 accept_connection 3 returned 4 14:54:25.153986 accept_connection 3 returned 0 14:54:25.154002 Read 93 bytes 14:54:25.154013 Process 93 bytes request 14:54:25.154027 Got request: GET /verifiedserver HTTP/1.1 14:54:25.154037 Are-we-friendly question received 14:54:25.154063 Wrote request (93 bytes) input to log/16/server.input 14:54:25.154081 Identifying ourselves as friends 14:54:25.154138 Response sent (56 bytes) and written to log/16/server.response 14:54:25.154150 special request received, no persistency 14:54:25.154160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 46760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1296 ../src/curl -q --output log/9/curl1296.out --include --trace-ascii log/9/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34345/1296 > log/9/stdout1296 2> log/9/stderr1296 7.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1293 ==146201== ==146201== Process terminating with default action of signal 4 (SIGILL) ==146201== Illegal opcode at address 0x4014B6F ==146201== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146201== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146201== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146201== by 0x4004266: main (tool_main.c:199) === End of file valgrind1293 test 1299...[Send "OPTIONS *" with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1299 ../src/curl -q --output log/19/curl1299.out --include --trace-ascii log/19/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33805/ -H "Testno: 1299" > log/19/stdout1299 2> log/19/stderr1299 1299: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1299 ../src/curl -q --output log/19/curl1299.out --include --trace-ascii log/19/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33805/ -H "Testno: 1299" > log/19/stdout1299 2> log/19/stderr1299 === End of file commands.log === Start of file http_server.log 14:54:24.174498 ====> Client connect 14:54:24.174523 accept_connection 3 returned 4 14:54:24.174536 accept_connection 3 returned 0 14:54:24.174548 Read 93 bytes 14:54:24.174558 Process 93 bytes request 14:54:24.174567 Got request: GET /verifiedserver HTTP/1.1 14:54:24.174576 Are-we-friendly question received 14:54:24.174596 Wrote request (93 bytes) input to log/19/server.input 14:54:24.174609 Identifying ourselves as friends 14:54:24.174649 Response sent (56 bytes) and written to log/19/server.response 14:54:24.174658 special request received, no persistency 14:54:24.174666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 33510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1299 ==146281== ==146281== Process terminating with default action of signal 4 (SIGILL) ==146281== Illegal opcode at address 0x4014B6F ==146281== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146281== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146281== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146281== by 0x4004266: main (tool_main.c:199) === End of file valgrind1299 test 1298...[HTTP GET special path with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1298 ../src/curl -q --output log/22/curl1298.out --include --trace-ascii log/22/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:42027/" -H "Testno: 1298" > log/22/stdout1298 2> log/22/stderr1298 1298: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1298 ../src/curl -q --output log/22/curl1298.out --include --trace-ascii log/22/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:42027/" -H "Testno: 1298" > log/22/stdout1298 2> log/22/stderr1298 === End of file commands.log === Start of file http_server.log 14:54:25.174508 ====> Client connect 14:54:25.174539 accept_connection 3 returned 4 14:54:25.174556 accept_connection 3 returned 0 14:54:25.174570 Read 93 bytes 14:54:25.174581 Process 93 bytes request 14:54:25.174592 Got request: GET /verifiedserver HTTP/1.1 14:54:25.174603 Are-we-friendly question received 14:54:25.174625 Wrote request (93 bytes) input to log/22/server.input 14:54:25.174642 Identifying ourselves as friends 14:54:25.174692 Response sent (56 bytes) and written to log/22/server.response 14:54:25.174703 special request received, no persistency 14:54:25.174712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 50068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1298 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1298 ==146291== ==146291== Process terminating with default action of signal 4 (SIGILL) ==146291== Illegal opcode at address 0x4014B6F ==146291== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146291== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146291== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146291== by 0x4004266: main (tool_main.c:199) === End of file valgrind1298 test 1296...[HTTP URL with %0a in name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1296 ../src/curl -q --output log/9/curl1296.out --include --trace-ascii log/9/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34345/1296 > log/9/stdout1296 2> log/9/stderr1296 1296: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1296 ../src/curl -q --output log/9/curl1296.out --include --trace-ascii log/9/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34345/1296 > log/9/stdout1296 2> log/9/stderr1296 === End of file commands.log === Start of file http_server.log 14:54:25.168544 ====> Client connect 14:54:25.168578 accept_connection 3 returned 4 14:54:25.168597 accept_connection 3 returned 0 14:54:25.168612 Read 93 bytes 14:54:25.168624 Process 93 bytes request 14:54:25.168638 Got request: GET /verifiedserver HTTP/1.1 14:54:25.168649 Are-we-friendly question received 14:54:25.168677 Wrote request (93 bytes) input to log/9/server.input 14:54:25.168CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1303 ./unit/units unit1303 - > log/1/stdout1303 2> log/1/stderr1303 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1304 ./unit/units unit1304 log/7/netrc1304 > log/7/stdout1304 2> log/7/stderr1304 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1305 ./unit/units unit1305 1305 > log/11/stdout1305 2> log/11/stderr1305 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1306 ./unit/units unit1305 - > log/13/stdout1306 2> log/13/stderr1306 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1308 ./libtest/libtests lib1308 log/10/test-1308 > log/10/stdout1308 2> log/10/stderr1308 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1309 ./unit/units unit1309 - > log/12/stdout1309 2> log/12/stderr1309 695 Identifying ourselves as friends 14:54:25.168755 Response sent (56 bytes) and written to log/9/server.response 14:54:25.168767 special request received, no persistency 14:54:25.168778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 34362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1296 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1296 ==146275== ==146275== Process terminating with default action of signal 4 (SIGILL) ==146275== Illegal opcode at address 0x4014B6F ==146275== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146275== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146275== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146275== by 0x4004266: main (tool_main.c:199) === End of file valgrind1296 test 1303...[Curl_timeleft unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1303 ./unit/units unit1303 - > log/1/stdout1303 2> log/1/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/1/ dir after test 1303 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1303 ./unit/units unit1303 - > log/1/stdout1303 2> log/1/stderr1303 === End of file commands.log === Start of file server.cmd Testnum 1303 === End of file server.cmd === Start of file stderr1303 URL: - === End of file stderr1303 === Start of file valgrind1303 ==146563== ==146563== Process terminating with default action of signal 4 (SIGILL) ==146563== Illegal opcode at address 0x407BE33 ==146563== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==146563== by 0x407BE33: UnknownInlinedFun (request.c:46) ==146563== by 0x407BE33: Curl_open (url.c:551) ==146563== by 0x403D9A5: curl_easy_init (easy.c:372) ==146563== by 0x400B74B: UnknownInlinedFun (unit1303.c:35) ==146563== by 0x400B74B: test_unit1303.lto_priv.0 (unit1303.c:72) ==146563== by 0x400A18F: main (first.c:281) ==146563== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==146563== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==146563== by 0x407BD83: Curl_open (url.c:530) ==146563== by 0x403D9A5: curl_easy_init (easy.c:372) ==146563== by 0x400B74B: UnknownInlinedFun (unit1303.c:35) ==146563== by 0x400B74B: test_unit1303.lto_priv.0 (unit1303.c:72) ==146563== by 0x400A18F: main (first.c:281) ==146563== === End of file valgrind1303 test 1304...[netrc parsing unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1304 ./unit/units unit1304 log/7/netrc1304 > log/7/stdout1304 2> log/7/stderr1304 -------e-v- OK (1225 out of 1725, remaining: 00:38, took 0.574s, duration: 01:34) test 1305...[internal hash create/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1305 ./unit/units unit1305 1305 > log/11/stdout1305 2> log/11/stderr1305 -------e-v- OK (1226 out of 1725, remaining: 00:38, took 0.559s, duration: 01:34) test 1306...[internal hash create/add/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1306 ./unit/units unit1305 - > log/13/stdout1306 2> log/13/stderr1306 -------e-v- OK (1227 out of 1725, remaining: 00:38, took 0.564s, duration: 01:34) test 1308...[formpost tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1308 ./libtest/libtests lib1308 log/10/test-1308 > log/10/stdout1308 2> log/10/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/10/ dir after test 1308 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1308 ./libtest/libtests lib1308 log/10/test-1308 > log/10/stdout1308 2> log/10/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/10/test-1308 === End of file stderr1308 === Start of file test-1308 Piece of the file that is to uploaded as a formpost === End of file test-1308 === Start of file valgrind1308 ==146736== ==146736== Process terminating with default action of signal 4 (SIGILL) ==146736== Illegal opcode at address 0x5188815 ==146736== at 0x5188815: UnknownInlinedFun (string_fortified.h:59) ==146736== by 0x5188815: curl_mime_init (mime.c:1291) ==146736== by 0x5156988: Curl_getformdata.part.0 (formdata.c:813) ==146736== by 0x5156E69: UnknownInlinedFun (formdata.c:810) ==146736== by 0x5156E69: curl_formget (formdata.c:703) ==146736== by 0x4023860: test_lib1308.lto_priv.0 (lib1308.c:69) ==146736== by 0x400347F: main (first.c:281) ==146736== 96 bytes in 1 blocks are definitely lost in loss record 10 of 23 ==146736== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==146736== by 0x51887EF: curl_mime_init (mime.c:1284) ==146736== by 0x5156988: Curl_getformdata.part.0 (formdata.c:813) ==146736== by 0x5156E69: UnknownInlinedFun (formdata.c:810) ==146736== by 0x5156E69: curl_formget (formdata.c:703) ==146736== by 0x4023860: test_lib1308.lto_priv.0 (lib1308.c:69) ==146736== by 0x400347F: main (first.c:281) ==146736== === End of file valgrind1308 test 1309...[splay unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1309 ./unit/units unit1309 - > log/12/stdout1309 2> log/12/stderr1309 1309: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:26.508864791 +0000 +++ log/12/check-generated 2025-09-11 14:54:26.508864791 +0000 @@ -1,1537 +0,0 @@ -Result:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -Tree look:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove pointer 7, payload 718[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[2][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.777[3][LF] - 0.767[5][LF] - 0.757[4][LF] -0.708[0][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[7][LF] - 0.590[8][LF] - 0.580[6][LF] - 0.541[1][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] - 0.413[3][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove pointer 8, payload 236[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[7][LF] - 0.757[6][LF] - 0.708[2][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[1][LF] - 0.531[6][LF] - 0.521[7][LF] - 0.472[5][LF] - 0.462[6][LF] - 0.413[4][LF] - 0.403[3][LF] - 0.393[2][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[3][LF] - 0.295[6][LF] - 0.285[5][LF] - 0.275[4][LF] -0.226[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.167[4][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.108[5][LF] - 0.98[4][LF] - 0.59[5][LF] - 0.49[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 9, payload 777[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.895[2][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[1][LF] - 0.826[3][LF] - 0.816[2][LF] -0.767[0][LF] - 0.757[2][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[7][LF] - 0.344[6][LF] - 0.334[5][LF] - 0.295[8][LF] - 0.285[7][LF] - 0.275[6][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 10, payload 295[LF] -Tree look:[LF] - 0.1013[8][LF] - 0.1003[7][LF] - 0.954[8][LF] - 0.944[6][LF] - 0.934[5][LF] - 0.895[4][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[3][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[3][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[6][LF] - 0.344[5][LF] - 0.334[3][LF] -0.285[0][LF] - 0.275[2][LF] - 0.226[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.167[5][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.108[6][LF] - 0.98[5][LF] - 0.59[6][LF] - 0.49[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 11, payload 836[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[3][LF] - 0.875[2][LF] -0.826[0][LF] - 0.816[2][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[4][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.354[8][LF] - 0.344[7][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove pointer 12, payload 354[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[5][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[9][LF] - 0.590[10][LF] - 0.580[8][LF] - 0.541[3][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] -0.344[0][LF] - 0.334[1][LF] - 0.285[2][LF] - 0.275[4][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 13, payload 895[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.954[4][LF] - 0.944[2][LF] - 0.934[1][LF] -0.885[0][LF] - 0.875[2][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[5][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove pointer 14, payload 413[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.885[2][LF] - 0.875[3][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[3][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] -0.403[0][LF] - 0.393[2][LF] - 0.344[1][LF] - 0.334[2][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove pointer 15, payload 954[LF] -Tree look:[LF] - 0.1013[2][LF] - 0.1003[1][LF] -0.944[0][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[5][LF] - 0.531[7][LF] - 0.521[8][LF] - 0.472[6][LF] - 0.462[7][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove pointer 16, payload 472[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[3][LF] - 0.531[4][LF] - 0.521[5][LF] -0.462[0][LF] - 0.403[1][LF] - 0.393[3][LF] - 0.344[2][LF] - 0.334[3][LF] - 0.285[4][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.167[9][LF] - 0.157[7][LF] - 0.118[8][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[10][LF] - 0.49[12][LF] - 0.39[11][LF] - 0.0[12][LF] -remove pointer 17, payload 1013[LF] -Tree look:[LF] -0.1003[0][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[6][LF] - 0.767[5][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[4][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.462[2][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove pointer 18, payload 531[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[2][LF] -0.521[0][LF] - 0.462[1][LF] - 0.403[2][LF] - 0.393[4][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove pointer 19, payload 49[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[7][LF] - 0.767[6][LF] - 0.757[8][LF] - 0.708[7][LF] - 0.698[8][LF] - 0.659[9][LF] - 0.649[10][LF] - 0.639[11][LF] - 0.600[13][LF] - 0.590[14][LF] - 0.580[12][LF] - 0.541[4][LF] - 0.521[2][LF] - 0.462[1][LF] - 0.403[3][LF] - 0.393[4][LF] - 0.344[2][LF] - 0.334[4][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[6][LF] -0.39[0][LF] - 0.0[1][LF] -remove pointer 20, payload 590[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[6][LF] -0.580[0][LF] - 0.541[2][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[6][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[7][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[8][LF] - 0.39[3][LF] - 0.0[4][LF] -remove pointer 21, payload 108[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[2][LF] - 0.541[3][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[4][LF] -0.98[0][LF] - 0.59[2][LF] - 0.39[1][LF] - 0.0[2][LF] -remove pointer 22, payload 649[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[4][LF] - 0.708[3][LF] - 0.698[2][LF] - 0.659[3][LF] -0.639[0][LF] - 0.600[2][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[5][LF] - 0.275[9][LF] - 0.226[8][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[6][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove pointer 23, payload 167[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.639[2][LF] - 0.600[3][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[6][LF] - 0.393[7][LF] - 0.344[5][LF] - 0.334[6][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.157[0][LF] - 0.118[1][LF] - 0.98[2][LF] - 0.59[4][LF] - 0.39[3][LF] - 0.0[4][LF] -remove pointer 24, payload 708[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[2][LF] -0.698[0][LF] - 0.659[2][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[6][LF] - 0.403[8][LF] - 0.393[9][LF] - 0.344[7][LF] - 0.334[8][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 25, payload 226[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[4][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[3][LF] - 0.275[4][LF] -0.216[0][LF] - 0.177[2][LF] - 0.157[1][LF] - 0.118[2][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove pointer 26, payload 767[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] -0.757[0][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[5][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.285[5][LF] - 0.275[6][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 27, payload 285[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[5][LF] - 0.875[6][LF] - 0.826[4][LF] - 0.816[5][LF] - 0.757[2][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[4][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] -0.275[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[6][LF] - 0.39[5][LF] - 0.0[6][LF] -remove pointer 28, payload 826[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[2][LF] - 0.875[3][LF] -0.816[0][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[6][LF] - 0.580[5][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.275[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.98[7][LF] - 0.59[9][LF] - 0.39[8][LF] - 0.0[9][LF] -remove pointer 29, payload 344[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] - 0.403[5][LF] - 0.393[6][LF] -0.334[0][LF] - 0.275[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 30, payload 885[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] -0.875[0][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[5][LF] - 0.541[8][LF] - 0.521[7][LF] - 0.462[6][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 31, payload 403[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 32, payload 944[LF] -Tree look:[LF] - 0.1003[1][LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[5][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 33, payload 462[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[4][LF] - 0.521[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 34, payload 1003[LF] -Tree look:[LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 35, payload 521[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 36, payload 39[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[5][LF] - 0.698[6][LF] - 0.659[8][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[4][LF] - 0.541[5][LF] - 0.393[2][LF] - 0.334[1][LF] - 0.275[3][LF] - 0.216[2][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[5][LF] -0.0[0][LF] -remove pointer 37, payload 580[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] -0.541[0][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[7][LF] - 0.0[3][LF] -remove pointer 38, payload 98[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.541[2][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[3][LF] -0.59[0][LF] - 0.0[1][LF] -remove pointer 39, payload 639[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[3][LF] -0.600[0][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[4][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.157[7][LF] - 0.118[5][LF] - 0.59[3][LF] - 0.0[4][LF] -remove pointer 40, payload 157[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.600[2][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.118[0][LF] - 0.59[1][LF] - 0.0[2][LF] -remove pointer 41, payload 698[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[5][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 42, payload 216[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[3][LF] - 0.275[4][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 43, payload 757[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[5][LF] - 0.334[4][LF] - 0.275[5][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 44, payload 275[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.334[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 45, payload 816[LF] -Tree look:[LF] - 0.934[1][LF] - 0.875[2][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[4][LF] - 0.393[5][LF] - 0.334[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 46, payload 334[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[3][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 47, payload 875[LF] -Tree look:[LF] - 0.934[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 48, payload 393[LF] -Tree look:[LF] - 0.934[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 49, payload 934[LF] -Tree look:[LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 0, payload 0[LF] -Tree look:[LF] - 0.659[1][LF] -0.600[0][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[1][LF] - 0.59[2][LF] -remove pointer 1, payload 541[LF] -Tree look:[LF] - 0.659[2][LF] - 0.600[1][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] -remove pointer 2, payload 59[LF] -Tree look:[LF] - 0.659[3][LF] - 0.600[2][LF] - 0.177[1][LF] -0.118[0][LF] -remove pointer 3, payload 600[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] - 0.118[1][LF] -remove pointer 4, payload 118[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] -remove pointer 5, payload 659[LF] -Tree look:[LF] -0.177[0][LF] -remove pointer 6, payload 177[LF] -Removing nodes not larger than 0[LF] -removed payload 0[0][LF] -Removing nodes not larger than 100[LF] -removed payload 39[0][LF] -removed payload 49[0][LF] -removed payload 49[1][LF] -removed payload 59[0][LF] -removed payload 59[1][LF] -removed payload 59[2][LF] -removed payload 98[0][LF] -removed payload 98[1][LF] -removed payload 98[2][LF] -Removing nodes not larger than 200[LF] -removed payload 108[0][LF] -removed payload 118[0][LF] -removed payload 118[1][LF] -removed payload 157[0][LF] -removed payload 157[1][LF] -removed payload 167[0][LF] -removed payload 167[1][LF] -removed payload 167[2][LF] -removed payload 177[0][LF] -Removing nodes not larger than 300[LF] -removed payload 216[0][LF] -removed payload 226[0][LF] -removed payload 226[1][LF] -removed payload 236[0][LF] -removed payload 236[1][LF] -removed payload 236[2][LF] -removed payload 275[0][LF] -removed payload 275[1][LF] -removed payload 275[2][LF] -removed payload 285[0][LF] -removed payload 295[0][LF] -removed payload 295[1][LF] -Removing nodes not larger than 400[LF] -removed payload 334[0][LF] -removed payload 334[1][LF] -removed payload 344[0][LF] -removed payload 344[1][LF] -removed payload 344[2][LF] -removed payload 354[0][LF] -removed payload 393[0][LF] -Removing nodes not larger than 500[LF] -removed payload 403[0][LF] -removed payload 403[1][LF] -removed payload 413[0][LF] -removed payload 413[1][LF] -removed payload 413[2][LF] -removed payload 462[0][LF] -removed payload 472[0][LF] -removed payload 472[1][LF] -Removing nodes not larger than 600[LF] -removed payload 521[0][LF] -removed payload 521[1][LF] -removed payload 521[2][LF] -removed payload 531[0][LF] -removed payload 541[0][LF] -removed payload 541[1][LF] -removed payload 580[0][LF] -removed payload 580[1][LF] -removed payload 590[0][LF] -removed payload 590[1][LF] -removed payload 590[2][LF] -removed payload 600[0][LF] -Removing nodes not larger than 700[LF] -removed payload 639[0][LF] -removed payload 649[0][LF] -removed payload 649[1][LF] -removed payload 659[0][LF] -removed payload 659[1][LF] -removed payload 659[2][LF] -removed payload 698[0][LF] -removed payload 698[1][LF] -removed payload 698[2][LF] -Removing nodes not larger than 800[LF] -removed payload 708[0][LF] -removed payload 718[0][LF] -removed payload 718[1][LF] -removed payload 757[0][LF] -removed payload 757[1][LF] -removed payload 767[0][LF] -removed payload 767[1][LF] -removed payload 767[2][LF] -removed payload 777[0][LF] -Removing nodes not larger than 900[LF] -removed payload 816[0][LF] -removed payload 826[0][LF] -removed payload 826[1][LF] -removed payload 836[0][LF] -removed payload 836[1][LF] -removed payload 836[2][LF] -removed payload 875[0][LF] -removed payload 875[1][LF] -removed payload 875[2][LF] -removed payload 885[0][LF] -removed payload 895[0][LF] -removed payload 895[1][LF] -Removing nodes not larger than 1000[LF] -removed payload 934[0][LF] -removed payload 934[1][LF] -removed payload 944[0][LF] -removed payload 944[1][LF] -removed payload 944[2][LF] -removed payload 954[0][LF] -Removing nodes not larger than 1100[LF] -removed payload 1003[0][LF] -removed payload 1003[1][LF] -removed payload 1013[0][LF] -removed payload 1013[1][LF] -removed payload 1013[2][LF] == Contents of files in the log/12/ dir after test 1309 === Start of file check-expected Result:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] Tree look:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove pointer 7, payload 718[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[2][LF] 0.826[5][LF] 0.816[4][LF] 0.777[3][LF] 0.767[5][LF] 0.757[4][LF] 0.708[0][LF] 0.698[2][LF] 0.659[3][LF] 0.649[4][LF] 0.639[5][LF] 0.600[7][LF] 0.590[8][LF] 0.580[6][LF] 0.541[1][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.413[3][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove pointer 8, payload 236[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[6][LF] 0.875[5][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[7][LF] 0.757[6][LF] 0.708[2][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[1][LF] 0.531[6][LF] 0.521[7][LF] 0.472[5][LF] 0.462[6][LF] 0.413[4][LF] 0.403[3][LF] 0.393[2][LF] 0.354[5][LF] 0.344[4][LF] 0.334[3][LF] 0.295[6][LF] 0.285[5][LF] 0.275[4][LF] 0.226[0][LF] 0.216[1][LF] 0.177[3][LF] 0.167[4][LF] 0.157[2][LF] 0.118[3][LF] 0.108[5][LF] 0.98[4][LF] 0.59[5][LF] 0.49[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 9, payload 777[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.895[2][LF] 0.885[4][LF] 0.875[3][LF] 0.836[1][LF] 0.826[3][LF] 0.816[2][LF] 0.767[0][LF] 0.757[2][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[7][LF] 0.344[6][LF] 0.334[5][LF] 0.295[8][LF] 0.285[7][LF] 0.275[6][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 10, payload 295[LF] Tree look:[LF] 0.1013[8][LF] 0.1003[7][LF] 0.954[8][LF] 0.944[6][LF] 0.934[5][LF] 0.895[4][LF] 0.885[6][LF] 0.875[5][LF] 0.836[3][LF] 0.826[5][LF] 0.816[4][LF] 0.767[2][LF] 0.757[3][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[6][LF] 0.344[5][LF] 0.334[3][LF] 0.285[0][LF] 0.275[2][LF] 0.226[1][LF] 0.216[2][LF] 0.177[4][LF] 0.167[5][LF] 0.157[3][LF] 0.118[4][LF] 0.108[6][LF] 0.98[5][LF] 0.59[6][LF] 0.49[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 11, payload 836[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[3][LF] 0.875[2][LF] 0.826[0][LF] 0.816[2][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[4][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.354[8][LF] 0.344[7][LF] 0.334[5][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove pointer 12, payload 354[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[5][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[4][LF] 0.659[5][LF] 0.649[6][LF] 0.639[7][LF] 0.600[9][LF] 0.590[10][LF] 0.580[8][LF] 0.541[3][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.344[0][LF] 0.334[1][LF] 0.285[2][LF] 0.275[4][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 13, payload 895[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.954[4][LF] 0.944[2][LF] 0.934[1][LF] 0.885[0][LF] 0.875[2][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[5][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove pointer 14, payload 413[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.885[2][LF] 0.875[3][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[3][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.403[0][LF] 0.393[2][LF] 0.344[1][LF] 0.334[2][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove pointer 15, payload 954[LF] Tree look:[LF] 0.1013[2][LF] 0.1003[1][LF] 0.944[0][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[5][LF] 0.531[7][LF] 0.521[8][LF] 0.472[6][LF] 0.462[7][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove pointer 16, payload 472[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.944[2][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[3][LF] 0.531[4][LF] 0.521[5][LF] 0.462[0][LF] 0.403[1][LF] 0.393[3][LF] 0.344[2][LF] 0.334[3][LF] 0.285[4][LF] 0.275[6][LF] 0.226[5][LF] 0.216[6][LF] 0.177[8][LF] 0.167[9][LF] 0.157[7][LF] 0.118[8][LF] 0.108[10][LF] 0.98[9][LF] 0.59[10][LF] 0.49[12][LF] 0.39[11][LF] 0.0[12][LF] remove pointer 17, payload 1013[LF] Tree look:[LF] 0.1003[0][LF] 0.944[2][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[6][LF] 0.767[5][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[4][LF] 0.531[5][LF] 0.521[6][LF] 0.462[2][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove pointer 18, payload 531[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[2][LF] 0.521[0][LF] 0.462[1][LF] 0.403[2][LF] 0.393[4][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove pointer 19, payload 49[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[7][LF] 0.767[6][LF] 0.757[8][LF] 0.708[7][LF] 0.698[8][LF] 0.659[9][LF] 0.649[10][LF] 0.639[11][LF] 0.600[13][LF] 0.590[14][LF] 0.580[12][LF] 0.541[4][LF] 0.521[2][LF] 0.462[1][LF] 0.403[3][LF] 0.393[4][LF] 0.344[2][LF] 0.334[4][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[5][LF] 0.108[8][LF] 0.98[7][LF] 0.59[6][LF] 0.39[0][LF] 0.0[1][LF] remove pointer 20, payload 590[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[3][LF] 0.659[5][LF] 0.649[4][LF] 0.639[5][LF] 0.600[6][LF] 0.580[0][LF] 0.541[2][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[6][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[7][LF] 0.108[10][LF] 0.98[9][LF] 0.59[8][LF] 0.39[3][LF] 0.0[4][LF] remove pointer 21, payload 108[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[5][LF] 0.659[7][LF] 0.649[6][LF] 0.639[7][LF] 0.600[8][LF] 0.580[2][LF] 0.541[3][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[5][LF] 0.285[3][LF] 0.275[7][LF] 0.226[6][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[4][LF] 0.98[0][LF] 0.59[2][LF] 0.39[1][LF] 0.0[2][LF] remove pointer 22, payload 649[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[4][LF] 0.708[3][LF] 0.698[2][LF] 0.659[3][LF] 0.639[0][LF] 0.600[2][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[5][LF] 0.275[9][LF] 0.226[8][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[6][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove pointer 23, payload 167[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[6][LF] 0.708[5][LF] 0.698[4][LF] 0.659[5][LF] 0.639[2][LF] 0.600[3][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[6][LF] 0.393[7][LF] 0.344[5][LF] 0.334[6][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[5][LF] 0.157[0][LF] 0.118[1][LF] 0.98[2][LF] 0.59[4][LF] 0.39[3][LF] 0.0[4][LF] remove pointer 24, payload 708[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[2][LF] 0.698[0][LF] 0.659[2][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[6][LF] 0.403[8][LF] 0.393[9][LF] 0.344[7][LF] 0.334[8][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[7][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 25, payload 226[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[4][LF] 0.698[2][LF] 0.659[3][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[3][LF] 0.275[4][LF] 0.216[0][LF] 0.177[2][LF] 0.157[1][LF] 0.118[2][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove pointer 26, payload 767[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.757[0][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[5][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.285[5][LF] 0.275[6][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 27, payload 285[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[5][LF] 0.875[6][LF] 0.826[4][LF] 0.816[5][LF] 0.757[2][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[4][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.275[0][LF] 0.216[1][LF] 0.177[3][LF] 0.157[2][LF] 0.118[3][LF] 0.98[4][LF] 0.59[6][LF] 0.39[5][LF] 0.0[6][LF] remove pointer 28, payload 826[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[2][LF] 0.875[3][LF] 0.816[0][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[6][LF] 0.580[5][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.275[3][LF] 0.216[4][LF] 0.177[6][LF] 0.157[5][LF] 0.118[6][LF] 0.98[7][LF] 0.59[9][LF] 0.39[8][LF] 0.0[9][LF] remove pointer 29, payload 344[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[4][LF] 0.875[5][LF] 0.816[2][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[5][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.403[5][LF] 0.393[6][LF] 0.334[0][LF] 0.275[1][LF] 0.216[2][LF] 0.177[4][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 30, payload 885[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.875[0][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[5][LF] 0.541[8][LF] 0.521[7][LF] 0.462[6][LF] 0.403[7][LF] 0.393[8][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 31, payload 403[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.875[2][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 32, payload 944[LF] Tree look:[LF] 0.1003[1][LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[3][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[5][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 33, payload 462[LF] Tree look:[LF] 0.1003[3][LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[4][LF] 0.521[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 34, payload 1003[LF] Tree look:[LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[4][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 35, payload 521[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 36, payload 39[LF] Tree look:[LF] 0.934[4][LF] 0.875[5][LF] 0.816[3][LF] 0.757[5][LF] 0.698[6][LF] 0.659[8][LF] 0.639[7][LF] 0.600[8][LF] 0.580[4][LF] 0.541[5][LF] 0.393[2][LF] 0.334[1][LF] 0.275[3][LF] 0.216[2][LF] 0.177[5][LF] 0.157[4][LF] 0.118[3][LF] 0.98[4][LF] 0.59[5][LF] 0.0[0][LF] remove pointer 37, payload 580[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] === File too long: 136 lines omitted here remove pointer 45, payload 816[LF] Tree look:[LF] 0.934[1][LF] 0.875[2][LF] 0.659[0][LF] 0.600[1][LF] 0.541[4][LF] 0.393[5][LF] 0.334[3][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 46, payload 334[LF] Tree look:[LF] 0.934[3][LF] 0.875[4][LF] 0.659[2][LF] 0.600[1][LF] 0.541[2][LF] 0.393[3][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] 0.0[3][LF] remove pointer 47, payload 875[LF] Tree look:[LF] 0.934[1][LF] 0.659[0][LF] 0.600[1][LF] 0.541[3][LF] 0.393[4][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 48, payload 393[LF] Tree look:[LF] 0.934[3][LF] 0.659[2][LF] 0.600[1][LF] 0.541[2][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] 0.0[3][LF] remove pointer 49, payload 934[LF] Tree look:[LF] 0.659[0][LF] 0.600[1][LF] 0.541[3][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 0, payload 0[LF] Tree look:[LF] 0.659[1][LF] 0.600[0][LF] 0.541[3][LF] 0.177[2][LF] 0.118[1][LF] 0.59[2][LF] remove pointer 1, payload 541[LF] Tree look:[LF] 0.659[2][LF] 0.600[1][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] remove pointer 2, payload 59[LF] Tree look:[LF] 0.659[3][LF] 0.600[2][LF] 0.177[1][LF] 0.118[0][LF] remove pointer 3, payload 600[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] 0.118[1][LF] remove pointer 4, payload 118[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] remove pointer 5, payload 659[LF] Tree look:[LF] 0.177[0][LF] remove pointer 6, payload 177[LF] Removing nodes not larger than 0[LF] removed payload 0[0][LF] Removing nodes not larger than 100[LF] removed payload 39[0][LF] removed payload 49[0][LF] removed payload 49[1][LF] removed payload 59[0][LF] removed payload 59[1][LF] removed payload 59[2][LF] removed payload 98[0][LF] removed payload 98[1][LF] removed payload 98[2][LF] Removing nodes not larger than 200[LF] removed payload 108[0][LF] removed payload 118[0][LF] removed payload 118[1][LF] removed payload 157[0][LF] removed payload 157[1][LF] removed payload 167[0][LF] removed payload 167[1][LF] removed payload 167[2][LF] removed payload 177[0][LF] Removing nodes not larger than 300[LF] removed payload 216[0][LF] removed payload 226[0][LF] removed payload 226[1][LF] removed payload 236[0][LF] removed payload 236[1][LF] removed payload 236[2][LF] removed payload 275[0][LF] removed payload 275[1][LF] removed payload 275[2][LF] removed payload 285[0][LF] removed payload 295[0][LF] removed payload 295[1][LF] Removing nodes not larger than 400[LF] removed payload 334[0][LF] removed payload 334[1][LF] removed payload 344[0][LF] removed payload 344[1][LF] removed payload 344[2][LF] removed payload 354[0][LF] removed payload 393[0][LF] Removing nodes not larger than 500[LF] removed payload 403[0][LF] removed payload 403[1][LF] removed payload 413[0][LF] removed payload 413[1][LF] removed payload 413[2][LF] removed payload 462[0][LF] removed payload 472[0][LF] removed payload 472[1][LF] Removing nodes not larger than 600[LF] removed payload 521[0][LF] removed payload 521[1][LF] removed payload 521[2][LF] removed payload 531[0][LF] removed payload 541[0][LF] removed payload 541[1][LF] removed payload 580[0][LF] removed payload 580[1][LF] removed payload 590[0][LF] removed payload 590[1][LF] removed payload 590[2][LF] removed payload 600[0][LF] Removing nodes not larger than 700[LF] removed payload 639[0][LF] removed payload 649[0][LF] removed payload 649[1][LF] removed payload 659[0][LF] removed payload 659[1][LF] removed payload 659[2][LF] removed payload 698[0][LF] removed payload 698[1][LF] removed payload 698[2][LF] Removing nodes not larger than 800[LF] removed payload 708[0][LF] removed payload 718[0][LF] removed payload 718[1][LF] removed payload 757[0][LF] removed payload 757[1][LF] removed payload 767[0][LF] removed payload 767[1][LF] removed payload 767[2][LF] removed payload 777[0][LF] Removing nodes not larger than 900[LF] removed payload 816[0][LF] removed payload 826[0][LF] removed payload 826[1][LF] removed payload 836[0][LF] removed payload 836[1][LF] removed payload 836[2][LF] removed payload 875[0][LF] removed payload 875[1][LF] removed payload 875[2][LF] removed payload 885[0][LF] removed payload 895[0][LF] removed payload 895[1][LF] Removing nodes not larger than 1000[LF] removed payload 934[0][LF] removed payload 934[1][LF] removed payload 944[0][LF] removed payload 944[1][LF] removed payload 944[2][LF] removed payload 954[0][LF] Removing nodes not larger than 1100[LF] removed payload 1003[CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1323 ./unit/units unit1323 - > log/22/stdout1323 2> log/22/stderr1323 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1311 ../src/curl -q --trace-ascii log/4/trace1311 --trace-time http://127.0.0.1:39793/1311 -J -O --output-dir log/4 > log/4/stdout1311 2> log/4/stderr1311 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1310 ../src/curl -q --trace-ascii log/18/trace1310 --trace-time http://127.0.0.1:43297/junk -J -O --show-headers --output-dir log/18 > log/18/stdout1310 2> log/18/stderr1310 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1317 ../src/curl -q --output log/15/curl1317.out --include --trace-ascii log/15/trace1317 --trace-time --resolve example.com:42107:127.0.0.1 http://example.com:42107/1317 > log/15/stdout1317 2> log/15/stderr1317 0][LF] removed payload 1003[1][LF] removed payload 1013[0][LF] removed payload 1013[1][LF] removed payload 1013[2][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1309 ./unit/units unit1309 - > log/12/stdout1309 2> log/12/stderr1309 === End of file commands.log === Start of file server.cmd Testnum 1309 === End of file server.cmd === Start of file stderr1309 URL: - === End of file stderr1309 === Start of file valgrind1309 ==147077== ==147077== Process terminating with default action of signal 4 (SIGILL) ==147077== Illegal opcode at address 0x400CF87 ==147077== at 0x400CF87: test_unit1309.lto_priv.0 (unit1309.c:80) ==147077== by 0x400A18F: main (first.c:281) === End of file valgrind1309 test 1323...[curlx_tvdiff] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1323 ./unit/units unit1323 - > log/22/stdout1323 2> log/22/stderr1323 -------e-v- OK (1242 out of 1725, remaining: 00:37, took 0.577s, duration: 01:35) test 1311...[HTTP GET with -J and Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1311 ../src/curl -q --trace-ascii log/4/trace1311 --trace-time http://127.0.0.1:39793/1311 -J -O --output-dir log/4 > log/4/stdout1311 2> log/4/stderr1311 1311: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1311 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1311 ../src/curl -q --trace-ascii log/4/trace1311 --trace-time http://127.0.0.1:39793/1311 -J -O --output-dir log/4 > log/4/stdout1311 2> log/4/stderr1311 === End of file commands.log === Start of file http_server.log 14:54:25.844638 ====> Client connect 14:54:25.844672 accept_connection 3 returned 4 14:54:25.844690 accept_connection 3 returned 0 14:54:25.844705 Read 93 bytes 14:54:25.844717 Process 93 bytes request 14:54:25.844729 Got request: GET /verifiedserver HTTP/1.1 14:54:25.844740 Are-we-friendly question received 14:54:25.844766 Wrote request (93 bytes) input to log/4/server.input 14:54:25.844783 Identifying ourselves as friends 14:54:25.844847 Response sent (56 bytes) and written to log/4/server.response 14:54:25.844859 special request received, no persistency 14:54:25.844870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 47206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1311 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1311 ==146839== ==146839== Process terminating with default action of signal 4 (SIGILL) ==146839== Illegal opcode at address 0x4014B6F ==146839== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146839== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146839== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146839== by 0x4004266: main (tool_main.c:199) === End of file valgrind1311 test 1310...[HTTP GET with -J + --show-headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1310 ../src/curl -q --trace-ascii log/18/trace1310 --trace-time http://127.0.0.1:43297/junk -J -O --show-headers --output-dir log/18 > log/18/stdout1310 2> log/18/stderr1310 1310: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1310 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1310 ../src/curl -q --trace-ascii log/18/trace1310 --trace-time http://127.0.0.1:43297/junk -J -O --show-headers --output-dir log/18 > log/18/stdout1310 2> log/18/stderr1310 === End of file commands.log === Start of file http_server.log 14:54:25.844527 ====> Client connect 14:54:25.844562 accept_connection 3 returned 4 14:54:25.844580 accept_connection 3 returned 0 14:54:25.844598 Read 93 bytes 14:54:25.844609 Process 93 bytes request 14:54:25.844623 Got request: GET /verifiedserver HTTP/1.1 14:54:25.844635 Are-we-friendly question received 14:54:25.844665 Wrote request (93 bytes) input to log/18/server.input 14:54:25.844684 Identifying ourselves as friends 14:54:25.844743 Response sent (56 bytes) and written to log/18/server.response 14:54:25.844755 special request received, no persistency 14:54:25.844766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1310 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1310 ==146842== ==146842== Process terminating with default action of signal 4 (SIGILL) ==146842== Illegal opcode at address 0x4014B6F ==146842== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146842== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146842== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146842== by 0x4004266: main (tool_main.c:199) === End of file valgrind1310 test 1317...[HTTP with --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1317 ../src/curl -q --output log/15/curl1317.out --include --trace-ascii log/15/trace1317 --trace-time --resolve example.com:42107:127.0.0.1 http://example.com:42107/1317 > log/15/stdout1317 2> log/15/stderr1317 1317: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1317 ../src/curl -q --output log/15/curl1317.out --include --trace-ascii log/15/trace1317 --trace-time --resolve example.com:42107:127.0.0.1 http://example.com:42107/1317 > log/15/stdout1317 2> log/15/stderr1317 === End of file commands.log === Start of file http_server.log 14:54:25.992926 ====> Client connect 14:54:25.992959 accept_connection 3 returned 4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1312 ../src/curl -q --trace-ascii log/14/trace1312 --trace-time 127.0.0.1:46043/1312 -J -O --output-dir log/14 > log/14/stdout1312 2> log/14/stderr1312 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1287 ../src/curl -q --output log/17/curl1287.out --include --trace-ascii log/17/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33101 http://test.1287:45171/we/want/that/page/1287 > log/17/stdout1287 2> log/17/stderr1287 14:54:25.992977 accept_connection 3 returned 0 14:54:25.993168 Read 93 bytes 14:54:25.993180 Process 93 bytes request 14:54:25.993194 Got request: GET /verifiedserver HTTP/1.1 14:54:25.993205 Are-we-friendly question received 14:54:25.993232 Wrote request (93 bytes) input to log/15/server.input 14:54:25.993249 Identifying ourselves as friends 14:54:25.993314 Response sent (56 bytes) and written to log/15/server.response 14:54:25.993326 special request received, no persistency 14:54:25.993336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 46628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1317 ==147196== ==147196== Process terminating with default action of signal 4 (SIGILL) ==147196== Illegal opcode at address 0x4014B6F ==147196== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147196== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147196== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147196== by 0x4004266: main (tool_main.c:199) === End of file valgrind1317 test 1312...[HTTP GET with -J, Content-Disposition and ; in filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1312 ../src/curl -q --trace-ascii log/14/trace1312 --trace-time 127.0.0.1:46043/1312 -J -O --output-dir log/14 > log/14/stdout1312 2> log/14/stderr1312 1312: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1312 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1312 ../src/curl -q --trace-ascii log/14/trace1312 --trace-time 127.0.0.1:46043/1312 -J -O --output-dir log/14 > log/14/stdout1312 2> log/14/stderr1312 === End of file commands.log === Start of file http_server.log 14:54:25.918635 ====> Client connect 14:54:25.918668 accept_connection 3 returned 4 14:54:25.918687 accept_connection 3 returned 0 14:54:25.918703 Read 93 bytes 14:54:25.918715 Process 93 bytes request 14:54:25.918729 Got request: GET /verifiedserver HTTP/1.1 14:54:25.918739 Are-we-friendly question received 14:54:25.918765 Wrote request (93 bytes) input to log/14/server.input 14:54:25.918784 Identifying ourselves as friends 14:54:25.918841 Response sent (56 bytes) and written to log/14/server.response 14:54:25.918853 special request received, no persistency 14:54:25.918864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 34962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1312 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1312 ==146949== ==146949== Process terminating with default action of signal 4 (SIGILL) ==146949== Illegal opcode at address 0x4014B6F ==146949== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146949== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==146949== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146949== by 0x4004266: main (tool_main.c:199) === End of file valgrind1312 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/17/server/http2_server.pid" --logfile "log/17/http2_server.log" --logdir "log/17" --portfile log/17/server/http2_server.port --config log/17/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 145712 port 33101 * pid http-proxy => 145712 145712 test 1287...[HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1287 ../src/curl -q --output log/17/curl1287.out --include --trace-ascii log/17/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33101 http://test.1287:45171/we/want/that/page/1287 > log/17/stdout1287 2> log/17/stderr1287 1287: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1287 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1287 ../src/curl -q --output log/17/curl1287.out --include --trace-ascii log/17/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33101 http://test.1287:45171/we/want/that/page/1287 > log/17/stdout1287 2> log/17/stderr1287 === End of file commands.log === Start of file http2_server.log 14:54:24.954936 Run as proxy, CONNECT to host 127.0.0.1 14:54:24.955029 Running HTTP IPv4 version on port 33101 14:54:24.955083 Wrote pid 145712 to log/17/server/http2_server.pid 14:54:24.955114 Wrote port 33101 to log/17/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:24.933874 ====> Client connect 14:54:24.933924 accept_connection 3 returned 4 14:54:24.933940 accept_connection 3 returned 0 14:54:24.933953 Read 93 bytes 14:54:24.933963 Process 93 bytes request 14:54:24.933974 Got request: GET /verifiedserver HTTP/1.1 14:54:24.933983 Are-we-friendly question received 14:54:24.934003 Wrote request (93 bytes) input to log/17/server.input 14:54:24.934019 Identifying ourselves as friends 14:54:24.934065 Response sent (56 bytes) and written to log/17/server.response 14:54:24.934074 special request received, no persistency 14:54:24.934083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 50098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1287 ==146975== ==146975== Process terminating with default action of signal 4 (SIGILL) ==146975== Illegal opcode at address 0x4014B6F ==146975== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==146975== by 0x4004266: UnknownInlineCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1313 ../src/curl -q --trace-ascii log/5/trace1313 --trace-time http://127.0.0.1:46041/1313 -J -O --output-dir log/5 > log/5/stdout1313 2> log/5/stderr1313 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1315 ../src/curl -q --output log/20/curl1315.out --include --trace-ascii log/20/trace1315 --trace-time http://127.0.0.1:39569/we/want/1315 -F name=value -F 'file=@log/20/test1315.txt,log/20/test1315.txt;type=magic/content,log/20/test1315.txt' > log/20/stdout1315 2> log/20/stderr1315 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1314 ../src/curl -q --output log/21/curl1314.out --include --trace-ascii log/21/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:34037 > log/21/stdout1314 2> log/21/stderr1314 dFun (tool_getparam.c:3017) ==146975== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==146975== by 0x4004266: main (tool_main.c:199) === End of file valgrind1287 test 1313...[HTTP GET with -J, Content-Disposition, uneven quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1313 ../src/curl -q --trace-ascii log/5/trace1313 --trace-time http://127.0.0.1:46041/1313 -J -O --output-dir log/5 > log/5/stdout1313 2> log/5/stderr1313 1313: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1313 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1313 ../src/curl -q --trace-ascii log/5/trace1313 --trace-time http://127.0.0.1:46041/1313 -J -O --output-dir log/5 > log/5/stdout1313 2> log/5/stderr1313 === End of file commands.log === Start of file http_server.log 14:54:25.975248 ====> Client connect 14:54:25.975288 accept_connection 3 returned 4 14:54:25.975307 accept_connection 3 returned 0 14:54:25.975325 Read 93 bytes 14:54:25.975337 Process 93 bytes request 14:54:25.975353 Got request: GET /verifiedserver HTTP/1.1 14:54:25.975364 Are-we-friendly question received 14:54:25.975398 Wrote request (93 bytes) input to log/5/server.input 14:54:25.975418 Identifying ourselves as friends 14:54:25.975488 Response sent (56 bytes) and written to log/5/server.response 14:54:25.975501 special request received, no persistency 14:54:25.975512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1313 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1313 ==147108== ==147108== Process terminating with default action of signal 4 (SIGILL) ==147108== Illegal opcode at address 0x4014B6F ==147108== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147108== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147108== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147108== by 0x4004266: main (tool_main.c:199) === End of file valgrind1313 test 1315...[HTTP RFC1867-type formposting - -F with three files, one with explicit type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1315 ../src/curl -q --output log/20/curl1315.out --include --trace-ascii log/20/trace1315 --trace-time http://127.0.0.1:39569/we/want/1315 -F name=value -F 'file=@log/20/test1315.txt,log/20/test1315.txt;type=magic/content,log/20/test1315.txt' > log/20/stdout1315 2> log/20/stderr1315 1315: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1315 ../src/curl -q --output log/20/curl1315.out --include --trace-ascii log/20/trace1315 --trace-time http://127.0.0.1:39569/we/want/1315 -F name=value -F 'file=@log/20/test1315.txt,log/20/test1315.txt;type=magic/content,log/20/test1315.txt' > log/20/stdout1315 2> log/20/stderr1315 === End of file commands.log === Start of file http_server.log 14:54:25.981724 ====> Client connect 14:54:25.981763 accept_connection 3 returned 4 14:54:25.981781 accept_connection 3 returned 0 14:54:25.981797 Read 93 bytes 14:54:25.981808 Process 93 bytes request 14:54:25.981821 Got request: GET /verifiedserver HTTP/1.1 14:54:25.981831 Are-we-friendly question received 14:54:25.981859 Wrote request (93 bytes) input to log/20/server.input 14:54:25.981883 Identifying ourselves as friends 14:54:25.981945 Response sent (56 bytes) and written to log/20/server.response 14:54:25.981956 special request received, no persistency 14:54:25.981967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 51002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==147158== ==147158== Process terminating with default action of signal 4 (SIGILL) ==147158== Illegal opcode at address 0x4014B6F ==147158== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147158== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147158== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147158== by 0x4004266: main (tool_main.c:199) === End of file valgrind1315 test 1314...[HTTP Location: following a // prefixed url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1314 ../src/curl -q --output log/21/curl1314.out --include --trace-ascii log/21/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:34037 > log/21/stdout1314 2> log/21/stderr1314 1314: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1314 ../src/curl -q --output log/21/curl1314.out --include --trace-ascii log/21/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:34037 > log/21/stdout1314 2> log/21/stderr1314 === End of file commands.log === Start of file http_server.log 14:54:25.980015 ====> Client connect 14:54:25.980050 accept_connection 3 returned 4 14:54:25.980067 accept_connection 3 returned 0 14:54:25.980083 Read 93 bytes 14:54:25.980095 Process 93 bytes request 14:54:25.980109 Got request: GET /verifiedserver HTTP/1.1 14:54:25.980121 Are-we-friendly question received 14:54:25.980150 Wrote request (93 bytes) input to log/21/server.input 14:54:25.980169 Identifying ourselves as friends 14:54:25.980232 Response sent (56 bytes) and written to log/21/server.response 14:54:25.980245 special request received, no persistency 14:54:25.980256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42836 * usiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:33615/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:35269 log/6/stdout1320 2> log/6/stderr1320 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1322 ../src/curl -q --output log/19/curl1322.out --include --trace-ascii log/19/trace1322 --trace-time --ipv4 --resolve example.com.:33805:127.0.0.1 http://example.com.:33805/1322 > log/19/stdout1322 2> log/19/stderr1322 ng HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1314 ==147151== ==147151== Process terminating with default action of signal 4 (SIGILL) ==147151== Illegal opcode at address 0x4014B6F ==147151== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147151== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147151== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147151== by 0x4004266: main (tool_main.c:199) === End of file valgrind1314 test 1320...[SMTP send tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:33615/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:35269 log/6/stdout1320 2> log/6/stderr1320 1320: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1320 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:33615/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:35269 log/6/stdout1320 2> log/6/stderr1320 === End of file commands.log === Start of file http2_server.log 14:54:26.121714 ====> Client connect 14:54:26.121742 accept_connection 3 returned 4 14:54:26.121756 accept_connection 3 returned 0 14:54:26.121768 Read 93 bytes 14:54:26.121781 Process 93 bytes request 14:54:26.121794 Got request: GET /verifiedserver HTTP/1.1 14:54:26.121806 Are-we-friendly question received 14:54:26.121826 Wrote request (93 bytes) input to log/6/proxy.input 14:54:26.121843 Identifying ourselves as friends 14:54:26.121893 Response sent (57 bytes) and written to log/6/proxy.response 14:54:26.121908 special request received, no persistency 14:54:26.121918 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35269... * Established connection to 127.0.0.1 (127.0.0.1 port 35269) from 127.0.0.1 port 52160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35269 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:35269 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 142331 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 142331 === End of file proxy.response === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 14:54:26.020040 ====> Client connect 14:54:26.020188 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:26.020490 < "EHLO verifiedserver" 14:54:26.020529 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:26.020697 < "HELP" 14:54:26.020725 > "214 WE ROOLZ: 122942[CR][LF]" 14:54:26.020739 return proof we are we 14:54:26.020949 < "QUIT" 14:54:26.020974 > "221 curl ESMTP server signing off[CR][LF]" 14:54:26.021998 MAIN sockfilt said DISC 14:54:26.022028 ====> Client disconnected 14:54:26.022094 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:26.102743 ====> Client connect 14:54:26.103022 Received DATA (on stdin) 14:54:26.103037 > 160 bytes data, server => client 14:54:26.103049 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:26.103061 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:26.103071 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:26.103139 < 21 bytes data, client => server 14:54:26.103151 'EHLO verifiedserver\r\n' 14:54:26.103342 Received DATA (on stdin) 14:54:26.103355 > 53 bytes data, server => client 14:54:26.103367 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:26.103426 < 6 bytes data, client => server 14:54:26.103437 'HELP\r\n' 14:54:26.103548 Received DATA (on stdin) 14:54:26.103560 > 22 bytes data, server => client 14:54:26.103571 '214 WE ROOLZ: 122942\r\n' 14:54:26.103679 < 6 bytes data, client => server 14:54:26.103691 'QUIT\r\n' 14:54:26.103785 Received DATA (on stdin) 14:54:26.103797 > 35 bytes data, server => client 14:54:26.103809 '221 curl ESMTP server signing off\r\n' 14:54:26.104755 ====> Client disconnect 14:54:26.104908 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1320 From: different To: another body === End of file stdin-for-1320 === Start of file valgrind1320 ==147448== ==147448== Process terminating with default action of signal 4 (SIGILL) ==147448== Illegal opcode at address 0x4014B6F ==147448== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147448== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147448== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147448== by 0x4004266: main (tool_main.c:199) === End of file valgrind1320 test 1322...[HTTP with --resolve and hostname with trailing dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1322 ../src/curl -q --output log/19/curl1322.out --include --trace-ascii log/19/trace1322 --trace-time --ipv4 --resolve example.com.:33805:127.0.0.1 http://example.com.:33805/1322 > log/19/stdout1322 2> log/19/stderr1322 1322: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1322 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1322 ../src/curl -q --output log/19/curl1322.out --include --trace-ascii log/19/trace1322 --trace-time --ipv4 --resolve example.com.:33805:127.0.0.1 http://example.com.:33805/1322 > log/19/stdout1322 2> log/19/stderr1322 === End of file commands.log === Start of file http_server.log 14:54:25.130883 ====> Client connect 14:54:25.130921 accept_connection 3 returned 4 14:54:25.130941 accept_connection 3 returned 0 14:54:25.130958 Read 93 bytes 14:54:25.130971 Process 93 bytes request 14:54:25.130986 Got request: GET /verifiedserver HTTP/1.1 14:54:25.130998 Are-we-friendly question received 14:54:25.131027 Wrote request (93 bytes) input to log/19/server.input 14:54:25.131046 Identifying ourselves as friends 14:54:25.131105 Response sent (56 bytes) and written to log/19/server.response 14:54:25.131119 special request received, no persistency 14:54:25.131129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47616 * using HTTP/1.x > GET /veriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1297 ../src/curl -q --output log/24/curl1297.out --include --trace-ascii log/24/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:39595 http://127.0.0.1:34449/we/want/that/page/1297 > log/24/stdout1297 2> log/24/stderr1297 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1325 ../src/curl -q --output log/16/curl1325.out --include --trace-ascii log/16/trace1325 --trace-time http://127.0.0.1:34475/we/1325 -L -d "moo" > log/16/stdout1325 2> log/16/stderr1325 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1326 ../src/curl -q --output log/1/curl1326.out --include --trace-ascii log/1/trace1326 --trace-time telnet://127.0.0.1:44029 --upload-file - log/1/stdout1326 2> log/1/stderr1326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1327 ../src/curl -q --include --trace-ascii log/7/trace1327 --trace-time telnet://127.0.0.1:40545 -T log/7/1327.txt log/7/stdout1327 2> log/7/stderr1327 fiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1322 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1322 ==147470== ==147470== Process terminating with default action of signal 4 (SIGILL) ==147470== Illegal opcode at address 0x4014B6F ==147470== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147470== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147470== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147470== by 0x4004266: main (tool_main.c:199) === End of file valgrind1322 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/24/server/http2_server.pid" --logfile "log/24/http2_server.log" --logdir "log/24" --portfile log/24/server/http2_server.port --config log/24/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 146231 port 39595 * pid http-proxy => 146231 146231 test 1297...[CONNECT to peer that returns nothing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1297 ../src/curl -q --output log/24/curl1297.out --include --trace-ascii log/24/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:39595 http://127.0.0.1:34449/we/want/that/page/1297 > log/24/stdout1297 2> log/24/stderr1297 1297: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1297 ../src/curl -q --output log/24/curl1297.out --include --trace-ascii log/24/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:39595 http://127.0.0.1:34449/we/want/that/page/1297 > log/24/stdout1297 2> log/24/stderr1297 === End of file commands.log === Start of file http2_server.log 14:54:25.193427 Run as proxy, CONNECT to host 127.0.0.1 14:54:25.193552 Running HTTP IPv4 version on port 39595 14:54:25.193593 Wrote pid 146231 to log/24/server/http2_server.pid 14:54:25.193622 Wrote port 39595 to log/24/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:25.172865 ====> Client connect 14:54:25.173670 accept_connection 3 returned 4 14:54:25.173697 accept_connection 3 returned 0 14:54:25.173712 Read 93 bytes 14:54:25.173723 Process 93 bytes request 14:54:25.173735 Got request: GET /verifiedserver HTTP/1.1 14:54:25.173744 Are-we-friendly question received 14:54:25.173779 Wrote request (93 bytes) input to log/24/server.input 14:54:25.173796 Identifying ourselves as friends 14:54:25.173857 Response sent (56 bytes) and written to log/24/server.response 14:54:25.173868 special request received, no persistency 14:54:25.173878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 43300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1297 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1297 ==147609== ==147609== Process terminating with default action of signal 4 (SIGILL) ==147609== Illegal opcode at address 0x4014B6F ==147609== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147609== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147609== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147609== by 0x4004266: main (tool_main.c:199) === End of file valgrind1297 test 1325...[HTTP 308-redirect with POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1325 ../src/curl -q --output log/16/curl1325.out --include --trace-ascii log/16/trace1325 --trace-time http://127.0.0.1:34475/we/1325 -L -d "moo" > log/16/stdout1325 2> log/16/stderr1325 1325: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1325 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1325 ../src/curl -q --output log/16/curl1325.out --include --trace-ascii log/16/trace1325 --trace-time http://127.0.0.1:34475/we/1325 -L -d "moo" > log/16/stdout1325 2> log/16/stderr1325 === End of file commands.log === Start of file http_server.log 14:54:26.136706 ====> Client connect 14:54:26.136746 accept_connection 3 returned 4 14:54:26.136765 accept_connection 3 returned 0 14:54:26.136781 Read 93 bytes 14:54:26.136793 Process 93 bytes request 14:54:26.136809 Got request: GET /verifiedserver HTTP/1.1 14:54:26.136820 Are-we-friendly question received 14:54:26.136879 Wrote request (93 bytes) input to log/16/server.input 14:54:26.136899 Identifying ourselves as friends 14:54:26.136962 Response sent (56 bytes) and written to log/16/server.response 14:54:26.136975 special request received, no persistency 14:54:26.136986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1325 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1325 ==147492== ==147492== Process terminating with default action of signal 4 (SIGILL) ==147492== Illegal opcode at address 0x4014B6F ==147492== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147492== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147492== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147492== by 0x4004266: main (tool_main.c:199) === End of file valgrind1325 test 1326...[TELNET to HTTP server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1326 ../src/curl -q --output log/1/curl1326.out --include --trace-ascii log/1/trace1326 --trace-time telnet://127.0.0.1:44029 --upload-file - log/1/stdout1326 2> log/1/stderr1326 1326: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? ReturnedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1328 ../src/curl -q --output log/11/curl1328.out --include --trace-ascii log/11/trace1328 --trace-time -f 'http://127.0.0.1:33503/[13280000-13280001]' -o log/11/#1 > log/11/stdout1328 2> log/11/stderr1328 : 132 == Contents of files in the log/1/ dir after test 1326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1326 ../src/curl -q --output log/1/curl1326.out --include --trace-ascii log/1/trace1326 --trace-time telnet://127.0.0.1:44029 --upload-file - log/1/stdout1326 2> log/1/stderr1326 === End of file commands.log === Start of file http_server.log 14:54:26.221645 ====> Client connect 14:54:26.221680 accept_connection 3 returned 4 14:54:26.221699 accept_connection 3 returned 0 14:54:26.221715 Read 93 bytes 14:54:26.221725 Process 93 bytes request 14:54:26.221738 Got request: GET /verifiedserver HTTP/1.1 14:54:26.221747 Are-we-friendly question received 14:54:26.221770 Wrote request (93 bytes) input to log/1/server.input 14:54:26.221787 Identifying ourselves as friends 14:54:26.221846 Response sent (56 bytes) and written to log/1/server.response 14:54:26.221857 special request received, no persistency 14:54:26.221867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==147680== ==147680== Process terminating with default action of signal 4 (SIGILL) ==147680== Illegal opcode at address 0x4014B6F ==147680== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147680== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147680== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147680== by 0x4004266: main (tool_main.c:199) === End of file valgrind1326 test 1327...[TELNET check of upload with stdout redirected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1327 ../src/curl -q --include --trace-ascii log/7/trace1327 --trace-time telnet://127.0.0.1:40545 -T log/7/1327.txt log/7/stdout1327 2> log/7/stderr1327 1327: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1327 === Start of file 1327.txt GET /we/want/1327 HTTP/1.0 === End of file 1327.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1327 ../src/curl -q --include --trace-ascii log/7/trace1327 --trace-time telnet://127.0.0.1:40545 -T log/7/1327.txt log/7/stdout1327 2> log/7/stderr1327 === End of file commands.log === Start of file http_server.log 14:54:26.244150 ====> Client connect 14:54:26.244184 accept_connection 3 returned 4 14:54:26.244202 accept_connection 3 returned 0 14:54:26.244219 Read 93 bytes 14:54:26.244230 Process 93 bytes request 14:54:26.244244 Got request: GET /verifiedserver HTTP/1.1 14:54:26.244255 Are-we-friendly question received 14:54:26.244280 Wrote request (93 bytes) input to log/7/server.input 14:54:26.244298 Identifying ourselves as friends 14:54:26.244380 Response sent (56 bytes) and written to log/7/server.response 14:54:26.244392 special request received, no persistency 14:54:26.244402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stdin-for-1327 GET /ignore/for/1327 HTTP/1.0 === End of file stdin-for-1327 === Start of file valgrind1327 ==147729== ==147729== Process terminating with default action of signal 4 (SIGILL) ==147729== Illegal opcode at address 0x4014B6F ==147729== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147729== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147729== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147729== by 0x4004266: main (tool_main.c:199) === End of file valgrind1327 test 1328...[HTTP GET a globbed range with -f] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1328 ../src/curl -q --output log/11/curl1328.out --include --trace-ascii log/11/trace1328 --trace-time -f 'http://127.0.0.1:33503/[13280000-13280001]' -o log/11/#1 > log/11/stdout1328 2> log/11/stderr1328 1328: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1328 ../src/curl -q --output log/11/curl1328.out --include --trace-ascii log/11/trace1328 --trace-time -f 'http://127.0.0.1:33503/[13280000-13280001]' -o log/11/#1 > log/11/stdout1328 2> log/11/stderr1328 === End of file commands.log === Start of file http_server.log 14:54:26.341658 ====> Client connect 14:54:26.341693 accept_connection 3 returned 4 14:54:26.341712 accept_connection 3 returned 0 14:54:26.341727 Read 93 bytes 14:54:26.341738 Process 93 bytes request 14:54:26.341751 Got request: GET /verifiedserver HTTP/1.1 14:54:26.341762 Are-we-friendly question received 14:54:26.341788 Wrote request (93 bytes) input to log/11/server.input 14:54:26.341805 Identifying ourselves as friends 14:54:26.341860 Response sent (56 bytes) and written to log/11/server.response 14:54:26.341871 special request received, no persistency 14:54:26.341881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1328 ==147824== ==147824== Process terminating with default action of signal 4 (SIGILL) ==147824== Illegal opcode at address 0x4014B6F ==147824=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1329 ../src/curl -q --output log/13/curl1329.out --include --trace-ascii log/13/trace1329 --trace-time http://127.0.0.1:41533/we/want/that/page/1329 -x "/server" > log/13/stdout1329 2> log/13/stderr1329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:35893 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1332 ../src/curl -q --output log/12/curl1332.out --include --trace-ascii log/12/trace1332 --trace-time http://127.0.0.1:43359/blah/1332 -L -d "moo" --post303 > log/12/stdout1332 2> log/12/stderr1332 = at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147824== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147824== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147824== by 0x4004266: main (tool_main.c:199) === End of file valgrind1328 test 1329...[/-prefixed proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1329 ../src/curl -q --output log/13/curl1329.out --include --trace-ascii log/13/trace1329 --trace-time http://127.0.0.1:41533/we/want/that/page/1329 -x "/server" > log/13/stdout1329 2> log/13/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/13/ dir after test 1329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1329 ../src/curl -q --output log/13/curl1329.out --include --trace-ascii log/13/trace1329 --trace-time http://127.0.0.1:41533/we/want/that/page/1329 -x "/server" > log/13/stdout1329 2> log/13/stderr1329 === End of file commands.log === Start of file http_server.log 14:54:26.372229 ====> Client connect 14:54:26.372262 accept_connection 3 returned 4 14:54:26.372280 accept_connection 3 returned 0 14:54:26.372298 Read 93 bytes 14:54:26.372310 Process 93 bytes request 14:54:26.372325 Got request: GET /verifiedserver HTTP/1.1 14:54:26.372336 Are-we-friendly question received 14:54:26.372360 Wrote request (93 bytes) input to log/13/server.input 14:54:26.372378 Identifying ourselves as friends 14:54:26.372431 Response sent (56 bytes) and written to log/13/server.response 14:54:26.372443 special request received, no persistency 14:54:26.372453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1329 ==147869== ==147869== Process terminating with default action of signal 4 (SIGILL) ==147869== Illegal opcode at address 0x4014B6F ==147869== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147869== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147869== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147869== by 0x4004266: main (tool_main.c:199) === End of file valgrind1329 test 1331...[HTTP --proxy-anyauth and 407 with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:35893 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 1331: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:35893 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 === End of file commands.log === Start of file http_server.log 14:54:26.537852 ====> Client connect 14:54:26.537884 accept_connection 3 returned 4 14:54:26.537901 accept_connection 3 returned 0 14:54:26.537918 Read 93 bytes 14:54:26.537929 Process 93 bytes request 14:54:26.537944 Got request: GET /verifiedserver HTTP/1.1 14:54:26.537955 Are-we-friendly question received 14:54:26.537987 Wrote request (93 bytes) input to log/10/server.input 14:54:26.538004 Identifying ourselves as friends 14:54:26.538054 Response sent (56 bytes) and written to log/10/server.response 14:54:26.538065 special request received, no persistency 14:54:26.538075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1331 ==147969== ==147969== Process terminating with default action of signal 4 (SIGILL) ==147969== Illegal opcode at address 0x4014B6F ==147969== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==147969== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==147969== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==147969== by 0x4004266: main (tool_main.c:199) === End of file valgrind1331 test 1332...[HTTP POST with 303 redirect and --post303] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1332 ../src/curl -q --output log/12/curl1332.out --include --trace-ascii log/12/trace1332 --trace-time http://127.0.0.1:43359/blah/1332 -L -d "moo" --post303 > log/12/stdout1332 2> log/12/stderr1332 1332: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1332 ../src/curl -q --output log/12/curl1332.out --include --trace-ascii log/12/trace1332 --trace-time http://127.0.0.1:43359/blah/1332 -L -d "moo" --post303 > log/12/stdout1332 2> log/12/stderr1332 === End of file commands.log === Start of file http_server.log 14:54:26.615513 ====> Client connect 14:54:26.615542 accept_connection 3 returned 4 14:54:26.615557 accept_connection 3 returned 0 14:54:26.615570 Read 93 bytes 14:54:26.615578 Process 93 bytes request 14:54:26.615589 Got request: GET /verifiedserver HTTP/1.1 14:54:26.615597 Are-we-friendly question received 14:54:26.615616 Wrote request (93 bytes) input to log/12/server.input 14:54:26.615629 Identifying ourselves as friends 14:54:26.615676 Response sent (56 bytes) and written to log/12/server.response 14:54:26.615684 special request received, no persistency 14:54:26.615692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completelCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1333 ../src/curl -q --output log/22/curl1333.out --include --trace-ascii log/22/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:42027/1333 > log/22/stdout1333 2> log/22/stderr1333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1335 ../src/curl -q --trace-ascii log/18/trace1335 --trace-time http://127.0.0.1:43297/1335 -O -D - --output-dir="log/18" > log/18/stdout1335 2> log/18/stderr1335 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1334 ../src/curl -q --trace-ascii log/4/trace1334 --trace-time http://127.0.0.1:39793/1334 -O -D log/4/heads1334 --output-dir log/4 > log/4/stdout1334 2> log/4/stderr1334 y sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1332 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1332 ==148045== ==148045== Process terminating with default action of signal 4 (SIGILL) ==148045== Illegal opcode at address 0x4014B6F ==148045== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148045== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148045== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148045== by 0x4004266: main (tool_main.c:199) === End of file valgrind1332 test 1333...[HTTP POST zero length, chunked-encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1333 ../src/curl -q --output log/22/curl1333.out --include --trace-ascii log/22/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:42027/1333 > log/22/stdout1333 2> log/22/stderr1333 1333: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1333 ../src/curl -q --output log/22/curl1333.out --include --trace-ascii log/22/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:42027/1333 > log/22/stdout1333 2> log/22/stderr1333 === End of file commands.log === Start of file http_server.log 14:54:26.704573 ====> Client connect 14:54:26.704606 accept_connection 3 returned 4 14:54:26.704623 accept_connection 3 returned 0 14:54:26.704639 Read 93 bytes 14:54:26.704650 Process 93 bytes request 14:54:26.704663 Got request: GET /verifiedserver HTTP/1.1 14:54:26.704674 Are-we-friendly question received 14:54:26.704699 Wrote request (93 bytes) input to log/22/server.input 14:54:26.704716 Identifying ourselves as friends 14:54:26.704771 Response sent (56 bytes) and written to log/22/server.response 14:54:26.704782 special request received, no persistency 14:54:26.704792 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 33816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1333 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1333 ==148119== ==148119== Process terminating with default action of signal 4 (SIGILL) ==148119== Illegal opcode at address 0x4014B6F ==148119== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148119== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148119== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148119== by 0x4004266: main (tool_main.c:199) === End of file valgrind1333 test 1335...[HTTP GET with -O without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1335 ../src/curl -q --trace-ascii log/18/trace1335 --trace-time http://127.0.0.1:43297/1335 -O -D - --output-dir="log/18" > log/18/stdout1335 2> log/18/stderr1335 1335: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1335 ../src/curl -q --trace-ascii log/18/trace1335 --trace-time http://127.0.0.1:43297/1335 -O -D - --output-dir="log/18" > log/18/stdout1335 2> log/18/stderr1335 === End of file commands.log === Start of file http_server.log 14:54:26.791829 ====> Client connect 14:54:26.791866 accept_connection 3 returned 4 14:54:26.791884 accept_connection 3 returned 0 14:54:26.791901 Read 93 bytes 14:54:26.791912 Process 93 bytes request 14:54:26.791926 Got request: GET /verifiedserver HTTP/1.1 14:54:26.791936 Are-we-friendly question received 14:54:26.791963 Wrote request (93 bytes) input to log/18/server.input 14:54:26.791981 Identifying ourselves as friends 14:54:26.792074 Response sent (56 bytes) and written to log/18/server.response 14:54:26.792088 special request received, no persistency 14:54:26.792098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1335 ==148218== ==148218== Process terminating with default action of signal 4 (SIGILL) ==148218== Illegal opcode at address 0x4014B6F ==148218== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148218== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148218== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148218== by 0x4004266: main (tool_main.c:199) === End of file valgrind1335 test 1334...[HTTP GET with -O without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1334 ../src/curl -q --trace-ascii log/4/trace1334 --trace-time http://127.0.0.1:39793/1334 -O -D log/4/heads1334 --output-dir log/4 > log/4/stdout1334 2> log/4/stderr1334 1334: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1334 ../src/curl -q --trace-ascii log/4/trace1334 --trace-time http://127.0.0.1:39793/1334 -O -D log/4/heads1334 --output-dir log/4 > log/4/stdout1334 2> log/4/stderr1334 === End of file commands.log === Start of file http_server.log 14:54:26.783295 ====> Client connect 14:54:26.783341 accept_connection 3 returned 4 14:54:26.783360 accept_connection 3 returned 0 14:54:26.783376 Read 93 bytes 14:54:26.783388 Process 93 bytes request 14:54:26.783406 Got request: GET /verifiedserver HTTP/1.1 14:54:26.783417 Are-we-friendly question received 14:54:26.783442 Wrote request (93 bytes) input to log/4/server.input 14:54:26.783461CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1337 ../src/curl -q --trace-ascii log/14/trace1337 --trace-time http://127.0.0.1:46043/1337 -O -D - --output-dir log/14 > log/14/stdout1337 2> log/14/stderr1337 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1336 ../src/curl -q --trace-ascii log/15/trace1336 --trace-time http://127.0.0.1:42107/1336 -O -D log/15/heads1336 --output-dir log/15 > log/15/stdout1336 2> log/15/stderr1336 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1338 ../src/curl -q --trace-ascii log/17/trace1338 --trace-time http://127.0.0.1:45171/1338 -J -O -D log/17/heads1338 --output-dir log/17 > log/17/stdout1338 2> log/17/stderr1338 Identifying ourselves as friends 14:54:26.783526 Response sent (56 bytes) and written to log/4/server.response 14:54:26.783538 special request received, no persistency 14:54:26.783548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 47214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1334 ==148201== ==148201== Process terminating with default action of signal 4 (SIGILL) ==148201== Illegal opcode at address 0x4014B6F ==148201== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148201== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148201== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148201== by 0x4004266: main (tool_main.c:199) === End of file valgrind1334 test 1337...[HTTP GET with -O and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1337 ../src/curl -q --trace-ascii log/14/trace1337 --trace-time http://127.0.0.1:46043/1337 -O -D - --output-dir log/14 > log/14/stdout1337 2> log/14/stderr1337 1337: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1337 ../src/curl -q --trace-ascii log/14/trace1337 --trace-time http://127.0.0.1:46043/1337 -O -D - --output-dir log/14 > log/14/stdout1337 2> log/14/stderr1337 === End of file commands.log === Start of file http_server.log 14:54:26.846042 ====> Client connect 14:54:26.846068 accept_connection 3 returned 4 14:54:26.846082 accept_connection 3 returned 0 14:54:26.846094 Read 93 bytes 14:54:26.846102 Process 93 bytes request 14:54:26.846114 Got request: GET /verifiedserver HTTP/1.1 14:54:26.846122 Are-we-friendly question received 14:54:26.846141 Wrote request (93 bytes) input to log/14/server.input 14:54:26.846154 Identifying ourselves as friends 14:54:26.846195 Response sent (56 bytes) and written to log/14/server.response 14:54:26.846206 special request received, no persistency 14:54:26.846215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 34966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1337 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1337 ==148342== ==148342== Process terminating with default action of signal 4 (SIGILL) ==148342== Illegal opcode at address 0x4014B6F ==148342== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148342== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148342== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148342== by 0x4004266: main (tool_main.c:199) === End of file valgrind1337 test 1336...[HTTP GET with -O and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1336 ../src/curl -q --trace-ascii log/15/trace1336 --trace-time http://127.0.0.1:42107/1336 -O -D log/15/heads1336 --output-dir log/15 > log/15/stdout1336 2> log/15/stderr1336 1336: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1336 ../src/curl -q --trace-ascii log/15/trace1336 --trace-time http://127.0.0.1:42107/1336 -O -D log/15/heads1336 --output-dir log/15 > log/15/stdout1336 2> log/15/stderr1336 === End of file commands.log === Start of file http_server.log 14:54:26.835940 ====> Client connect 14:54:26.835975 accept_connection 3 returned 4 14:54:26.835992 accept_connection 3 returned 0 14:54:26.836008 Read 93 bytes 14:54:26.836018 Process 93 bytes request 14:54:26.836033 Got request: GET /verifiedserver HTTP/1.1 14:54:26.836044 Are-we-friendly question received 14:54:26.836070 Wrote request (93 bytes) input to log/15/server.input 14:54:26.836087 Identifying ourselves as friends 14:54:26.836144 Response sent (56 bytes) and written to log/15/server.response 14:54:26.836156 special request received, no persistency 14:54:26.836166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 46644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1336 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1336 ==148327== ==148327== Process terminating with default action of signal 4 (SIGILL) ==148327== Illegal opcode at address 0x4014B6F ==148327== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148327== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148327== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148327== by 0x4004266: main (tool_main.c:199) === End of file valgrind1336 test 1338...[HTTP GET with -O -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1338 ../src/curl -q --trace-ascii log/17/trace1338 --trace-time http://127.0.0.1:45171/1338 -J -O -D log/17/heads1338 --output-dir log/17 > log/17/stdout1338 2> log/17/stderr1338 1338: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1338 ../src/curl -q --trace-ascii log/17/trace1338 --trace-time http://127.0.0.1:45171/1338 -J -O -D log/17/heads1338 --output-dir log/17 > log/17/stdout1338 2>CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1341 ../src/curl -q --trace-ascii log/21/trace1341 --trace-time http://127.0.0.1:34037/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1341 2> log/21/stderr1341 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1339 ../src/curl -q --trace-ascii log/5/trace1339 --trace-time http://127.0.0.1:46041/1339 -J -O -D - --output-dir log/5 > log/5/stdout1339 2> log/5/stderr1339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:39569/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/20 > log/20/stdout1340 2> log/20/stderr1340 log/17/stderr1338 === End of file commands.log === Start of file http_server.log 14:54:26.875183 ====> Client connect 14:54:26.875210 accept_connection 3 returned 4 14:54:26.875224 accept_connection 3 returned 0 14:54:26.875334 Read 93 bytes 14:54:26.875346 Process 93 bytes request 14:54:26.875358 Got request: GET /verifiedserver HTTP/1.1 14:54:26.875366 Are-we-friendly question received 14:54:26.875389 Wrote request (93 bytes) input to log/17/server.input 14:54:26.875403 Identifying ourselves as friends 14:54:26.875518 Response sent (56 bytes) and written to log/17/server.response 14:54:26.875526 special request received, no persistency 14:54:26.875534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 38528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1338 ==148423== ==148423== Process terminating with default action of signal 4 (SIGILL) ==148423== Illegal opcode at address 0x4014B6F ==148423== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148423== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148423== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148423== by 0x4004266: main (tool_main.c:199) === End of file valgrind1338 test 1341...[HTTP GET with -O -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1341 ../src/curl -q --trace-ascii log/21/trace1341 --trace-time http://127.0.0.1:34037/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1341 2> log/21/stderr1341 1341: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1341 ../src/curl -q --trace-ascii log/21/trace1341 --trace-time http://127.0.0.1:34037/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1341 2> log/21/stderr1341 === End of file commands.log === Start of file http_server.log 14:54:26.936987 ====> Client connect 14:54:26.937032 accept_connection 3 returned 4 14:54:26.937052 accept_connection 3 returned 0 14:54:26.937069 Read 93 bytes 14:54:26.937081 Process 93 bytes request 14:54:26.937097 Got request: GET /verifiedserver HTTP/1.1 14:54:26.937108 Are-we-friendly question received 14:54:26.937249 Wrote request (93 bytes) input to log/21/server.input 14:54:26.937271 Identifying ourselves as friends 14:54:26.937335 Response sent (56 bytes) and written to log/21/server.response 14:54:26.937348 special request received, no persistency 14:54:26.937358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1341 ==148624== ==148624== Process terminating with default action of signal 4 (SIGILL) ==148624== Illegal opcode at address 0x4014B6F ==148624== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148624== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148624== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148624== by 0x4004266: main (tool_main.c:199) === End of file valgrind1341 test 1339...[HTTP GET with -O -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1339 ../src/curl -q --trace-ascii log/5/trace1339 --trace-time http://127.0.0.1:46041/1339 -J -O -D - --output-dir log/5 > log/5/stdout1339 2> log/5/stderr1339 1339: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1339 ../src/curl -q --trace-ascii log/5/trace1339 --trace-time http://127.0.0.1:46041/1339 -J -O -D - --output-dir log/5 > log/5/stdout1339 2> log/5/stderr1339 === End of file commands.log === Start of file http_server.log 14:54:26.901407 ====> Client connect 14:54:26.901443 accept_connection 3 returned 4 14:54:26.901462 accept_connection 3 returned 0 14:54:26.901478 Read 93 bytes 14:54:26.901489 Process 93 bytes request 14:54:26.901505 Got request: GET /verifiedserver HTTP/1.1 14:54:26.901516 Are-we-friendly question received 14:54:26.901547 Wrote request (93 bytes) input to log/5/server.input 14:54:26.901565 Identifying ourselves as friends 14:54:26.901630 Response sent (56 bytes) and written to log/5/server.response 14:54:26.901643 special request received, no persistency 14:54:26.901654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1339 ==148497== ==148497== Process terminating with default action of signal 4 (SIGILL) ==148497== Illegal opcode at address 0x4014B6F ==148497== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148497== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148497== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148497== by 0x4004266: main (tool_main.c:199) === End of file valgrind1339 test 1340...[HTTP GET with -O -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:39569/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:38933:127.0.0.1 http://MiXeDcAsE.cOm:38933/1318 http://mixedcase.com:38933/13180001 > log/3/stdout1318 2> log/3/stderr1318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1342 ../src/curl -q --trace-ascii log/6/trace1342 --trace-time http://127.0.0.1:38791/1342 -i -O -D log/6/heads1342 --output-dir log/6 > log/6/stdout1342 2> log/6/stderr1342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1319 ../src/curl -q --output log/23/curl1319.out --include --trace-ascii log/23/trace1319 --trace-time pop3://pop.1319:32899/1319 -p -x 127.0.0.1:38255 -u user:secret > log/23/stdout1319 2> log/23/stderr1319 dir log/20 > log/20/stdout1340 2> log/20/stderr1340 1340: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:39569/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/20 > log/20/stdout1340 2> log/20/stderr1340 === End of file commands.log === Start of file http_server.log 14:54:26.907064 ====> Client connect 14:54:26.907100 accept_connection 3 returned 4 14:54:26.907118 accept_connection 3 returned 0 14:54:26.907133 Read 93 bytes 14:54:26.907145 Process 93 bytes request 14:54:26.907157 Got request: GET /verifiedserver HTTP/1.1 14:54:26.907168 Are-we-friendly question received 14:54:26.907198 Wrote request (93 bytes) input to log/20/server.input 14:54:26.907218 Identifying ourselves as friends 14:54:26.907286 Response sent (56 bytes) and written to log/20/server.response 14:54:26.907298 special request received, no persistency 14:54:26.907309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 51008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1340 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1340 ==148523== ==148523== Process terminating with default action of signal 4 (SIGILL) ==148523== Illegal opcode at address 0x4014B6F ==148523== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148523== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148523== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148523== by 0x4004266: main (tool_main.c:199) === End of file valgrind1340 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 147064 port 38933 * pid http => 147064 147064 test 1318...[HTTP with --resolve and same host name using different cases] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:38933:127.0.0.1 http://MiXeDcAsE.cOm:38933/1318 http://mixedcase.com:38933/13180001 > log/3/stdout1318 2> log/3/stderr1318 1318: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:38933:127.0.0.1 http://MiXeDcAsE.cOm:38933/1318 http://mixedcase.com:38933/13180001 > log/3/stdout1318 2> log/3/stderr1318 === End of file commands.log === Start of file http_server.log 14:54:25.993978 Running HTTP IPv4 version on port 38933 14:54:25.994066 Wrote pid 147064 to log/3/server/http_server.pid 14:54:25.994100 Wrote port 38933 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1318 === End of file server.cmd === Start of file valgrind1318 ==148681== ==148681== Process terminating with default action of signal 4 (SIGILL) ==148681== Illegal opcode at address 0x4014B6F ==148681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148681== by 0x4004266: main (tool_main.c:199) === End of file valgrind1318 test 1342...[HTTP GET with -O -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1342 ../src/curl -q --trace-ascii log/6/trace1342 --trace-time http://127.0.0.1:38791/1342 -i -O -D log/6/heads1342 --output-dir log/6 > log/6/stdout1342 2> log/6/stderr1342 1342: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1342 ../src/curl -q --trace-ascii log/6/trace1342 --trace-time http://127.0.0.1:38791/1342 -i -O -D log/6/heads1342 --output-dir log/6 > log/6/stdout1342 2> log/6/stderr1342 === End of file commands.log === Start of file http_server.log 14:54:27.014846 ====> Client connect 14:54:27.014884 accept_connection 3 returned 4 14:54:27.014900 accept_connection 3 returned 0 14:54:27.014916 Read 93 bytes 14:54:27.014926 Process 93 bytes request 14:54:27.014940 Got request: GET /verifiedserver HTTP/1.1 14:54:27.014951 Are-we-friendly question received 14:54:27.014975 Wrote request (93 bytes) input to log/6/server.input 14:54:27.014992 Identifying ourselves as friends 14:54:27.015046 Response sent (56 bytes) and written to log/6/server.response 14:54:27.015057 special request received, no persistency 14:54:27.015067 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 34658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1342 ==148746== ==148746== Process terminating with default action of signal 4 (SIGILL) ==148746== Illegal opcode at address 0x4014B6F ==148746== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148746== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148746== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148746== by 0x4004266: main (tool_main.c:199) === End of file valgrind1342 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/23/server/http2_server.pid" --logfile "log/23/http2_server.log" --logdir "log/23" --portfile log/23/server/http2_server.port --config log/23/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1345 ../src/curl -q --trace-ascii log/16/trace1345 --trace-time http://127.0.0.1:34475/1345 -i -O -D - --output-dir log/16 > log/16/stdout1345 2> log/16/stderr1345 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1343 ../src/curl -q --trace-ascii log/19/trace1343 --trace-time http://127.0.0.1:33805/1343 -i -O -D - --output-dir log/19 > log/19/stdout1343 2> log/19/stderr1343 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1344 ../src/curl -q --trace-ascii log/24/trace1344 --trace-time http://127.0.0.1:34449/1344 -i -O -D log/24/heads1344 --output-dir log/24 > log/24/stdout1344 2> log/24/stderr1344 RUN: HTTP2 server is on PID 147344 port 38255 * pid http-proxy => 147344 147344 test 1319...[POP3 fetch tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1319 ../src/curl -q --output log/23/curl1319.out --include --trace-ascii log/23/trace1319 --trace-time pop3://pop.1319:32899/1319 -p -x 127.0.0.1:38255 -u user:secret > log/23/stdout1319 2> log/23/stderr1319 1319: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1319 ../src/curl -q --output log/23/curl1319.out --include --trace-ascii log/23/trace1319 --trace-time pop3://pop.1319:32899/1319 -p -x 127.0.0.1:38255 -u user:secret > log/23/stdout1319 2> log/23/stderr1319 === End of file commands.log === Start of file http2_server.log 14:54:25.071715 Run as proxy, CONNECT to host 127.0.0.1 14:54:25.071840 Running HTTP IPv4 version on port 38255 14:54:25.071883 Wrote pid 147344 to log/23/server/http2_server.pid 14:54:25.071916 Wrote port 38255 to log/23/server/http2_server.port === End of file http2_server.log === Start of file pop3_server.log 14:54:25.914329 ====> Client connect 14:54:25.914492 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:25.914788 < "CAPA" 14:54:25.914828 > "-ERR Unrecognized command[CR][LF]" 14:54:25.914993 < "RETR verifiedserver" 14:54:25.915019 return proof we are we 14:54:25.915039 > "+OK Mail transfer starts[CR][LF]" 14:54:25.915057 > "WE ROOLZ: 120663[CR][LF]" 14:54:25.915075 > ".[CR][LF]" 14:54:25.960660 < "QUIT" 14:54:25.960722 > "+OK curl POP3 server signing off[CR][LF]" 14:54:25.961752 MAIN sockfilt said DISC 14:54:25.961781 ====> Client disconnected 14:54:25.961854 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:25.997040 ====> Client connect 14:54:25.997312 Received DATA (on stdin) 14:54:25.997328 > 178 bytes data, server => client 14:54:25.997340 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:25.997352 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:25.997362 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:25.997372 've \r\n' 14:54:25.997445 < 6 bytes data, client => server 14:54:25.997457 'CAPA\r\n' 14:54:25.997642 Received DATA (on stdin) 14:54:25.997655 > 27 bytes data, server => client 14:54:25.997666 '-ERR Unrecognized command\r\n' 14:54:25.997717 < 21 bytes data, client => server 14:54:25.997729 'RETR verifiedserver\r\n' 14:54:25.997885 Received DATA (on stdin) 14:54:25.997896 > 26 bytes data, server => client 14:54:25.997908 '+OK Mail transfer starts\r\n' 14:54:25.997928 Received DATA (on stdin) 14:54:25.997938 > 18 bytes data, server => client 14:54:25.997949 'WE ROOLZ: 120663\r\n' 14:54:25.997962 Received DATA (on stdin) 14:54:25.997973 > 3 bytes data, server => client 14:54:25.997984 '.\r\n' 14:54:26.043267 < 6 bytes data, client => server 14:54:26.043292 'QUIT\r\n' 14:54:26.043538 Received DATA (on stdin) 14:54:26.043551 > 34 bytes data, server => client 14:54:26.043564 '+OK curl POP3 server signing off\r\n' 14:54:26.044505 ====> Client disconnect 14:54:26.044673 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==148793== ==148793== Process terminating with default action of signal 4 (SIGILL) ==148793== Illegal opcode at address 0x4014B6F ==148793== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148793== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148793== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148793== by 0x4004266: main (tool_main.c:199) === End of file valgrind1319 test 1345...[HTTP GET with -O -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1345 ../src/curl -q --trace-ascii log/16/trace1345 --trace-time http://127.0.0.1:34475/1345 -i -O -D - --output-dir log/16 > log/16/stdout1345 2> log/16/stderr1345 1345: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1345 ../src/curl -q --trace-ascii log/16/trace1345 --trace-time http://127.0.0.1:34475/1345 -i -O -D - --output-dir log/16 > log/16/stdout1345 2> log/16/stderr1345 === End of file commands.log === Start of file http_server.log 14:54:27.094235 ====> Client connect 14:54:27.094266 accept_connection 3 returned 4 14:54:27.094283 accept_connection 3 returned 0 14:54:27.094298 Read 93 bytes 14:54:27.094310 Process 93 bytes request 14:54:27.094325 Got request: GET /verifiedserver HTTP/1.1 14:54:27.094336 Are-we-friendly question received 14:54:27.094363 Wrote request (93 bytes) input to log/16/server.input 14:54:27.094380 Identifying ourselves as friends 14:54:27.094437 Response sent (56 bytes) and written to log/16/server.response 14:54:27.094448 special request received, no persistency 14:54:27.094459 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1345 ==148920== ==148920== Process terminating with default action of signal 4 (SIGILL) ==148920== Illegal opcode at address 0x4014B6F ==148920== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148920== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148920== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148920== by 0x4004266: main (tool_main.c:199) === End of file valgrind1345 test 1343...[HTTP GET with -O -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1343 ../src/curl -q --trace-ascii log/19/trace1343 --trace-time http://127.0.0.1:33805/1343 -i -O -D - --output-dir log/19 > log/19/stdout1343 2> log/19/stderr1343 1343: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1343 ../src/curl -q --trace-ascii log/19/trace1343 --trace-time http://127.0.0.1:33805/1343 -i -O -D - --output-dir log/19 > log/19/stdout1343 2> log/19/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1324 ../src/curl -q --output log/9/curl1324.out --include --trace-ascii log/9/trace1324 --trace-time --resolve example.com:39931:[::1] http://example.com:39931/1324 > log/9/stdout1324 2> log/9/stderr1324 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1347 ../src/curl -q --trace-ascii log/7/trace1347 --trace-time http://127.0.0.1:40545/1347 -i -O --output-dir log/7 > log/7/stdout1347 2> log/7/stderr1347 tderr1343 === End of file commands.log === Start of file http_server.log 14:54:26.079127 ====> Client connect 14:54:26.079166 accept_connection 3 returned 4 14:54:26.079184 accept_connection 3 returned 0 14:54:26.079203 Read 93 bytes 14:54:26.079213 Process 93 bytes request 14:54:26.079228 Got request: GET /verifiedserver HTTP/1.1 14:54:26.079238 Are-we-friendly question received 14:54:26.079266 Wrote request (93 bytes) input to log/19/server.input 14:54:26.079282 Identifying ourselves as friends 14:54:26.079354 Response sent (56 bytes) and written to log/19/server.response 14:54:26.079364 special request received, no persistency 14:54:26.079373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1343 ==148881== ==148881== Process terminating with default action of signal 4 (SIGILL) ==148881== Illegal opcode at address 0x4014B6F ==148881== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148881== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148881== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148881== by 0x4004266: main (tool_main.c:199) === End of file valgrind1343 test 1344...[HTTP GET with -O -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1344 ../src/curl -q --trace-ascii log/24/trace1344 --trace-time http://127.0.0.1:34449/1344 -i -O -D log/24/heads1344 --output-dir log/24 > log/24/stdout1344 2> log/24/stderr1344 1344: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1344 ../src/curl -q --trace-ascii log/24/trace1344 --trace-time http://127.0.0.1:34449/1344 -i -O -D log/24/heads1344 --output-dir log/24 > log/24/stdout1344 2> log/24/stderr1344 === End of file commands.log === Start of file http_server.log 14:54:27.094230 ====> Client connect 14:54:27.094264 accept_connection 3 returned 4 14:54:27.094282 accept_connection 3 returned 0 14:54:27.094298 Read 93 bytes 14:54:27.094309 Process 93 bytes request 14:54:27.094325 Got request: GET /verifiedserver HTTP/1.1 14:54:27.094336 Are-we-friendly question received 14:54:27.094362 Wrote request (93 bytes) input to log/24/server.input 14:54:27.094380 Identifying ourselves as friends 14:54:27.094435 Response sent (56 bytes) and written to log/24/server.response 14:54:27.094447 special request received, no persistency 14:54:27.094457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59400 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1344 ==148921== ==148921== Process terminating with default action of signal 4 (SIGILL) ==148921== Illegal opcode at address 0x4014B6F ==148921== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148921== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148921== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148921== by 0x4004266: main (tool_main.c:199) === End of file valgrind1344 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_ipv6_server.pid" --logfile "log/9/http_ipv6_server.log" --logdir "log/9" --portfile log/9/server/http_ipv6_server.port --config log/9/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 147404 port 39931 * pid http-ipv6 => 147404 147404 test 1324...[HTTP with --resolve and [ipv6address]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1324 ../src/curl -q --output log/9/curl1324.out --include --trace-ascii log/9/trace1324 --trace-time --resolve example.com:39931:[::1] http://example.com:39931/1324 > log/9/stdout1324 2> log/9/stderr1324 1324: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1324 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1324 ../src/curl -q --output log/9/curl1324.out --include --trace-ascii log/9/trace1324 --trace-time --resolve example.com:39931:[::1] http://example.com:39931/1324 > log/9/stdout1324 2> log/9/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 14:54:26.135875 Running HTTP IPv6 version on port 39931 14:54:26.135958 Wrote pid 147404 to log/9/server/http_ipv6_server.pid 14:54:26.135991 Wrote port 39931 to log/9/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1324 === End of file server.cmd === Start of file valgrind1324 ==148994== ==148994== Process terminating with default action of signal 4 (SIGILL) ==148994== Illegal opcode at address 0x4014B6F ==148994== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==148994== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==148994== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==148994== by 0x4004266: main (tool_main.c:199) === End of file valgrind1324 test 1347...[HTTP GET with -O -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1347 ../src/curl -q --trace-ascii log/7/trace1347 --trace-time http://127.0.0.1:40545/1347 -i -O --output-dir log/7 > log/7/stdout1347 2> log/7/stderr1347 1347: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1347 ../src/curl -q --trace-ascii log/7/trace1347 --trace-time http://127.0.0.1:40545/1347 -i -O --output-dir log/7 > log/7/stdout1347 2> log/7/stderr1347 === End of file commands.log === Start of file http_server.log 14:54:27.176175 ====> Client connect 14:54:27.176208 accept_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1346 ../src/curl -q --trace-ascii log/1/trace1346 --trace-time http://127.0.0.1:44029/1346 -i -O --output-dir log/1 > log/1/stdout1346 2> log/1/stderr1346 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1321 ../src/curl -q --output log/8/curl1321.out --include --trace-ascii log/8/trace1321 --trace-time 'imap://imap.1321:42141/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:39805 > log/8/stdout1321 2> log/8/stderr1321 connection 3 returned 4 14:54:27.176227 accept_connection 3 returned 0 14:54:27.176242 Read 93 bytes 14:54:27.176254 Process 93 bytes request 14:54:27.176266 Got request: GET /verifiedserver HTTP/1.1 14:54:27.176277 Are-we-friendly question received 14:54:27.176303 Wrote request (93 bytes) input to log/7/server.input 14:54:27.176448 Identifying ourselves as friends 14:54:27.176509 Response sent (56 bytes) and written to log/7/server.response 14:54:27.176521 special request received, no persistency 14:54:27.176532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1347 ==149142== ==149142== Process terminating with default action of signal 4 (SIGILL) ==149142== Illegal opcode at address 0x4014B6F ==149142== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149142== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149142== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149142== by 0x4004266: main (tool_main.c:199) === End of file valgrind1347 test 1346...[HTTP GET with -O -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1346 ../src/curl -q --trace-ascii log/1/trace1346 --trace-time http://127.0.0.1:44029/1346 -i -O --output-dir log/1 > log/1/stdout1346 2> log/1/stderr1346 1346: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1346 ../src/curl -q --trace-ascii log/1/trace1346 --trace-time http://127.0.0.1:44029/1346 -i -O --output-dir log/1 > log/1/stdout1346 2> log/1/stderr1346 === End of file commands.log === Start of file http_server.log 14:54:27.175103 ====> Client connect 14:54:27.175135 accept_connection 3 returned 4 14:54:27.175153 accept_connection 3 returned 0 14:54:27.175170 Read 93 bytes 14:54:27.175181 Process 93 bytes request 14:54:27.175195 Got request: GET /verifiedserver HTTP/1.1 14:54:27.175205 Are-we-friendly question received 14:54:27.175230 Wrote request (93 bytes) input to log/1/server.input 14:54:27.175249 Identifying ourselves as friends 14:54:27.175305 Response sent (56 bytes) and written to log/1/server.response 14:54:27.175317 special request received, no persistency 14:54:27.175328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1346 ==149138== ==149138== Process terminating with default action of signal 4 (SIGILL) ==149138== Illegal opcode at address 0x4014B6F ==149138== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149138== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149138== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149138== by 0x4004266: main (tool_main.c:199) === End of file valgrind1346 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/8/server/http2_server.pid" --logfile "log/8/http2_server.log" --logdir "log/8" --portfile log/8/server/http2_server.port --config log/8/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 147525 port 39805 * pid http-proxy => 147525 147525 test 1321...[IMAP FETCH tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1321 ../src/curl -q --output log/8/curl1321.out --include --trace-ascii log/8/trace1321 --trace-time 'imap://imap.1321:42141/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:39805 > log/8/stdout1321 2> log/8/stderr1321 1321: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1321 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1321 ../src/curl -q --output log/8/curl1321.out --include --trace-ascii log/8/trace1321 --trace-time 'imap://imap.1321:42141/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:39805 > log/8/stdout1321 2> log/8/stderr1321 === End of file commands.log === Start of file http2_server.log 14:54:26.173750 Run as proxy, CONNECT to host 127.0.0.1 14:54:26.173861 Running HTTP IPv4 version on port 39805 14:54:26.173898 Wrote pid 147525 to log/8/server/http2_server.pid 14:54:26.173924 Wrote port 39805 to log/8/server/http2_server.port === End of file http2_server.log === Start of file imap_server.log 14:54:26.026950 ====> Client connect 14:54:26.027089 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:26.027396 < "A001 CAPABILITY" 14:54:26.027437 > "A001 BAD Command[CR][LF]" 14:54:26.027616 < "A002 LIST "verifiedserver" *" 14:54:26.027640 LIST_imap got "verifiedserver" * 14:54:26.027663 > "* LIST () "/" "WE ROOLZ: 117227"[CR][LF]" 14:54:26.027683 > "A002 OK LIST Completed[CR][LF]" 14:54:26.027697 return proof we are we 14:54:26.070786 < "A003 LOGOUT" 14:54:26.070842 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:26.070863 > "A003 OK LOGOUT completed[CR][LF]" 14:54:26.071774 MAIN sockfilt said DISC 14:54:26.071821 ====> Client disconnected 14:54:26.071878 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:26.109665 ====> Client connect 14:54:26.109916 Received DATA (on stdin) 14:54:26.109935 > 178 bytes data, server => client 14:54:26.109947 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:26.109959 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:26.109971 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:26.109980 'rve\r\n' 14:54:26.110054 < 17 bytes data, client => server 14:54:26.110068 'A001 CAPABILITY\r\n' 14:54:26.110251 Received DATA (on stdin) 14:54:26.110275 > 18 bytes data, server => client 14:54:26.110284 'A001 BAD Command\r\n' 14:54:26.110339 < 30 bytes data, client => server 14:54:26.110360 'A002 LIST "verifiedserver" *\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1348 ../src/curl -q --trace-ascii log/11/trace1348 --trace-time ftp://127.0.0.1:34519/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1349 ../src/curl -q --trace-ascii log/13/trace1349 --trace-time ftp://127.0.0.1:36645/path/file1349 -O -D log/13/heads1349 --output-dir log/13 > log/13/stdout1349 2> log/13/stderr1349 14:54:26.110511 Received DATA (on stdin) 14:54:26.110524 > 34 bytes data, server => client 14:54:26.110537 '* LIST () "/" "WE ROOLZ: 117227"\r\n' 14:54:26.110561 Received DATA (on stdin) 14:54:26.110573 > 24 bytes data, server => client 14:54:26.110584 'A002 OK LIST Completed\r\n' 14:54:26.153421 < 13 bytes data, client => server 14:54:26.153448 'A003 LOGOUT\r\n' 14:54:26.153677 Received DATA (on stdin) 14:54:26.153692 > 36 bytes data, server => client 14:54:26.153704 '* BYE curl IMAP server signing off\r\n' 14:54:26.153728 Received DATA (on stdin) 14:54:26.153740 > 26 bytes data, server => client 14:54:26.153751 'A003 OK LOGOUT completed\r\n' 14:54:26.154052 ====> Client disconnect 14:54:26.154697 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==149117== ==149117== Process terminating with default action of signal 4 (SIGILL) ==149117== Illegal opcode at address 0x4014B6F ==149117== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149117== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149117== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149117== by 0x4004266: main (tool_main.c:199) === End of file valgrind1321 test 1348...[FTP download, file without Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1348 ../src/curl -q --trace-ascii log/11/trace1348 --trace-time ftp://127.0.0.1:34519/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 1348: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1348 ../src/curl -q --trace-ascii log/11/trace1348 --trace-time ftp://127.0.0.1:34519/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 === End of file commands.log === Start of file ftp_server.log 14:54:27.248589 ====> Client connect 14:54:27.248758 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.249045 < "USER anonymous" 14:54:27.249081 > "331 We are happy you popped in![CR][LF]" 14:54:27.249275 < "PASS ftp@example.com" 14:54:27.249307 > "230 Welcome you silly person[CR][LF]" 14:54:27.249481 < "PWD" 14:54:27.249517 > "257 "/" is current directory[CR][LF]" 14:54:27.249706 < "EPSV" 14:54:27.249731 ====> Passive DATA channel requested by client 14:54:27.249746 DATA sockfilt for passive data channel starting... 14:54:27.253754 DATA sockfilt for passive data channel started (pid 149300) 14:54:27.253883 DATA sockfilt for passive data channel listens on port 38951 14:54:27.253927 > "229 Entering Passive Mode (|||38951|)[LF]" 14:54:27.253946 Client has been notified that DATA conn will be accepted on port 38951 14:54:27.254211 Client connects to port 38951 14:54:27.254240 ====> Client established passive DATA connection on port 38951 14:54:27.254326 < "TYPE I" 14:54:27.254357 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.254524 < "SIZE verifiedserver" 14:54:27.254560 > "213 17[CR][LF]" 14:54:27.254715 < "RETR verifiedserver" 14:54:27.254745 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.254835 =====> Closing passive DATA connection... 14:54:27.254851 Server disconnects passive DATA connection 14:54:27.255051 Server disconnected passive DATA connection 14:54:27.255076 DATA sockfilt for passive data channel quits (pid 149300) 14:54:27.255389 DATA sockfilt for passive data channel quit (pid 149300) 14:54:27.255415 =====> Closed passive DATA connection 14:54:27.255441 > "226 File transfer complete[CR][LF]" 14:54:27.298563 < "QUIT" 14:54:27.298624 > "221 bye bye baby[CR][LF]" 14:54:27.299628 MAIN sockfilt said DISC 14:54:27.299659 ====> Client disconnected 14:54:27.299740 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.331262 ====> Client connect 14:54:27.331583 Received DATA (on stdin) 14:54:27.331598 > 160 bytes data, server => client 14:54:27.331611 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.331624 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.331635 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.331710 < 16 bytes data, client => server 14:54:27.331723 'USER anonymous\r\n' 14:54:27.331898 Received DATA (on stdin) 14:54:27.331913 > 33 bytes data, server => client 14:54:27.331926 '331 We are happy you popped in!\r\n' 14:54:27.331985 < 22 bytes data, client => server 14:54:27.332001 'PASS ftp@example.com\r\n' 14:54:27.332121 Received DATA (on stdin) 14:54:27.332135 > 30 bytes data, server => client 14:54:27.332148 '230 Welcome you silly person\r\n' 14:54:27.332200 < 5 bytes data, client => server 14:54:27.332213 'PWD\r\n' 14:54:27.332332 Received DATA (on stdin) 14:54:27.332347 > 30 bytes data, server => client 14:54:27.332360 '257 "/" is current directory\r\n' 14:54:27.332425 < 6 bytes data, client => server 14:54:27.332439 'EPSV\r\n' 14:54:27.336768 Received DATA (on stdin) 14:54:27.336785 > 38 bytes data, server => client 14:54:27.336798 '229 Entering Passive Mode (|||38951|)\n' 14:54:27.336940 < 8 bytes data, client => server 14:54:27.336955 'TYPE I\r\n' 14:54:27.337172 Received DATA (on stdin) 14:54:27.337186 > 33 bytes data, server => client 14:54:27.337199 '200 I modify TYPE as you wanted\r\n' 14:54:27.337251 < 21 bytes data, client => server 14:54:27.337264 'SIZE verifiedserver\r\n' 14:54:27.337372 Received DATA (on stdin) 14:54:27.337384 > 8 bytes data, server => client 14:54:27.337396 '213 17\r\n' 14:54:27.337443 < 21 bytes data, client => server 14:54:27.337455 'RETR verifiedserver\r\n' 14:54:27.337667 Received DATA (on stdin) 14:54:27.337680 > 29 bytes data, server => client 14:54:27.337693 '150 Binary junk (17 bytes).\r\n' 14:54:27.338253 Received DATA (on stdin) 14:54:27.338267 > 28 bytes data, server => client 14:54:27.338279 '226 File transfer complete\r\n' 14:54:27.381159 < 6 bytes data, client => server 14:54:27.381197 'QUIT\r\n' 14:54:27.381446 Received DATA (on stdin) 14:54:27.381462 > 18 bytes data, server => client 14:54:27.381475 '221 bye bye baby\r\n' 14:54:27.382383 ====> Client disconnect 14:54:27.382557 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.335150 Running IPv4 version 14:54:27.335262 Listening on port 38951 14:54:27.335302 Wrote pid 149300 to log/11/server/ftp_sockdata.pid 14:54:27.336491 Received PING (on stdin) 14:54:27.336601 Received PORT (on stdin) 14:54:27.336976 ====> Client connect 14:54:27.337747 Received DATA (on stdin) 14:54:27.337762 > 17 bytes data, server => client 14:54:27.337774 'WE ROOLZ: 80346\r\n' 14:54:27.337801 Received DISC (on stdin) 14:54:27.337814 ====> Client forcibly disconnected 14:54:27.337954 Received QUIT (on stdin) 14:54:27.337967 quits 14:54:27.338032 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==149321== ==149321== Process terminating with default action of signal 4 (SIGILL) ==149321== Illegal opcode at address 0x4014B6F ==149321== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149321== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149321== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149321== by 0x4004266: main (tool_main.c:199) === End of file valgrind1348 test 1349...[FTP download, file without C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1350 ../src/curl -q --trace-ascii log/10/trace1350 --trace-time ftp://127.0.0.1:42691/path/file1350 -O -D - --output-dir log/10 > log/10/stdout1350 2> log/10/stderr1350 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:38141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 -tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1349 ../src/curl -q --trace-ascii log/13/trace1349 --trace-time ftp://127.0.0.1:36645/path/file1349 -O -D log/13/heads1349 --output-dir log/13 > log/13/stdout1349 2> log/13/stderr1349 1349: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1349 ../src/curl -q --trace-ascii log/13/trace1349 --trace-time ftp://127.0.0.1:36645/path/file1349 -O -D log/13/heads1349 --output-dir log/13 > log/13/stdout1349 2> log/13/stderr1349 === End of file commands.log === Start of file ftp_server.log 14:54:27.261302 ====> Client connect 14:54:27.261451 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.261733 < "USER anonymous" 14:54:27.261769 > "331 We are happy you popped in![CR][LF]" 14:54:27.261943 < "PASS ftp@example.com" 14:54:27.261969 > "230 Welcome you silly person[CR][LF]" 14:54:27.262127 < "PWD" 14:54:27.262158 > "257 "/" is current directory[CR][LF]" 14:54:27.262330 < "EPSV" 14:54:27.262354 ====> Passive DATA channel requested by client 14:54:27.262369 DATA sockfilt for passive data channel starting... 14:54:27.264388 DATA sockfilt for passive data channel started (pid 149312) 14:54:27.264533 DATA sockfilt for passive data channel listens on port 46713 14:54:27.264576 > "229 Entering Passive Mode (|||46713|)[LF]" 14:54:27.264595 Client has been notified that DATA conn will be accepted on port 46713 14:54:27.264883 Client connects to port 46713 14:54:27.264913 ====> Client established passive DATA connection on port 46713 14:54:27.265002 < "TYPE I" 14:54:27.265033 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.265194 < "SIZE verifiedserver" 14:54:27.265228 > "213 17[CR][LF]" 14:54:27.265384 < "RETR verifiedserver" 14:54:27.265417 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.265505 =====> Closing passive DATA connection... 14:54:27.265521 Server disconnects passive DATA connection 14:54:27.265762 Server disconnected passive DATA connection 14:54:27.265789 DATA sockfilt for passive data channel quits (pid 149312) 14:54:27.266009 DATA sockfilt for passive data channel quit (pid 149312) 14:54:27.266033 =====> Closed passive DATA connection 14:54:27.266065 > "226 File transfer complete[CR][LF]" 14:54:27.311175 < "QUIT" 14:54:27.311231 > "221 bye bye baby[CR][LF]" 14:54:27.312223 MAIN sockfilt said DISC 14:54:27.312253 ====> Client disconnected 14:54:27.312334 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.344005 ====> Client connect 14:54:27.344276 Received DATA (on stdin) 14:54:27.344292 > 160 bytes data, server => client 14:54:27.344306 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.344319 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.344330 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.344403 < 16 bytes data, client => server 14:54:27.344418 'USER anonymous\r\n' 14:54:27.344585 Received DATA (on stdin) 14:54:27.344599 > 33 bytes data, server => client 14:54:27.344612 '331 We are happy you popped in!\r\n' 14:54:27.344664 < 22 bytes data, client => server 14:54:27.344677 'PASS ftp@example.com\r\n' 14:54:27.344781 Received DATA (on stdin) 14:54:27.344794 > 30 bytes data, server => client 14:54:27.344807 '230 Welcome you silly person\r\n' 14:54:27.344855 < 5 bytes data, client => server 14:54:27.344867 'PWD\r\n' 14:54:27.344970 Received DATA (on stdin) 14:54:27.344983 > 30 bytes data, server => client 14:54:27.344996 '257 "/" is current directory\r\n' 14:54:27.345056 < 6 bytes data, client => server 14:54:27.345069 'EPSV\r\n' 14:54:27.347416 Received DATA (on stdin) 14:54:27.347434 > 38 bytes data, server => client 14:54:27.347447 '229 Entering Passive Mode (|||46713|)\n' 14:54:27.347639 < 8 bytes data, client => server 14:54:27.347652 'TYPE I\r\n' 14:54:27.347848 Received DATA (on stdin) 14:54:27.347861 > 33 bytes data, server => client 14:54:27.347873 '200 I modify TYPE as you wanted\r\n' 14:54:27.347923 < 21 bytes data, client => server 14:54:27.347935 'SIZE verifiedserver\r\n' 14:54:27.348038 Received DATA (on stdin) 14:54:27.348051 > 8 bytes data, server => client 14:54:27.348062 '213 17\r\n' 14:54:27.348110 < 21 bytes data, client => server 14:54:27.348122 'RETR verifiedserver\r\n' 14:54:27.348425 Received DATA (on stdin) 14:54:27.348438 > 29 bytes data, server => client 14:54:27.348450 '150 Binary junk (17 bytes).\r\n' 14:54:27.348879 Received DATA (on stdin) 14:54:27.348893 > 28 bytes data, server => client 14:54:27.348905 '226 File transfer complete\r\n' 14:54:27.393789 < 6 bytes data, client => server 14:54:27.393826 'QUIT\r\n' 14:54:27.394049 Received DATA (on stdin) 14:54:27.394063 > 18 bytes data, server => client 14:54:27.394076 '221 bye bye baby\r\n' 14:54:27.394985 ====> Client disconnect 14:54:27.395146 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.346986 Running IPv4 version 14:54:27.347071 Listening on port 46713 14:54:27.347108 Wrote pid 149312 to log/13/server/ftp_sockdata.pid 14:54:27.347130 Received PING (on stdin) 14:54:27.347247 Received PORT (on stdin) 14:54:27.347610 ====> Client connect 14:54:27.348335 Received DATA (on stdin) 14:54:27.348349 > 17 bytes data, server => client 14:54:27.348361 'WE ROOLZ: 80108\r\n' 14:54:27.348389 Received DISC (on stdin) 14:54:27.348401 ====> Client forcibly disconnected 14:54:27.348613 Received QUIT (on stdin) 14:54:27.348627 quits 14:54:27.348687 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==149335== ==149335== Process terminating with default action of signal 4 (SIGILL) ==149335== Illegal opcode at address 0x4014B6F ==149335== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149335== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149335== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149335== by 0x4004266: main (tool_main.c:199) === End of file valgrind1349 test 1350...[FTP download, file without C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1350 ../src/curl -q --trace-ascii log/10/trace1350 --trace-time ftp://127.0.0.1:42691/path/file1350 -O -D - --output-dir log/10 > log/10/stdout1350 2> log/10/stderr1350 1350: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1350 ../src/curl -q --trace-ascii log/10/trace1350 --trace-time ftp://127.0.0.1:42691/path/file1350 -O -D - --output-dir log/10 > log/10/stdout1350 2> log/10/stderr1350 === End of file commands.log === Start of file ftp_server.log 14:54:27.437357 ====> Client connect 14:54:27.437541 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.437868 < "USER anonymous" 14:54:27.437909 > "331 We are happy you popped in![CR][LF]" 14:54:27.438108 < "PASS ftp@example.com" 14:54:27.438141 > "230 Welcome you silly person[CR][LF]" 14:54:27.438313 < "PWD" 14:54:27.438347 > "257 "/" is current directory[CR][LF]" 14:54:27.438510 < "EPSV" 14:54:27.438534 ====> Passive DATA channel requested by client 14:54:27.438548 DATA sockfilt for passive data channel starting... 14:54:27.442202 DATA sockfilt for passive data channel started (pid 149441) 14:54:27.442326 DATA sockfilt for passive data channel listens on port 40803 14:54:27.442374 > "229 Entering Passive Mode (|||40803|)[LF]" 14:54:27.442398 Client has been notified that DATA conn will be accepted on port 40803 14:54:27.442604 Client connects to port 40803 14:54:27.442638 ====> Client established passive DATA connection on port 40803 14:54:27.442769 < "TYPE I" 14:54:27.442801 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.443357 < "SIZE verifiedserver" 14:54:27.443400 > "213 17[CR][LF]" 14:54:27.443608 < "RETR verifiedserver" 14:54:27.443650 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.443755 =====> Closing passive DATA connection... 14:54:27.443779 Server disconnects passive DATA connection 14:54:27.444056 Server disconnected passive DATA connection 14:54:27.444090 DATA sockfilt for passive data channel quits (pid 149441) 14:54:27.444338 DATA sockfilt for passive data channel quit (pid 149441) 14:54:27.444366 =====> Closed passive DATA connection 14:54:27.444397 > "226 File transfer complete[CR][LF]" 14:54:27.488059 < "QUIT" 14:54:27.488114 > "221 bye bye baby[CR][LF]" 14:54:27.489068 MAIN sockfilt said DISC 14:54:27.489097 ====> Client disconnected 14:54:27.489178 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.520042 ====> Client connect 14:54:27.520377 Received DATA (on stdin) 14:54:27.520397 > 160 bytes data, server => client 14:54:27.520411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.520424 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.520436 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.520520 < 16 bytes data, client => server 14:54:27.520537 'USER anonymous\r\n' 14:54:27.520727 Received DATA (on stdin) 14:54:27.520742 > 33 bytes data, server => client 14:54:27.520755 '331 We are happy you popped in!\r\n' 14:54:27.520811 < 22 bytes data, client => server 14:54:27.520825 'PASS ftp@example.com\r\n' 14:54:27.520956 Received DATA (on stdin) 14:54:27.520970 > 30 bytes data, server => client 14:54:27.520982 '230 Welcome you silly person\r\n' 14:54:27.521033 < 5 bytes data, client => server 14:54:27.521047 'PWD\r\n' 14:54:27.521158 Received DATA (on stdin) 14:54:27.521170 > 30 bytes data, server => client 14:54:27.521181 '257 "/" is current directory\r\n' 14:54:27.521241 < 6 bytes data, client => server 14:54:27.521253 'EPSV\r\n' 14:54:27.525217 Received DATA (on stdin) 14:54:27.525231 > 38 bytes data, server => client 14:54:27.525244 '229 Entering Passive Mode (|||40803|)\n' 14:54:27.525468 < 8 bytes data, client => server 14:54:27.525483 'TYPE I\r\n' 14:54:27.525970 Received DATA (on stdin) 14:54:27.525992 > 33 bytes data, server => client 14:54:27.526007 '200 I modify TYPE as you wanted\r\n' 14:54:27.526067 < 21 bytes data, client => server 14:54:27.526083 'SIZE verifiedserver\r\n' 14:54:27.526220 Received DATA (on stdin) 14:54:27.526236 > 8 bytes data, server => client 14:54:27.526248 '213 17\r\n' 14:54:27.526305 < 21 bytes data, client => server 14:54:27.526333 'RETR verifiedserver\r\n' 14:54:27.526598 Received DATA (on stdin) 14:54:27.526613 > 29 bytes data, server => client 14:54:27.526627 '150 Binary junk (17 bytes).\r\n' 14:54:27.527213 Received DATA (on stdin) 14:54:27.527229 > 28 bytes data, server => client 14:54:27.527243 '226 File transfer complete\r\n' 14:54:27.570681 < 6 bytes data, client => server 14:54:27.570717 'QUIT\r\n' 14:54:27.570931 Received DATA (on stdin) 14:54:27.570945 > 18 bytes data, server => client 14:54:27.570958 '221 bye bye baby\r\n' 14:54:27.571829 ====> Client disconnect 14:54:27.571990 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.524665 Running IPv4 version 14:54:27.524728 Listening on port 40803 14:54:27.524770 Wrote pid 149441 to log/10/server/ftp_sockdata.pid 14:54:27.524949 Received PING (on stdin) 14:54:27.525049 Received PORT (on stdin) 14:54:27.525361 ====> Client connect 14:54:27.526656 Received DATA (on stdin) 14:54:27.526672 > 17 bytes data, server => client 14:54:27.526685 'WE ROOLZ: 80280\r\n' 14:54:27.526713 Received DISC (on stdin) 14:54:27.526729 ====> Client forcibly disconnected 14:54:27.526916 Received QUIT (on stdin) 14:54:27.526930 quits 14:54:27.526996 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==149467== ==149467== Process terminating with default action of signal 4 (SIGILL) ==149467== Illegal opcode at address 0x4014B6F ==149467== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149467== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149467== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149467== by 0x4004266: main (tool_main.c:199) === End of file valgrind1350 test 1351...[FTP download, file without C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:38141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 1351: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:38141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 === End of file commands.log === Start of file ftp_server.log 14:54:27.471118 ====> Client connect 14:54:27.471289 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.471630 < "USER anonymous" 14:54:27.471672 > "331 We are happy you popped in![CR][LF]" 14:54:27.471880 < "PASS ftp@example.com" 14:54:27.471945 > "230 Welcome you silly person[CR][LF]" 14:54:27.472084 < "PWD" 14:54:27.472111 > "257 "/" is current directory[CR][LF]" 14:54:27.472274 < "EPSV" 14:54:27.472299 ====> Passive DATA channel requested by client 14:54:27.472313 DATA sockfilt for passive data channel starting... 14:54:27.474384 DATA sockfilt for passive data channel started (pid 149461) 14:54:27.474514 DATA sockfilt for passive data channel listens on port 35415 14:54:27.474571 > "229 Entering Passive Mode (|||35415|)[LF]" 14:54:27.474595 Client has been notified that DATA conn will be accepted on port 35415 14:54:27.474865 Client connects to port 35415 14:54:27.474898 ====> Client established passive DATA connection on port 35415 14:54:27.474986 < "TYPE I" 14:54:27.475018 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.475227 < "SIZE verifiedserver" 14:54:27.475308 > "213 17[CR][LF]" 14:54:27.475470 < "RETR verifiedserver" 14:54:27.475511 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.475764 =====> Closing passive DATA connection... 14:54:27.475787 Server disconnects passive DATA connection 14:54:27.475993 Server disconnected passive DATA connection 14:54:27.476023 DATA sockfilt for passive data channel quits (pid 149461) 14:54:27.476304 DATA sockfilt for passive data channel quit (pid 149461) 14:54:27.476332 =====> Closed passive DATA connection 14:54:27.476364 > "226 File transfer complete[CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:45969/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 R][LF]" 14:54:27.518872 < "QUIT" 14:54:27.518931 > "221 bye bye baby[CR][LF]" 14:54:27.519806 MAIN sockfilt said DISC 14:54:27.519845 ====> Client disconnected 14:54:27.519913 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:26.553779 ====> Client connect 14:54:26.554124 Received DATA (on stdin) 14:54:26.554141 > 160 bytes data, server => client 14:54:26.554155 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:26.554168 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:26.554179 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:26.554274 < 16 bytes data, client => server 14:54:26.554288 'USER anonymous\r\n' 14:54:26.554495 Received DATA (on stdin) 14:54:26.554509 > 33 bytes data, server => client 14:54:26.554521 '331 We are happy you popped in!\r\n' 14:54:26.554583 < 22 bytes data, client => server 14:54:26.554595 'PASS ftp@example.com\r\n' 14:54:26.554702 Received DATA (on stdin) 14:54:26.554715 > 30 bytes data, server => client 14:54:26.554756 '230 Welcome you silly person\r\n' 14:54:26.554812 < 5 bytes data, client => server 14:54:26.554823 'PWD\r\n' 14:54:26.554926 Received DATA (on stdin) 14:54:26.554938 > 30 bytes data, server => client 14:54:26.554950 '257 "/" is current directory\r\n' 14:54:26.555008 < 6 bytes data, client => server 14:54:26.555020 'EPSV\r\n' 14:54:26.557418 Received DATA (on stdin) 14:54:26.557437 > 38 bytes data, server => client 14:54:26.557450 '229 Entering Passive Mode (|||35415|)\n' 14:54:26.557612 < 8 bytes data, client => server 14:54:26.557626 'TYPE I\r\n' 14:54:26.557848 Received DATA (on stdin) 14:54:26.557863 > 33 bytes data, server => client 14:54:26.557876 '200 I modify TYPE as you wanted\r\n' 14:54:26.557939 < 21 bytes data, client => server 14:54:26.557955 'SIZE verifiedserver\r\n' 14:54:26.558063 Received DATA (on stdin) 14:54:26.558078 > 8 bytes data, server => client 14:54:26.558123 '213 17\r\n' 14:54:26.558185 < 21 bytes data, client => server 14:54:26.558200 'RETR verifiedserver\r\n' 14:54:26.558342 Received DATA (on stdin) 14:54:26.558358 > 29 bytes data, server => client 14:54:26.558370 '150 Binary junk (17 bytes).\r\n' 14:54:26.559186 Received DATA (on stdin) 14:54:26.559200 > 28 bytes data, server => client 14:54:26.559213 '226 File transfer complete\r\n' 14:54:26.601482 < 6 bytes data, client => server 14:54:26.601512 'QUIT\r\n' 14:54:26.601748 Received DATA (on stdin) 14:54:26.601762 > 18 bytes data, server => client 14:54:26.601773 '221 bye bye baby\r\n' 14:54:26.602558 ====> Client disconnect 14:54:26.602726 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.556842 Running IPv4 version 14:54:27.556902 Listening on port 35415 14:54:27.556945 Wrote pid 149461 to log/12/server/ftp_sockdata.pid 14:54:27.557134 Received PING (on stdin) 14:54:27.557234 Received PORT (on stdin) 14:54:27.557579 ====> Client connect 14:54:27.558438 Received DATA (on stdin) 14:54:27.558457 > 17 bytes data, server => client 14:54:27.558612 'WE ROOLZ: 80195\r\n' 14:54:27.558647 Received DISC (on stdin) 14:54:27.558662 ====> Client forcibly disconnected 14:54:27.558855 Received QUIT (on stdin) 14:54:27.558869 quits 14:54:27.558938 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==149505== ==149505== Process terminating with default action of signal 4 (SIGILL) ==149505== Illegal opcode at address 0x4014B6F ==149505== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149505== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149505== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149505== by 0x4004266: main (tool_main.c:199) === End of file valgrind1351 test 1352...[FTP download, file without C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:45969/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 1352: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:45969/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 === End of file commands.log === Start of file ftp_server.log 14:54:27.642899 ====> Client connect 14:54:27.643054 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.643343 < "USER anonymous" 14:54:27.643380 > "331 We are happy you popped in![CR][LF]" 14:54:27.643576 < "PASS ftp@example.com" 14:54:27.643605 > "230 Welcome you silly person[CR][LF]" 14:54:27.643768 < "PWD" 14:54:27.643797 > "257 "/" is current directory[CR][LF]" 14:54:27.643965 < "EPSV" 14:54:27.643989 ====> Passive DATA channel requested by client 14:54:27.644004 DATA sockfilt for passive data channel starting... 14:54:27.645934 DATA sockfilt for passive data channel started (pid 149594) 14:54:27.646042 DATA sockfilt for passive data channel listens on port 44279 14:54:27.646080 > "229 Entering Passive Mode (|||44279|)[LF]" 14:54:27.646100 Client has been notified that DATA conn will be accepted on port 44279 14:54:27.646327 Client connects to port 44279 14:54:27.646356 ====> Client established passive DATA connection on port 44279 14:54:27.646428 < "TYPE I" 14:54:27.646458 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.648556 < "SIZE verifiedserver" 14:54:27.648612 > "213 17[CR][LF]" 14:54:27.648771 < "RETR verifiedserver" 14:54:27.648806 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.648897 =====> Closing passive DATA connection... 14:54:27.648912 Server disconnects passive DATA connection 14:54:27.649170 Server disconnected passive DATA connection 14:54:27.649196 DATA sockfilt for passive data channel quits (pid 149594) 14:54:27.649428 DATA sockfilt for passive data channel quit (pid 149594) 14:54:27.649449 =====> Closed passive DATA connection 14:54:27.649477 > "226 File transfer complete[CR][LF]" 14:54:27.690495 < "QUIT" 14:54:27.690548 > "221 bye bye baby[CR][LF]" 14:54:27.691430 MAIN sockfilt said DISC 14:54:27.691456 ====> Client disconnected 14:54:27.691522 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.725548 ====> Client connect 14:54:27.725878 Received DATA (on stdin) 14:54:27.725894 > 160 bytes data, server => client 14:54:27.725908 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.725921 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.725933 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.726011 < 16 bytes data, client => server 14:54:27.726026 'USER anonymous\r\n' 14:54:27.726196 Received DATA (on stdin) 14:54:27.726210 > 33 bytes data, server => client 14:54:27.726223 '331 We are happy you popped in!\r\n' 14:54:27.726275 < 22 bytes data, client => server 14:54:27.726288 'PASS ftp@example.com\r\n' 14:54:27.726417 Received DATA (on stdin) 14:54:27.726431 > 30 bytes data, server => client 14:54:27.726443 '230 Welcome you silly person\r\n' 14:54:27.726494 < 5 bytes data, client => server 14:54:27.726507 'PWD\r\n' 14:54:27.726608 Received DATA (on stdin) 14:54:27.726621 > 30 bytes data, server => client 14:54:27.726633 '257 "/" is current directory\r\n' 14:54:27.726693 < 6 bytes data, client => server 14:54:27.726706 'EPSV\r\n' 14:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1354 ../src/curl -q --trace-ascii log/4/trace1354 --trace-time ftp://127.0.0.1:44299/path/file1354 -O -i -D - --output-dir log/4 > log/4/stdout1354 2> log/4/stderr1354 54:27.728916 Received DATA (on stdin) 14:54:27.728931 > 38 bytes data, server => client 14:54:27.728943 '229 Entering Passive Mode (|||44279|)\n' 14:54:27.729055 < 8 bytes data, client => server 14:54:27.729070 'TYPE I\r\n' 14:54:27.729269 Received DATA (on stdin) 14:54:27.729282 > 33 bytes data, server => client 14:54:27.729294 '200 I modify TYPE as you wanted\r\n' 14:54:27.731196 < 21 bytes data, client => server 14:54:27.731225 'SIZE verifiedserver\r\n' 14:54:27.731426 Received DATA (on stdin) 14:54:27.731438 > 8 bytes data, server => client 14:54:27.731449 '213 17\r\n' 14:54:27.731499 < 21 bytes data, client => server 14:54:27.731511 'RETR verifiedserver\r\n' 14:54:27.731725 Received DATA (on stdin) 14:54:27.731737 > 29 bytes data, server => client 14:54:27.731748 '150 Binary junk (17 bytes).\r\n' 14:54:27.732289 Received DATA (on stdin) 14:54:27.732302 > 28 bytes data, server => client 14:54:27.732313 '226 File transfer complete\r\n' 14:54:27.773134 < 6 bytes data, client => server 14:54:27.773160 'QUIT\r\n' 14:54:27.773362 Received DATA (on stdin) 14:54:27.773375 > 18 bytes data, server => client 14:54:27.773386 '221 bye bye baby\r\n' 14:54:27.774191 ====> Client disconnect 14:54:27.774332 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.728440 Running IPv4 version 14:54:27.728498 Listening on port 44279 14:54:27.728534 Wrote pid 149594 to log/22/server/ftp_sockdata.pid 14:54:27.728689 Received PING (on stdin) 14:54:27.728772 Received PORT (on stdin) 14:54:27.729091 ====> Client connect 14:54:27.731777 Received DATA (on stdin) 14:54:27.731796 > 17 bytes data, server => client 14:54:27.731807 'WE ROOLZ: 80268\r\n' 14:54:27.731835 Received DISC (on stdin) 14:54:27.731847 ====> Client forcibly disconnected 14:54:27.732014 Received QUIT (on stdin) 14:54:27.732026 quits 14:54:27.732086 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==149634== ==149634== Process terminating with default action of signal 4 (SIGILL) ==149634== Illegal opcode at address 0x4014B6F ==149634== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149634== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149634== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149634== by 0x4004266: main (tool_main.c:199) === End of file valgrind1352 test 1354...[FTP download, file without C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1354 ../src/curl -q --trace-ascii log/4/trace1354 --trace-time ftp://127.0.0.1:44299/path/file1354 -O -i -D - --output-dir log/4 > log/4/stdout1354 2> log/4/stderr1354 1354: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1354 ../src/curl -q --trace-ascii log/4/trace1354 --trace-time ftp://127.0.0.1:44299/path/file1354 -O -i -D - --output-dir log/4 > log/4/stdout1354 2> log/4/stderr1354 === End of file commands.log === Start of file ftp_server.log 14:54:27.678162 ====> Client connect 14:54:27.678305 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.678568 < "USER anonymous" 14:54:27.678601 > "331 We are happy you popped in![CR][LF]" 14:54:27.678767 < "PASS ftp@example.com" 14:54:27.678792 > "230 Welcome you silly person[CR][LF]" 14:54:27.678943 < "PWD" 14:54:27.678971 > "257 "/" is current directory[CR][LF]" 14:54:27.679127 < "EPSV" 14:54:27.679149 ====> Passive DATA channel requested by client 14:54:27.679166 DATA sockfilt for passive data channel starting... 14:54:27.680721 DATA sockfilt for passive data channel started (pid 149629) 14:54:27.680826 DATA sockfilt for passive data channel listens on port 41235 14:54:27.680864 > "229 Entering Passive Mode (|||41235|)[LF]" 14:54:27.680881 Client has been notified that DATA conn will be accepted on port 41235 14:54:27.681102 Client connects to port 41235 14:54:27.681131 ====> Client established passive DATA connection on port 41235 14:54:27.681201 < "TYPE I" 14:54:27.681226 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.681375 < "SIZE verifiedserver" 14:54:27.681407 > "213 17[CR][LF]" 14:54:27.681549 < "RETR verifiedserver" 14:54:27.681577 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.681651 =====> Closing passive DATA connection... 14:54:27.681666 Server disconnects passive DATA connection 14:54:27.681881 Server disconnected passive DATA connection 14:54:27.681907 DATA sockfilt for passive data channel quits (pid 149629) 14:54:27.682091 DATA sockfilt for passive data channel quit (pid 149629) 14:54:27.682112 =====> Closed passive DATA connection 14:54:27.682137 > "226 File transfer complete[CR][LF]" 14:54:27.727325 < "QUIT" 14:54:27.727378 > "221 bye bye baby[CR][LF]" 14:54:27.728053 MAIN sockfilt said DISC 14:54:27.728080 ====> Client disconnected 14:54:27.728148 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.760879 ====> Client connect 14:54:27.761127 Received DATA (on stdin) 14:54:27.761143 > 160 bytes data, server => client 14:54:27.761157 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.761169 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.761180 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.761247 < 16 bytes data, client => server 14:54:27.761260 'USER anonymous\r\n' 14:54:27.761416 Received DATA (on stdin) 14:54:27.761429 > 33 bytes data, server => client 14:54:27.761441 '331 We are happy you popped in!\r\n' 14:54:27.761492 < 22 bytes data, client => server 14:54:27.761504 'PASS ftp@example.com\r\n' 14:54:27.761603 Received DATA (on stdin) 14:54:27.761615 > 30 bytes data, server => client 14:54:27.761627 '230 Welcome you silly person\r\n' 14:54:27.761674 < 5 bytes data, client => server 14:54:27.761685 'PWD\r\n' 14:54:27.761781 Received DATA (on stdin) 14:54:27.761793 > 30 bytes data, server => client 14:54:27.761805 '257 "/" is current directory\r\n' 14:54:27.761859 < 6 bytes data, client => server 14:54:27.761871 'EPSV\r\n' 14:54:27.763698 Received DATA (on stdin) 14:54:27.763712 > 38 bytes data, server => client 14:54:27.763724 '229 Entering Passive Mode (|||41235|)\n' 14:54:27.763861 < 8 bytes data, client => server 14:54:27.763873 'TYPE I\r\n' 14:54:27.764037 Received DATA (on stdin) 14:54:27.764050 > 33 bytes data, server => client 14:54:27.764061 '200 I modify TYPE as you wanted\r\n' 14:54:27.764107 < 21 bytes data, client => server 14:54:27.764118 'SIZE verifiedserver\r\n' 14:54:27.764217 Received DATA (on stdin) 14:54:27.764229 > 8 bytes data, server => client 14:54:27.764239 '213 17\r\n' 14:54:27.764283 < 21 bytes data, client => server 14:54:27.764294 'RETR verifiedserver\r\n' 14:54:27.764477 Received DATA (on stdin) 14:54:27.764489 > 29 bytes data, server => client 14:54:27.764500 '150 Binary junk (17 bytes).\r\n' 14:54:27.764949 Received DATA (on stdin) 14:54:27.764962 > 28 bytes data, server => client 14:54:27.764974 '226 File transfer complete\r\n' 14:54:27.809945 < 6 bytes data, client => server 14:54:27.809969 'QUIT\r\n' 14:54:27.810194 Received DATA (on stdin) 14:54:27.810207 > 18 bytes data, server => client 14:54:27.810219 '221 bye bye baby\r\n' 14:54:27.810815 ====> Client disconnect 14:54:27.810960 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.763369 Running IPv4 version 14:54:27.763420 Listening on port 41235 14CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1353 ../src/curl -q --trace-ascii log/18/trace1353 --trace-time ftp://127.0.0.1:41069/path/file1353 -O -i -D log/18/heads1353 --output-dir log/18 > log/18/stdout1353 2> log/18/stderr1353 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1355 ../src/curl -q --trace-ascii log/14/trace1355 --trace-time ftp://127.0.0.1:37705/path/file1355 -O -i --output-dir log/14 > log/14/stdout1355 2> log/14/stderr1355 :54:27.763456 Wrote pid 149629 to log/4/server/ftp_sockdata.pid 14:54:27.763474 Received PING (on stdin) 14:54:27.763556 Received PORT (on stdin) 14:54:27.763834 ====> Client connect 14:54:27.764523 Received DATA (on stdin) 14:54:27.764536 > 17 bytes data, server => client 14:54:27.764547 'WE ROOLZ: 80848\r\n' 14:54:27.764567 Received DISC (on stdin) 14:54:27.764579 ====> Client forcibly disconnected 14:54:27.764725 Received QUIT (on stdin) 14:54:27.764737 quits 14:54:27.764790 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==149730== ==149730== Process terminating with default action of signal 4 (SIGILL) ==149730== Illegal opcode at address 0x4014B6F ==149730== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149730== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149730== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149730== by 0x4004266: main (tool_main.c:199) === End of file valgrind1354 test 1353...[FTP download, file without C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1353 ../src/curl -q --trace-ascii log/18/trace1353 --trace-time ftp://127.0.0.1:41069/path/file1353 -O -i -D log/18/heads1353 --output-dir log/18 > log/18/stdout1353 2> log/18/stderr1353 1353: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1353 ../src/curl -q --trace-ascii log/18/trace1353 --trace-time ftp://127.0.0.1:41069/path/file1353 -O -i -D log/18/heads1353 --output-dir log/18 > log/18/stdout1353 2> log/18/stderr1353 === End of file commands.log === Start of file ftp_server.log 14:54:27.663449 ====> Client connect 14:54:27.663580 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.663806 < "USER anonymous" 14:54:27.663833 > "331 We are happy you popped in![CR][LF]" 14:54:27.663967 < "PASS ftp@example.com" 14:54:27.663989 > "230 Welcome you silly person[CR][LF]" 14:54:27.664126 < "PWD" 14:54:27.664155 > "257 "/" is current directory[CR][LF]" 14:54:27.664282 < "EPSV" 14:54:27.664303 ====> Passive DATA channel requested by client 14:54:27.664314 DATA sockfilt for passive data channel starting... 14:54:27.665734 DATA sockfilt for passive data channel started (pid 149612) 14:54:27.665848 DATA sockfilt for passive data channel listens on port 45917 14:54:27.665890 > "229 Entering Passive Mode (|||45917|)[LF]" 14:54:27.665910 Client has been notified that DATA conn will be accepted on port 45917 14:54:27.666142 Client connects to port 45917 14:54:27.666172 ====> Client established passive DATA connection on port 45917 14:54:27.666244 < "TYPE I" 14:54:27.666271 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.666441 < "SIZE verifiedserver" 14:54:27.666478 > "213 17[CR][LF]" 14:54:27.666643 < "RETR verifiedserver" 14:54:27.666678 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.666758 =====> Closing passive DATA connection... 14:54:27.666774 Server disconnects passive DATA connection 14:54:27.667013 Server disconnected passive DATA connection 14:54:27.667039 DATA sockfilt for passive data channel quits (pid 149612) 14:54:27.667227 DATA sockfilt for passive data channel quit (pid 149612) 14:54:27.667254 =====> Closed passive DATA connection 14:54:27.667282 > "226 File transfer complete[CR][LF]" 14:54:27.710619 < "QUIT" 14:54:27.710681 > "221 bye bye baby[CR][LF]" 14:54:27.710839 MAIN sockfilt said DISC 14:54:27.710882 ====> Client disconnected 14:54:27.711159 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.746169 ====> Client connect 14:54:27.746398 Received DATA (on stdin) 14:54:27.746411 > 160 bytes data, server => client 14:54:27.746422 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.746431 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.746440 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.746500 < 16 bytes data, client => server 14:54:27.746511 'USER anonymous\r\n' 14:54:27.746644 Received DATA (on stdin) 14:54:27.746654 > 33 bytes data, server => client 14:54:27.746663 '331 We are happy you popped in!\r\n' 14:54:27.746704 < 22 bytes data, client => server 14:54:27.746714 'PASS ftp@example.com\r\n' 14:54:27.746801 Received DATA (on stdin) 14:54:27.746814 > 30 bytes data, server => client 14:54:27.746825 '230 Welcome you silly person\r\n' 14:54:27.746866 < 5 bytes data, client => server 14:54:27.746876 'PWD\r\n' 14:54:27.746963 Received DATA (on stdin) 14:54:27.746973 > 30 bytes data, server => client 14:54:27.746982 '257 "/" is current directory\r\n' 14:54:27.747025 < 6 bytes data, client => server 14:54:27.747034 'EPSV\r\n' 14:54:27.748729 Received DATA (on stdin) 14:54:27.748744 > 38 bytes data, server => client 14:54:27.748756 '229 Entering Passive Mode (|||45917|)\n' 14:54:27.748893 < 8 bytes data, client => server 14:54:27.748906 'TYPE I\r\n' 14:54:27.749084 Received DATA (on stdin) 14:54:27.749097 > 33 bytes data, server => client 14:54:27.749109 '200 I modify TYPE as you wanted\r\n' 14:54:27.749162 < 21 bytes data, client => server 14:54:27.749175 'SIZE verifiedserver\r\n' 14:54:27.749291 Received DATA (on stdin) 14:54:27.749304 > 8 bytes data, server => client 14:54:27.749316 '213 17\r\n' 14:54:27.749366 < 21 bytes data, client => server 14:54:27.749379 'RETR verifiedserver\r\n' 14:54:27.749589 Received DATA (on stdin) 14:54:27.749604 > 29 bytes data, server => client 14:54:27.749616 '150 Binary junk (17 bytes).\r\n' 14:54:27.750096 Received DATA (on stdin) 14:54:27.750111 > 28 bytes data, server => client 14:54:27.750123 '226 File transfer complete\r\n' 14:54:27.793248 < 6 bytes data, client => server 14:54:27.793274 'QUIT\r\n' 14:54:27.793496 Received DATA (on stdin) 14:54:27.793513 > 18 bytes data, server => client 14:54:27.793525 '221 bye bye baby\r\n' 14:54:27.793597 ====> Client disconnect 14:54:27.793707 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.748263 Running IPv4 version 14:54:27.748314 Listening on port 45917 14:54:27.748346 Wrote pid 149612 to log/18/server/ftp_sockdata.pid 14:54:27.748488 Received PING (on stdin) 14:54:27.748573 Received PORT (on stdin) 14:54:27.748864 ====> Client connect 14:54:27.749643 Received DATA (on stdin) 14:54:27.749665 > 17 bytes data, server => client 14:54:27.749677 'WE ROOLZ: 80342\r\n' 14:54:27.749700 Received DISC (on stdin) 14:54:27.749713 ====> Client forcibly disconnected 14:54:27.749856 Received QUIT (on stdin) 14:54:27.749870 quits 14:54:27.749919 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==149687== ==149687== Process terminating with default action of signal 4 (SIGILL) ==149687== Illegal opcode at address 0x4014B6F ==149687== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149687== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149687== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149687== by 0x4004266: main (tool_main.c:199) === End of file valgrind1353 test 1355...[FTP download, file without C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1355 ../src/curl -q --trace-ascii log/14/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1356 ../src/curl -q --trace-ascii log/15/trace1356 --trace-time ftp://127.0.0.1:44241/path/file1356 -O --output-dir log/15 > log/15/stdout1356 2> log/15/stderr1356 trace1355 --trace-time ftp://127.0.0.1:37705/path/file1355 -O -i --output-dir log/14 > log/14/stdout1355 2> log/14/stderr1355 1355: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1355 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1355 ../src/curl -q --trace-ascii log/14/trace1355 --trace-time ftp://127.0.0.1:37705/path/file1355 -O -i --output-dir log/14 > log/14/stdout1355 2> log/14/stderr1355 === End of file commands.log === Start of file ftp_server.log 14:54:27.726078 ====> Client connect 14:54:27.726492 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.726761 < "USER anonymous" 14:54:27.726795 > "331 We are happy you popped in![CR][LF]" 14:54:27.726978 < "PASS ftp@example.com" 14:54:27.727005 > "230 Welcome you silly person[CR][LF]" 14:54:27.727167 < "PWD" 14:54:27.727204 > "257 "/" is current directory[CR][LF]" 14:54:27.728149 < "EPSV" 14:54:27.728175 ====> Passive DATA channel requested by client 14:54:27.728190 DATA sockfilt for passive data channel starting... 14:54:27.729860 DATA sockfilt for passive data channel started (pid 149699) 14:54:27.729957 DATA sockfilt for passive data channel listens on port 41665 14:54:27.729986 > "229 Entering Passive Mode (|||41665|)[LF]" 14:54:27.730001 Client has been notified that DATA conn will be accepted on port 41665 14:54:27.730178 Client connects to port 41665 14:54:27.730220 ====> Client established passive DATA connection on port 41665 14:54:27.730342 < "TYPE I" 14:54:27.730373 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.730636 < "SIZE verifiedserver" 14:54:27.730674 > "213 17[CR][LF]" 14:54:27.730840 < "RETR verifiedserver" 14:54:27.730873 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.730960 =====> Closing passive DATA connection... 14:54:27.730977 Server disconnects passive DATA connection 14:54:27.731210 Server disconnected passive DATA connection 14:54:27.731239 DATA sockfilt for passive data channel quits (pid 149699) 14:54:27.731440 DATA sockfilt for passive data channel quit (pid 149699) 14:54:27.731462 =====> Closed passive DATA connection 14:54:27.731490 > "226 File transfer complete[CR][LF]" 14:54:27.778083 < "QUIT" 14:54:27.778144 > "221 bye bye baby[CR][LF]" 14:54:27.779215 MAIN sockfilt said DISC 14:54:27.779249 ====> Client disconnected 14:54:27.779671 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.808783 ====> Client connect 14:54:27.809319 Received DATA (on stdin) 14:54:27.809335 > 160 bytes data, server => client 14:54:27.809348 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.809360 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.809371 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.809436 < 16 bytes data, client => server 14:54:27.809448 'USER anonymous\r\n' 14:54:27.809608 Received DATA (on stdin) 14:54:27.809621 > 33 bytes data, server => client 14:54:27.809633 '331 We are happy you popped in!\r\n' 14:54:27.809695 < 22 bytes data, client => server 14:54:27.809709 'PASS ftp@example.com\r\n' 14:54:27.809817 Received DATA (on stdin) 14:54:27.809830 > 30 bytes data, server => client 14:54:27.809841 '230 Welcome you silly person\r\n' 14:54:27.809892 < 5 bytes data, client => server 14:54:27.809904 'PWD\r\n' 14:54:27.810543 Received DATA (on stdin) 14:54:27.810802 > 30 bytes data, server => client 14:54:27.810817 '257 "/" is current directory\r\n' 14:54:27.810873 < 6 bytes data, client => server 14:54:27.810884 'EPSV\r\n' 14:54:27.812812 Received DATA (on stdin) 14:54:27.812823 > 38 bytes data, server => client 14:54:27.812832 '229 Entering Passive Mode (|||41665|)\n' 14:54:27.813047 < 8 bytes data, client => server 14:54:27.813061 'TYPE I\r\n' 14:54:27.813186 Received DATA (on stdin) 14:54:27.813199 > 33 bytes data, server => client 14:54:27.813211 '200 I modify TYPE as you wanted\r\n' 14:54:27.813350 < 21 bytes data, client => server 14:54:27.813367 'SIZE verifiedserver\r\n' 14:54:27.813488 Received DATA (on stdin) 14:54:27.813501 > 8 bytes data, server => client 14:54:27.813513 '213 17\r\n' 14:54:27.813564 < 21 bytes data, client => server 14:54:27.813577 'RETR verifiedserver\r\n' 14:54:27.813792 Received DATA (on stdin) 14:54:27.813804 > 29 bytes data, server => client 14:54:27.813815 '150 Binary junk (17 bytes).\r\n' 14:54:27.814301 Received DATA (on stdin) 14:54:27.814314 > 28 bytes data, server => client 14:54:27.814325 '226 File transfer complete\r\n' 14:54:27.860674 < 6 bytes data, client => server 14:54:27.860719 'QUIT\r\n' 14:54:27.860965 Received DATA (on stdin) 14:54:27.860981 > 18 bytes data, server => client 14:54:27.860994 '221 bye bye baby\r\n' 14:54:27.861972 ====> Client disconnect 14:54:27.862079 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.812545 Running IPv4 version 14:54:27.812581 Listening on port 41665 14:54:27.812608 Wrote pid 149699 to log/14/server/ftp_sockdata.pid 14:54:27.812622 Received PING (on stdin) 14:54:27.812695 Received PORT (on stdin) 14:54:27.812937 ====> Client connect 14:54:27.813841 Received DATA (on stdin) 14:54:27.813854 > 17 bytes data, server => client 14:54:27.813866 'WE ROOLZ: 80387\r\n' 14:54:27.813889 Received DISC (on stdin) 14:54:27.813901 ====> Client forcibly disconnected 14:54:27.814059 Received QUIT (on stdin) 14:54:27.814071 quits 14:54:27.814124 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==149811== ==149811== Process terminating with default action of signal 4 (SIGILL) ==149811== Illegal opcode at address 0x4014B6F ==149811== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149811== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149811== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149811== by 0x4004266: main (tool_main.c:199) === End of file valgrind1355 test 1356...[FTP download, file with Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1356 ../src/curl -q --trace-ascii log/15/trace1356 --trace-time ftp://127.0.0.1:44241/path/file1356 -O --output-dir log/15 > log/15/stdout1356 2> log/15/stderr1356 1356: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1356 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1356 ../src/curl -q --trace-ascii log/15/trace1356 --trace-time ftp://127.0.0.1:44241/path/file1356 -O --output-dir log/15 > log/15/stdout1356 2> log/15/stderr1356 === End of file commands.log === Start of file ftp_server.log 14:54:27.725929 ====> Client connect 14:54:27.726091 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.727519 < "USER anonymous" 14:54:27.727554 > "331 We are happy you popped in![CR][LF]" 14:54:27.727727 < "PASS ftp@example.com" 14:54:27.727764 > "230 Welcome you silly person[CR][LF]" 14:54:27.727928 < "PWD" 14:54:27.727959 > "257 "/" is current directory[CR][LF]" 14:54:27.728132 < "EPSV" 14:54:27.728156 ====> Passive DATA channel requested by client 14:54:27.728171 DATA sockfilt for passCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1357 ../src/curl -q --trace-ascii log/17/trace1357 --trace-time ftp://127.0.0.1:40705/path/file1357 -O -D log/17/heads1357 --output-dir log/17 > log/17/stdout1357 2> log/17/stderr1357 ive data channel starting... 14:54:27.732269 DATA sockfilt for passive data channel started (pid 149700) 14:54:27.732387 DATA sockfilt for passive data channel listens on port 35209 14:54:27.732429 > "229 Entering Passive Mode (|||35209|)[LF]" 14:54:27.732449 Client has been notified that DATA conn will be accepted on port 35209 14:54:27.732698 Client connects to port 35209 14:54:27.732738 ====> Client established passive DATA connection on port 35209 14:54:27.732839 < "TYPE I" 14:54:27.732876 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.733065 < "SIZE verifiedserver" 14:54:27.733104 > "213 17[CR][LF]" 14:54:27.733280 < "RETR verifiedserver" 14:54:27.733314 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.733406 =====> Closing passive DATA connection... 14:54:27.733427 Server disconnects passive DATA connection 14:54:27.733736 Server disconnected passive DATA connection 14:54:27.733769 DATA sockfilt for passive data channel quits (pid 149700) 14:54:27.734001 DATA sockfilt for passive data channel quit (pid 149700) 14:54:27.734028 =====> Closed passive DATA connection 14:54:27.734121 > "226 File transfer complete[CR][LF]" 14:54:27.778145 < "QUIT" 14:54:27.778201 > "221 bye bye baby[CR][LF]" 14:54:27.779219 MAIN sockfilt said DISC 14:54:27.779251 ====> Client disconnected 14:54:27.779813 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.808624 ====> Client connect 14:54:27.808908 Received DATA (on stdin) 14:54:27.808991 > 160 bytes data, server => client 14:54:27.809058 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.809070 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.809081 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.809171 < 16 bytes data, client => server 14:54:27.809186 'USER anonymous\r\n' 14:54:27.810347 Received DATA (on stdin) 14:54:27.810366 > 33 bytes data, server => client 14:54:27.810379 '331 We are happy you popped in!\r\n' 14:54:27.810434 < 22 bytes data, client => server 14:54:27.810448 'PASS ftp@example.com\r\n' 14:54:27.810577 Received DATA (on stdin) 14:54:27.810590 > 30 bytes data, server => client 14:54:27.810602 '230 Welcome you silly person\r\n' 14:54:27.810654 < 5 bytes data, client => server 14:54:27.810666 'PWD\r\n' 14:54:27.810770 Received DATA (on stdin) 14:54:27.810783 > 30 bytes data, server => client 14:54:27.810795 '257 "/" is current directory\r\n' 14:54:27.810856 < 6 bytes data, client => server 14:54:27.810869 'EPSV\r\n' 14:54:27.815268 Received DATA (on stdin) 14:54:27.815286 > 38 bytes data, server => client 14:54:27.815298 '229 Entering Passive Mode (|||35209|)\n' 14:54:27.815462 < 8 bytes data, client => server 14:54:27.815475 'TYPE I\r\n' 14:54:27.815694 Received DATA (on stdin) 14:54:27.815709 > 33 bytes data, server => client 14:54:27.815722 '200 I modify TYPE as you wanted\r\n' 14:54:27.815781 < 21 bytes data, client => server 14:54:27.815796 'SIZE verifiedserver\r\n' 14:54:27.815919 Received DATA (on stdin) 14:54:27.815933 > 8 bytes data, server => client 14:54:27.815945 '213 17\r\n' 14:54:27.815998 < 21 bytes data, client => server 14:54:27.816014 'RETR verifiedserver\r\n' 14:54:27.816244 Received DATA (on stdin) 14:54:27.816259 > 29 bytes data, server => client 14:54:27.816271 '150 Binary junk (17 bytes).\r\n' 14:54:27.816944 Received DATA (on stdin) 14:54:27.816959 > 28 bytes data, server => client 14:54:27.816972 '226 File transfer complete\r\n' 14:54:27.860771 < 6 bytes data, client => server 14:54:27.860799 'QUIT\r\n' 14:54:27.861022 Received DATA (on stdin) 14:54:27.861038 > 18 bytes data, server => client 14:54:27.861050 '221 bye bye baby\r\n' 14:54:27.861977 ====> Client disconnect 14:54:27.862094 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.812441 Running IPv4 version 14:54:27.812494 Listening on port 35209 14:54:27.812530 Wrote pid 149700 to log/15/server/ftp_sockdata.pid 14:54:27.815010 Received PING (on stdin) 14:54:27.815112 Received PORT (on stdin) 14:54:27.815431 ====> Client connect 14:54:27.816300 Received DATA (on stdin) 14:54:27.816324 > 17 bytes data, server => client 14:54:27.816336 'WE ROOLZ: 80266\r\n' 14:54:27.816405 Received DISC (on stdin) 14:54:27.816420 ====> Client forcibly disconnected 14:54:27.816600 Received QUIT (on stdin) 14:54:27.816615 quits 14:54:27.816671 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==149816== ==149816== Process terminating with default action of signal 4 (SIGILL) ==149816== Illegal opcode at address 0x4014B6F ==149816== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149816== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149816== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149816== by 0x4004266: main (tool_main.c:199) === End of file valgrind1356 test 1357...[FTP download, file with C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1357 ../src/curl -q --trace-ascii log/17/trace1357 --trace-time ftp://127.0.0.1:40705/path/file1357 -O -D log/17/heads1357 --output-dir log/17 > log/17/stdout1357 2> log/17/stderr1357 1357: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1357 ../src/curl -q --trace-ascii log/17/trace1357 --trace-time ftp://127.0.0.1:40705/path/file1357 -O -D log/17/heads1357 --output-dir log/17 > log/17/stdout1357 2> log/17/stderr1357 === End of file commands.log === Start of file ftp_server.log 14:54:27.807171 ====> Client connect 14:54:27.807313 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.807609 < "USER anonymous" 14:54:27.807646 > "331 We are happy you popped in![CR][LF]" 14:54:27.807822 < "PASS ftp@example.com" 14:54:27.807854 > "230 Welcome you silly person[CR][LF]" 14:54:27.808023 < "PWD" 14:54:27.808056 > "257 "/" is current directory[CR][LF]" 14:54:27.808224 < "EPSV" 14:54:27.808249 ====> Passive DATA channel requested by client 14:54:27.808263 DATA sockfilt for passive data channel starting... 14:54:27.810057 DATA sockfilt for passive data channel started (pid 149866) 14:54:27.810169 DATA sockfilt for passive data channel listens on port 34137 14:54:27.810231 > "229 Entering Passive Mode (|||34137|)[LF]" 14:54:27.810252 Client has been notified that DATA conn will be accepted on port 34137 14:54:27.810441 Client connects to port 34137 14:54:27.810470 ====> Client established passive DATA connection on port 34137 14:54:27.810546 < "TYPE I" 14:54:27.810577 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.810792 < "SIZE verifiedserver" 14:54:27.810855 > "213 17[CR][LF]" 14:54:27.811656 < "RETR verifiedserver" 14:54:27.811711 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.811808 =====> Closing passive DATA connection... 14:54:27.811827 Server disconnects passive DATA connection 14:54:27.812116 Server disconnected passive DATA connection 14:54:27.812145 DATA sockfilt for passive data channel quits (pid 149866) 14:54:27.812433 DATA sockfilt for passive data channel quit (pid 149866) 14:54:27.812458 =====> Closed passive DATA connection 14:54:27.812489 > "226 File transfer complete[CR][LF]" 14:54:27.854179 < "QUIT" 14:54:27.854235 > "221 bye bye baby[CR][LF]" 14:54:27.854653 MAIN sockfilt said DISC 14:54:27.854705 ====> Client disconnected 14:54:27.854782 Awaiting input === End of file ftp_server.log === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:43281/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 Start of file ftp_sockctrl.log 14:54:27.889879 ====> Client connect 14:54:27.890140 Received DATA (on stdin) 14:54:27.890157 > 160 bytes data, server => client 14:54:27.890171 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.890183 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.890194 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.890272 < 16 bytes data, client => server 14:54:27.890287 'USER anonymous\r\n' 14:54:27.890460 Received DATA (on stdin) 14:54:27.890473 > 33 bytes data, server => client 14:54:27.890484 '331 We are happy you popped in!\r\n' 14:54:27.890537 < 22 bytes data, client => server 14:54:27.890550 'PASS ftp@example.com\r\n' 14:54:27.890667 Received DATA (on stdin) 14:54:27.890680 > 30 bytes data, server => client 14:54:27.890692 '230 Welcome you silly person\r\n' 14:54:27.890743 < 5 bytes data, client => server 14:54:27.890756 'PWD\r\n' 14:54:27.890869 Received DATA (on stdin) 14:54:27.890882 > 30 bytes data, server => client 14:54:27.890893 '257 "/" is current directory\r\n' 14:54:27.890951 < 6 bytes data, client => server 14:54:27.890963 'EPSV\r\n' 14:54:27.893070 Received DATA (on stdin) 14:54:27.893083 > 38 bytes data, server => client 14:54:27.893095 '229 Entering Passive Mode (|||34137|)\n' 14:54:27.893286 < 8 bytes data, client => server 14:54:27.893308 'TYPE I\r\n' 14:54:27.893389 Received DATA (on stdin) 14:54:27.893403 > 33 bytes data, server => client 14:54:27.893415 '200 I modify TYPE as you wanted\r\n' 14:54:27.893468 < 21 bytes data, client => server 14:54:27.893481 'SIZE verifiedserver\r\n' 14:54:27.894217 Received DATA (on stdin) 14:54:27.894243 > 8 bytes data, server => client 14:54:27.894257 '213 17\r\n' 14:54:27.894352 < 21 bytes data, client => server 14:54:27.894365 'RETR verifiedserver\r\n' 14:54:27.894644 Received DATA (on stdin) 14:54:27.894660 > 29 bytes data, server => client 14:54:27.894673 '150 Binary junk (17 bytes).\r\n' 14:54:27.895306 Received DATA (on stdin) 14:54:27.895321 > 28 bytes data, server => client 14:54:27.895334 '226 File transfer complete\r\n' 14:54:27.936780 < 6 bytes data, client => server 14:54:27.936817 'QUIT\r\n' 14:54:27.937056 Received DATA (on stdin) 14:54:27.937072 > 18 bytes data, server => client 14:54:27.937084 '221 bye bye baby\r\n' 14:54:27.937393 ====> Client disconnect 14:54:27.937597 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.892577 Running IPv4 version 14:54:27.892632 Listening on port 34137 14:54:27.892664 Wrote pid 149866 to log/17/server/ftp_sockdata.pid 14:54:27.892810 Received PING (on stdin) 14:54:27.892895 Received PORT (on stdin) 14:54:27.893203 ====> Client connect 14:54:27.894710 Received DATA (on stdin) 14:54:27.894729 > 17 bytes data, server => client 14:54:27.894741 'WE ROOLZ: 91632\r\n' 14:54:27.894771 Received DISC (on stdin) 14:54:27.894787 ====> Client forcibly disconnected 14:54:27.894967 Received QUIT (on stdin) 14:54:27.894981 quits 14:54:27.895043 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==149975== ==149975== Process terminating with default action of signal 4 (SIGILL) ==149975== Illegal opcode at address 0x4014B6F ==149975== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149975== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149975== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149975== by 0x4004266: main (tool_main.c:199) === End of file valgrind1357 test 1358...[FTP download, file with C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:43281/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 1358: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1358 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:43281/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 === End of file commands.log === Start of file ftp_server.log 14:54:27.816844 ====> Client connect 14:54:27.817001 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.817475 < "USER anonymous" 14:54:27.817514 > "331 We are happy you popped in![CR][LF]" 14:54:27.817700 < "PASS ftp@example.com" 14:54:27.817727 > "230 Welcome you silly person[CR][LF]" 14:54:27.817902 < "PWD" 14:54:27.817932 > "257 "/" is current directory[CR][LF]" 14:54:27.818116 < "EPSV" 14:54:27.818142 ====> Passive DATA channel requested by client 14:54:27.818157 DATA sockfilt for passive data channel starting... 14:54:27.819769 DATA sockfilt for passive data channel started (pid 149915) 14:54:27.819882 DATA sockfilt for passive data channel listens on port 45309 14:54:27.819920 > "229 Entering Passive Mode (|||45309|)[LF]" 14:54:27.819940 Client has been notified that DATA conn will be accepted on port 45309 14:54:27.820162 Client connects to port 45309 14:54:27.820195 ====> Client established passive DATA connection on port 45309 14:54:27.820267 < "TYPE I" 14:54:27.820293 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.820450 < "SIZE verifiedserver" 14:54:27.820483 > "213 17[CR][LF]" 14:54:27.820633 < "RETR verifiedserver" 14:54:27.820664 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.820743 =====> Closing passive DATA connection... 14:54:27.820758 Server disconnects passive DATA connection 14:54:27.820990 Server disconnected passive DATA connection 14:54:27.821017 DATA sockfilt for passive data channel quits (pid 149915) 14:54:27.821225 DATA sockfilt for passive data channel quit (pid 149915) 14:54:27.821248 =====> Closed passive DATA connection 14:54:27.821273 > "226 File transfer complete[CR][LF]" 14:54:27.869529 < "QUIT" 14:54:27.869585 > "221 bye bye baby[CR][LF]" 14:54:27.870388 MAIN sockfilt said DISC 14:54:27.870432 ====> Client disconnected 14:54:27.870501 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.899558 ====> Client connect 14:54:27.900002 Received DATA (on stdin) 14:54:27.900024 > 160 bytes data, server => client 14:54:27.900038 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.900050 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.900062 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.900135 < 16 bytes data, client => server 14:54:27.900152 'USER anonymous\r\n' 14:54:27.900332 Received DATA (on stdin) 14:54:27.900347 > 33 bytes data, server => client 14:54:27.900359 '331 We are happy you popped in!\r\n' 14:54:27.900415 < 22 bytes data, client => server 14:54:27.900429 'PASS ftp@example.com\r\n' 14:54:27.900540 Received DATA (on stdin) 14:54:27.900554 > 30 bytes data, server => client 14:54:27.900566 '230 Welcome you silly person\r\n' 14:54:27.900620 < 5 bytes data, client => server 14:54:27.900634 'PWD\r\n' 14:54:27.900746 Received DATA (on stdin) 14:54:27.900760 > 30 bytes data, server => client 14:54:27.900772 '257 "/" is current directory\r\n' 14:54:27.900835 < 6 bytes data, client => server 14:54:27.900849 'EPSV\r\n' 14:54:27.902756 Received DATA (on stdin) 14:54:27.902770 > 38 bytes data, server => client 14:54:27.902783 '229 Entering Passive Mode (|||45309|)\n' 14:54:27.902920 < 8 bytes data, client => server 14:54:27.902933 'TYPE I\r\n' 14:54:27.90310CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:36903/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 6 Received DATA (on stdin) 14:54:27.903119 > 33 bytes data, server => client 14:54:27.903132 '200 I modify TYPE as you wanted\r\n' 14:54:27.903181 < 21 bytes data, client => server 14:54:27.903192 'SIZE verifiedserver\r\n' 14:54:27.903294 Received DATA (on stdin) 14:54:27.903306 > 8 bytes data, server => client 14:54:27.903317 '213 17\r\n' 14:54:27.903364 < 21 bytes data, client => server 14:54:27.903376 'RETR verifiedserver\r\n' 14:54:27.903570 Received DATA (on stdin) 14:54:27.903583 > 29 bytes data, server => client 14:54:27.903595 '150 Binary junk (17 bytes).\r\n' 14:54:27.904084 Received DATA (on stdin) 14:54:27.904098 > 28 bytes data, server => client 14:54:27.904110 '226 File transfer complete\r\n' 14:54:27.952155 < 6 bytes data, client => server 14:54:27.952184 'QUIT\r\n' 14:54:27.952405 Received DATA (on stdin) 14:54:27.952420 > 18 bytes data, server => client 14:54:27.952432 '221 bye bye baby\r\n' 14:54:27.953128 ====> Client disconnect 14:54:27.953315 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.902384 Running IPv4 version 14:54:27.902463 Listening on port 45309 14:54:27.902501 Wrote pid 149915 to log/21/server/ftp_sockdata.pid 14:54:27.902522 Received PING (on stdin) 14:54:27.902608 Received PORT (on stdin) 14:54:27.902894 ====> Client connect 14:54:27.903620 Received DATA (on stdin) 14:54:27.903633 > 17 bytes data, server => client 14:54:27.903645 'WE ROOLZ: 80269\r\n' 14:54:27.903670 Received DISC (on stdin) 14:54:27.903682 ====> Client forcibly disconnected 14:54:27.903836 Received QUIT (on stdin) 14:54:27.903848 quits 14:54:27.903904 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==149996== ==149996== Process terminating with default action of signal 4 (SIGILL) ==149996== Illegal opcode at address 0x4014B6F ==149996== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149996== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149996== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149996== by 0x4004266: main (tool_main.c:199) === End of file valgrind1358 test 1360...[FTP download, file with C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:36903/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 1360: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1360 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:36903/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 === End of file commands.log === Start of file ftp_server.log 14:54:27.825331 ====> Client connect 14:54:27.825469 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.825738 < "USER anonymous" 14:54:27.825773 > "331 We are happy you popped in![CR][LF]" 14:54:27.825954 < "PASS ftp@example.com" 14:54:27.825982 > "230 Welcome you silly person[CR][LF]" 14:54:27.826214 < "PWD" 14:54:27.826268 > "257 "/" is current directory[CR][LF]" 14:54:27.826480 < "EPSV" 14:54:27.826509 ====> Passive DATA channel requested by client 14:54:27.826525 DATA sockfilt for passive data channel starting... 14:54:27.828519 DATA sockfilt for passive data channel started (pid 149941) 14:54:27.828640 DATA sockfilt for passive data channel listens on port 33991 14:54:27.828690 > "229 Entering Passive Mode (|||33991|)[LF]" 14:54:27.828714 Client has been notified that DATA conn will be accepted on port 33991 14:54:27.828937 Client connects to port 33991 14:54:27.828983 ====> Client established passive DATA connection on port 33991 14:54:27.829080 < "TYPE I" 14:54:27.829115 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.829306 < "SIZE verifiedserver" 14:54:27.829343 > "213 17[CR][LF]" 14:54:27.829507 < "RETR verifiedserver" 14:54:27.829543 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.829630 =====> Closing passive DATA connection... 14:54:27.829650 Server disconnects passive DATA connection 14:54:27.829911 Server disconnected passive DATA connection 14:54:27.829942 DATA sockfilt for passive data channel quits (pid 149941) 14:54:27.830208 DATA sockfilt for passive data channel quit (pid 149941) 14:54:27.830237 =====> Closed passive DATA connection 14:54:27.831230 > "226 File transfer complete[CR][LF]" 14:54:27.873929 < "QUIT" 14:54:27.873977 > "221 bye bye baby[CR][LF]" 14:54:27.874924 MAIN sockfilt said DISC 14:54:27.874976 ====> Client disconnected 14:54:27.875045 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.908046 ====> Client connect 14:54:27.908294 Received DATA (on stdin) 14:54:27.908309 > 160 bytes data, server => client 14:54:27.908321 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.908332 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.908342 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.908411 < 16 bytes data, client => server 14:54:27.908426 'USER anonymous\r\n' 14:54:27.908589 Received DATA (on stdin) 14:54:27.908603 > 33 bytes data, server => client 14:54:27.908617 '331 We are happy you popped in!\r\n' 14:54:27.908671 < 22 bytes data, client => server 14:54:27.908686 'PASS ftp@example.com\r\n' 14:54:27.908795 Received DATA (on stdin) 14:54:27.908809 > 30 bytes data, server => client 14:54:27.908821 '230 Welcome you silly person\r\n' 14:54:27.908886 < 5 bytes data, client => server 14:54:27.908904 'PWD\r\n' 14:54:27.909088 Received DATA (on stdin) 14:54:27.909103 > 30 bytes data, server => client 14:54:27.909116 '257 "/" is current directory\r\n' 14:54:27.909193 < 6 bytes data, client => server 14:54:27.909209 'EPSV\r\n' 14:54:27.911537 Received DATA (on stdin) 14:54:27.911553 > 38 bytes data, server => client 14:54:27.911566 '229 Entering Passive Mode (|||33991|)\n' 14:54:27.911725 < 8 bytes data, client => server 14:54:27.911739 'TYPE I\r\n' 14:54:27.911933 Received DATA (on stdin) 14:54:27.911950 > 33 bytes data, server => client 14:54:27.911963 '200 I modify TYPE as you wanted\r\n' 14:54:27.912028 < 21 bytes data, client => server 14:54:27.912041 'SIZE verifiedserver\r\n' 14:54:27.912156 Received DATA (on stdin) 14:54:27.912170 > 8 bytes data, server => client 14:54:27.912181 '213 17\r\n' 14:54:27.912232 < 21 bytes data, client => server 14:54:27.912245 'RETR verifiedserver\r\n' 14:54:27.912466 Received DATA (on stdin) 14:54:27.912481 > 29 bytes data, server => client 14:54:27.912493 '150 Binary junk (17 bytes).\r\n' 14:54:27.913065 Received DATA (on stdin) 14:54:27.913081 > 28 bytes data, server => client 14:54:27.913094 '226 File transfer complete\r\n' 14:54:27.956576 < 6 bytes data, client => server 14:54:27.956601 'QUIT\r\n' 14:54:27.956793 Received DATA (on stdin) 14:54:27.956806 > 18 bytes data, server => client 14:54:27.956818 '221 bye bye baby\r\n' 14:54:27.957170 ====> Client disconnect 14:54:27.957857 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.911136 Running IPv4 version 14:54:27.911209 Listening on port 33991 14:54:27.911246 Wrote pid 149941 to log/20/server/ftp_sockdata.pid 14:54:27.911269 Received PING (on stdin) 14:54:27.911361 Received PORT (on stdin) 14:54:27.911693 ====> Client connect 14:54:27.912525 Received DATA (on stdin) 14:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1359 ../src/curl -q --trace-ascii log/5/trace1359 --trace-time ftp://127.0.0.1:32907/path/file1359 -O -J -D log/5/heads1359 --output-dir log/5 > log/5/stdout1359 2> log/5/stderr1359 RUN: Process with pid 91747 forced to die with SIGKILL 4:27.912543 > 17 bytes data, server => client 14:54:27.912555 'WE ROOLZ: 80341\r\n' 14:54:27.912581 Received DISC (on stdin) 14:54:27.912594 ====> Client forcibly disconnected 14:54:27.912765 Received QUIT (on stdin) 14:54:27.912778 quits 14:54:27.912838 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==150011== ==150011== Process terminating with default action of signal 4 (SIGILL) ==150011== Illegal opcode at address 0x4014B6F ==150011== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150011== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150011== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150011== by 0x4004266: main (tool_main.c:199) === End of file valgrind1360 test 1359...[FTP download, file with C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1359 ../src/curl -q --trace-ascii log/5/trace1359 --trace-time ftp://127.0.0.1:32907/path/file1359 -O -J -D log/5/heads1359 --output-dir log/5 > log/5/stdout1359 2> log/5/stderr1359 1359: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1359 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1359 ../src/curl -q --trace-ascii log/5/trace1359 --trace-time ftp://127.0.0.1:32907/path/file1359 -O -J -D log/5/heads1359 --output-dir log/5 > log/5/stdout1359 2> log/5/stderr1359 === End of file commands.log === Start of file ftp_server.log 14:54:27.822156 ====> Client connect 14:54:27.822300 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.822602 < "USER anonymous" 14:54:27.822639 > "331 We are happy you popped in![CR][LF]" 14:54:27.822986 < "PASS ftp@example.com" 14:54:27.823037 > "230 Welcome you silly person[CR][LF]" 14:54:27.823206 < "PWD" 14:54:27.823250 > "257 "/" is current directory[CR][LF]" 14:54:27.823428 < "EPSV" 14:54:27.823458 ====> Passive DATA channel requested by client 14:54:27.823472 DATA sockfilt for passive data channel starting... 14:54:27.825561 DATA sockfilt for passive data channel started (pid 149932) 14:54:27.825685 DATA sockfilt for passive data channel listens on port 33961 14:54:27.825728 > "229 Entering Passive Mode (|||33961|)[LF]" 14:54:27.825749 Client has been notified that DATA conn will be accepted on port 33961 14:54:27.826027 Client connects to port 33961 14:54:27.826051 ====> Client established passive DATA connection on port 33961 14:54:27.826132 < "TYPE I" 14:54:27.826161 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.826358 < "SIZE verifiedserver" 14:54:27.826408 > "213 17[CR][LF]" 14:54:27.826572 < "RETR verifiedserver" 14:54:27.826609 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.826704 =====> Closing passive DATA connection... 14:54:27.826721 Server disconnects passive DATA connection 14:54:27.826989 Server disconnected passive DATA connection 14:54:27.827017 DATA sockfilt for passive data channel quits (pid 149932) 14:54:27.827310 DATA sockfilt for passive data channel quit (pid 149932) 14:54:27.827335 =====> Closed passive DATA connection 14:54:27.827362 > "226 File transfer complete[CR][LF]" 14:54:27.870555 < "QUIT" 14:54:27.870607 > "221 bye bye baby[CR][LF]" 14:54:27.871384 MAIN sockfilt said DISC 14:54:27.871410 ====> Client disconnected 14:54:27.871472 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.904861 ====> Client connect 14:54:27.905128 Received DATA (on stdin) 14:54:27.905149 > 160 bytes data, server => client 14:54:27.905165 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.905179 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.905191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.905269 < 16 bytes data, client => server 14:54:27.905284 'USER anonymous\r\n' 14:54:27.905455 Received DATA (on stdin) 14:54:27.905469 > 33 bytes data, server => client 14:54:27.905481 '331 We are happy you popped in!\r\n' 14:54:27.905601 < 22 bytes data, client => server 14:54:27.905637 'PASS ftp@example.com\r\n' 14:54:27.905854 Received DATA (on stdin) 14:54:27.905868 > 30 bytes data, server => client 14:54:27.905880 '230 Welcome you silly person\r\n' 14:54:27.905933 < 5 bytes data, client => server 14:54:27.905945 'PWD\r\n' 14:54:27.906065 Received DATA (on stdin) 14:54:27.906078 > 30 bytes data, server => client 14:54:27.906090 '257 "/" is current directory\r\n' 14:54:27.906154 < 6 bytes data, client => server 14:54:27.906167 'EPSV\r\n' 14:54:27.908572 Received DATA (on stdin) 14:54:27.908600 > 38 bytes data, server => client 14:54:27.908616 '229 Entering Passive Mode (|||33961|)\n' 14:54:27.908817 < 8 bytes data, client => server 14:54:27.908832 'TYPE I\r\n' 14:54:27.908968 Received DATA (on stdin) 14:54:27.908990 > 33 bytes data, server => client 14:54:27.909003 '200 I modify TYPE as you wanted\r\n' 14:54:27.909060 < 21 bytes data, client => server 14:54:27.909073 'SIZE verifiedserver\r\n' 14:54:27.909222 Received DATA (on stdin) 14:54:27.909235 > 8 bytes data, server => client 14:54:27.909247 '213 17\r\n' 14:54:27.909297 < 21 bytes data, client => server 14:54:27.909309 'RETR verifiedserver\r\n' 14:54:27.909537 Received DATA (on stdin) 14:54:27.909551 > 29 bytes data, server => client 14:54:27.909563 '150 Binary junk (17 bytes).\r\n' 14:54:27.910176 Received DATA (on stdin) 14:54:27.910191 > 28 bytes data, server => client 14:54:27.910203 '226 File transfer complete\r\n' 14:54:27.953206 < 6 bytes data, client => server 14:54:27.953228 'QUIT\r\n' 14:54:27.953424 Received DATA (on stdin) 14:54:27.953439 > 18 bytes data, server => client 14:54:27.953451 '221 bye bye baby\r\n' 14:54:27.954145 ====> Client disconnect 14:54:27.954281 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.908187 Running IPv4 version 14:54:27.908245 Listening on port 33961 14:54:27.908281 Wrote pid 149932 to log/5/server/ftp_sockdata.pid 14:54:27.908302 Received PING (on stdin) 14:54:27.908408 Received PORT (on stdin) 14:54:27.908780 ====> Client connect 14:54:27.909591 Received DATA (on stdin) 14:54:27.909607 > 17 bytes data, server => client 14:54:27.909620 'WE ROOLZ: 80255\r\n' 14:54:27.909654 Received DISC (on stdin) 14:54:27.909667 ====> Client forcibly disconnected 14:54:27.909840 Received QUIT (on stdin) 14:54:27.909852 quits 14:54:27.909926 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==149997== ==149997== Process terminating with default action of signal 4 (SIGILL) ==149997== Illegal opcode at address 0x4014B6F ==149997== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==149997== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==149997== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==149997== by 0x4004266: main (tool_main.c:199) === End of file valgrind1359 test 1238...[slow TFTP retrieve cancel due to -Y and -y] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1238 ../src/curl -q --output log/2/curl1238.out --include --trace-ascii log/2/trace1238 --trace-time tftp://127.0.0.1:33731//1238 -Y1000 -y2 > log/2/stdout1238 2> log/2/stderr1238 1238: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1361 ../src/curl -q --trace-ascii log/3/trace1361 --trace-time ftp://127.0.0.1:37155/path/file1361 -O -i -D log/3/heads1361 --output-dir log/3 > log/3/stdout1361 2> log/3/stderr1361 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1364 ../src/curl -q --trace-ascii log/16/trace1364 --trace-time http://127.0.0.1:34475/1364 -o log/16/outfile1364 -D log/16/heads1364 > log/16/stdout1364 2> log/16/stderr1364 132 == Contents of files in the log/2/ dir after test 1238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1238 ../src/curl -q --output log/2/curl1238.out --include --trace-ascii log/2/trace1238 --trace-time tftp://127.0.0.1:33731//1238 -Y1000 -y2 > log/2/stdout1238 2> log/2/stderr1238 === End of file commands.log === Start of file server.cmd writedelay: 2000 Testnum 1238 === End of file server.cmd === Start of file tftp_server.log 14:54:22.915860 trying to get file: verifiedserver mode 1 14:54:22.915884 Are-we-friendly question received 14:54:22.915899 write 14:54:22.915918 read 14:54:22.916546 read: 4 14:54:22.916595 end of one transfer exit_signal_handler: called === End of file tftp_server.log === Start of file valgrind1238 ==142896== ==142896== Process terminating with default action of signal 4 (SIGILL) ==142896== Illegal opcode at address 0x4014B6F ==142896== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==142896== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==142896== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==142896== by 0x4004266: main (tool_main.c:199) === End of file valgrind1238 test 1361...[FTP download, file with C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1361 ../src/curl -q --trace-ascii log/3/trace1361 --trace-time ftp://127.0.0.1:37155/path/file1361 -O -i -D log/3/heads1361 --output-dir log/3 > log/3/stdout1361 2> log/3/stderr1361 1361: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1361 ../src/curl -q --trace-ascii log/3/trace1361 --trace-time ftp://127.0.0.1:37155/path/file1361 -O -i -D log/3/heads1361 --output-dir log/3 > log/3/stdout1361 2> log/3/stderr1361 === End of file commands.log === Start of file ftp_server.log 14:54:27.904193 ====> Client connect 14:54:27.904338 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.904681 < "USER anonymous" 14:54:27.904715 > "331 We are happy you popped in![CR][LF]" 14:54:27.904875 < "PASS ftp@example.com" 14:54:27.904900 > "230 Welcome you silly person[CR][LF]" 14:54:27.905045 < "PWD" 14:54:27.905070 > "257 "/" is current directory[CR][LF]" 14:54:27.905221 < "EPSV" 14:54:27.905243 ====> Passive DATA channel requested by client 14:54:27.905256 DATA sockfilt for passive data channel starting... 14:54:27.907003 DATA sockfilt for passive data channel started (pid 150088) 14:54:27.907188 DATA sockfilt for passive data channel listens on port 35905 14:54:27.907245 > "229 Entering Passive Mode (|||35905|)[LF]" 14:54:27.907268 Client has been notified that DATA conn will be accepted on port 35905 14:54:27.907649 Client connects to port 35905 14:54:27.907682 ====> Client established passive DATA connection on port 35905 14:54:27.907784 < "TYPE I" 14:54:27.907821 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.908005 < "SIZE verifiedserver" 14:54:27.908070 > "213 17[CR][LF]" 14:54:27.908255 < "RETR verifiedserver" 14:54:27.908293 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.908393 =====> Closing passive DATA connection... 14:54:27.908414 Server disconnects passive DATA connection 14:54:27.908677 Server disconnected passive DATA connection 14:54:27.908707 DATA sockfilt for passive data channel quits (pid 150088) 14:54:27.908979 DATA sockfilt for passive data channel quit (pid 150088) 14:54:27.909011 =====> Closed passive DATA connection 14:54:27.909041 > "226 File transfer complete[CR][LF]" 14:54:27.950708 < "QUIT" 14:54:27.950766 > "221 bye bye baby[CR][LF]" 14:54:27.951951 MAIN sockfilt said DISC 14:54:27.951987 ====> Client disconnected 14:54:27.952056 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.986894 ====> Client connect 14:54:27.987158 Received DATA (on stdin) 14:54:27.987173 > 160 bytes data, server => client 14:54:27.987185 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.987196 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.987207 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.987279 < 16 bytes data, client => server 14:54:27.987291 'USER anonymous\r\n' 14:54:27.987528 Received DATA (on stdin) 14:54:27.987541 > 33 bytes data, server => client 14:54:27.987552 '331 We are happy you popped in!\r\n' 14:54:27.987600 < 22 bytes data, client => server 14:54:27.987612 'PASS ftp@example.com\r\n' 14:54:27.987710 Received DATA (on stdin) 14:54:27.987722 > 30 bytes data, server => client 14:54:27.987733 '230 Welcome you silly person\r\n' 14:54:27.987777 < 5 bytes data, client => server 14:54:27.987789 'PWD\r\n' 14:54:27.987879 Received DATA (on stdin) 14:54:27.987891 > 30 bytes data, server => client 14:54:27.987901 '257 "/" is current directory\r\n' 14:54:27.987955 < 6 bytes data, client => server 14:54:27.987966 'EPSV\r\n' 14:54:27.990091 Received DATA (on stdin) 14:54:27.990134 > 38 bytes data, server => client 14:54:27.990147 '229 Entering Passive Mode (|||35905|)\n' 14:54:27.990396 < 8 bytes data, client => server 14:54:27.990411 'TYPE I\r\n' 14:54:27.990638 Received DATA (on stdin) 14:54:27.990653 > 33 bytes data, server => client 14:54:27.990665 '200 I modify TYPE as you wanted\r\n' 14:54:27.990721 < 21 bytes data, client => server 14:54:27.990736 'SIZE verifiedserver\r\n' 14:54:27.990888 Received DATA (on stdin) 14:54:27.990903 > 8 bytes data, server => client 14:54:27.990915 '213 17\r\n' 14:54:27.990970 < 21 bytes data, client => server 14:54:27.990986 'RETR verifiedserver\r\n' 14:54:27.991230 Received DATA (on stdin) 14:54:27.991244 > 29 bytes data, server => client 14:54:27.991257 '150 Binary junk (17 bytes).\r\n' 14:54:27.991857 Received DATA (on stdin) 14:54:27.991872 > 28 bytes data, server => client 14:54:27.991884 '226 File transfer complete\r\n' 14:54:28.033329 < 6 bytes data, client => server 14:54:28.033359 'QUIT\r\n' 14:54:28.033584 Received DATA (on stdin) 14:54:28.033599 > 18 bytes data, server => client 14:54:28.033612 '221 bye bye baby\r\n' 14:54:28.034705 ====> Client disconnect 14:54:28.034872 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.989496 Running IPv4 version 14:54:27.989558 Listening on port 35905 14:54:27.989591 Wrote pid 150088 to log/3/server/ftp_sockdata.pid 14:54:27.989712 Received PING (on stdin) 14:54:27.989871 Received PORT (on stdin) 14:54:27.990336 ====> Client connect 14:54:27.991286 Received DATA (on stdin) 14:54:27.991302 > 17 bytes data, server => client 14:54:27.991314 'WE ROOLZ: 80281\r\n' 14:54:27.991340 Received DISC (on stdin) 14:54:27.991354 ====> Client forcibly disconnected 14:54:27.991531 Received QUIT (on stdin) 14:54:27.991546 quits 14:54:27.991623 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==150231== ==150231== Process terminating with default action of signal 4 (SIGILL) ==150231== Illegal opcode at address 0x4014B6F ==150231== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150231== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150231== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150231== by 0x4004266: main (tool_main.c:199) === End of file valgrind1361 test 1364...[HTTP GET -o fname without Content-Disposition, -DCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1363 ../src/curl -q --trace-ascii log/23/trace1363 --trace-time ftp://127.0.0.1:39001/path/file1363 -O -i --output-dir log/23 > log/23/stdout1363 2> log/23/stderr1363 file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1364 ../src/curl -q --trace-ascii log/16/trace1364 --trace-time http://127.0.0.1:34475/1364 -o log/16/outfile1364 -D log/16/heads1364 > log/16/stdout1364 2> log/16/stderr1364 1364: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1364 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1364 ../src/curl -q --trace-ascii log/16/trace1364 --trace-time http://127.0.0.1:34475/1364 -o log/16/outfile1364 -D log/16/heads1364 > log/16/stdout1364 2> log/16/stderr1364 === End of file commands.log === Start of file http_server.log 14:54:28.054760 ====> Client connect 14:54:28.054842 accept_connection 3 returned 4 14:54:28.054871 accept_connection 3 returned 0 14:54:28.054887 Read 93 bytes 14:54:28.054901 Process 93 bytes request 14:54:28.054934 Got request: GET /verifiedserver HTTP/1.1 14:54:28.054948 Are-we-friendly question received 14:54:28.054984 Wrote request (93 bytes) input to log/16/server.input 14:54:28.055002 Identifying ourselves as friends 14:54:28.055061 Response sent (56 bytes) and written to log/16/server.response 14:54:28.055072 special request received, no persistency 14:54:28.055082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1364 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1364 ==150268== ==150268== Process terminating with default action of signal 4 (SIGILL) ==150268== Illegal opcode at address 0x4014B6F ==150268== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150268== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150268== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150268== by 0x4004266: main (tool_main.c:199) === End of file valgrind1364 test 1363...[FTP download, file with C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1363 ../src/curl -q --trace-ascii log/23/trace1363 --trace-time ftp://127.0.0.1:39001/path/file1363 -O -i --output-dir log/23 > log/23/stdout1363 2> log/23/stderr1363 1363: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1363 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1363 ../src/curl -q --trace-ascii log/23/trace1363 --trace-time ftp://127.0.0.1:39001/path/file1363 -O -i --output-dir log/23 > log/23/stdout1363 2> log/23/stderr1363 === End of file commands.log === Start of file ftp_server.log 14:54:27.970005 ====> Client connect 14:54:27.970166 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.970462 < "USER anonymous" 14:54:27.970498 > "331 We are happy you popped in![CR][LF]" 14:54:27.970742 < "PASS ftp@example.com" 14:54:27.970852 > "230 Welcome you silly person[CR][LF]" 14:54:27.971122 < "PWD" 14:54:27.971179 > "257 "/" is current directory[CR][LF]" 14:54:27.971421 < "EPSV" 14:54:27.971446 ====> Passive DATA channel requested by client 14:54:27.971461 DATA sockfilt for passive data channel starting... 14:54:27.973422 DATA sockfilt for passive data channel started (pid 150234) 14:54:27.973541 DATA sockfilt for passive data channel listens on port 37109 14:54:27.973583 > "229 Entering Passive Mode (|||37109|)[LF]" 14:54:27.973601 Client has been notified that DATA conn will be accepted on port 37109 14:54:27.973826 Client connects to port 37109 14:54:27.973854 ====> Client established passive DATA connection on port 37109 14:54:27.973931 < "TYPE I" 14:54:27.973960 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.974117 < "SIZE verifiedserver" 14:54:27.974152 > "213 17[CR][LF]" 14:54:27.974300 < "RETR verifiedserver" 14:54:27.974331 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.974416 =====> Closing passive DATA connection... 14:54:27.974431 Server disconnects passive DATA connection 14:54:27.974623 Server disconnected passive DATA connection 14:54:27.974659 DATA sockfilt for passive data channel quits (pid 150234) 14:54:27.974882 DATA sockfilt for passive data channel quit (pid 150234) 14:54:27.974907 =====> Closed passive DATA connection 14:54:27.974930 > "226 File transfer complete[CR][LF]" 14:54:28.020493 < "QUIT" 14:54:28.020555 > "221 bye bye baby[CR][LF]" 14:54:28.021644 MAIN sockfilt said DISC 14:54:28.021681 ====> Client disconnected 14:54:28.021747 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.052711 ====> Client connect 14:54:28.053002 Received DATA (on stdin) 14:54:28.053019 > 160 bytes data, server => client 14:54:28.053033 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.053045 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.053057 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.053131 < 16 bytes data, client => server 14:54:28.053145 'USER anonymous\r\n' 14:54:28.053314 Received DATA (on stdin) 14:54:28.053327 > 33 bytes data, server => client 14:54:28.053339 '331 We are happy you popped in!\r\n' 14:54:28.053394 < 22 bytes data, client => server 14:54:28.053425 'PASS ftp@example.com\r\n' 14:54:28.053602 Received DATA (on stdin) 14:54:28.053619 > 30 bytes data, server => client 14:54:28.053673 '230 Welcome you silly person\r\n' 14:54:28.053760 < 5 bytes data, client => server 14:54:28.053773 'PWD\r\n' 14:54:28.053991 Received DATA (on stdin) 14:54:28.054022 > 30 bytes data, server => client 14:54:28.054034 '257 "/" is current directory\r\n' 14:54:28.054101 < 6 bytes data, client => server 14:54:28.054192 'EPSV\r\n' 14:54:28.056419 Received DATA (on stdin) 14:54:28.056433 > 38 bytes data, server => client 14:54:28.056446 '229 Entering Passive Mode (|||37109|)\n' 14:54:28.056581 < 8 bytes data, client => server 14:54:28.056593 'TYPE I\r\n' 14:54:28.056772 Received DATA (on stdin) 14:54:28.056785 > 33 bytes data, server => client 14:54:28.056797 '200 I modify TYPE as you wanted\r\n' 14:54:28.056846 < 21 bytes data, client => server 14:54:28.056859 'SIZE verifiedserver\r\n' 14:54:28.056963 Received DATA (on stdin) 14:54:28.056975 > 8 bytes data, server => client 14:54:28.056987 '213 17\r\n' 14:54:28.057033 < 21 bytes data, client => server 14:54:28.057044 'RETR verifiedserver\r\n' 14:54:28.057244 Received DATA (on stdin) 14:54:28.057257 > 29 bytes data, server => client 14:54:28.057269 '150 Binary junk (17 bytes).\r\n' 14:54:28.057725 Received DATA (on stdin) 14:54:28.057742 > 28 bytes data, server => client 14:54:28.057754 '226 File transfer complete\r\n' 14:54:28.103141 < 6 bytes data, client => server 14:54:28.103167 'QUIT\r\n' 14:54:28.103374 ReceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1365 ../src/curl -q --trace-ascii log/19/trace1365 --trace-time http://127.0.0.1:33805/1365 -o log/19/outfile1365 -D - > log/19/stdout1365 2> log/19/stderr1365 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1366 ../src/curl -q --trace-ascii log/24/trace1366 --trace-time http://127.0.0.1:34449/1366 -o log/24/outfile1366 -D log/24/heads1366 > log/24/stdout1366 2> log/24/stderr1366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1367 ../src/curl -q --trace-ascii log/9/trace1367 --trace-time http://127.0.0.1:34345/1367 -o log/9/outfile1367 -D - > log/9/stdout1367 2> log/9/stderr1367 ived DATA (on stdin) 14:54:28.103388 > 18 bytes data, server => client 14:54:28.103400 '221 bye bye baby\r\n' 14:54:28.104282 ====> Client disconnect 14:54:28.104560 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.056066 Running IPv4 version 14:54:27.056119 Listening on port 37109 14:54:27.056156 Wrote pid 150234 to log/23/server/ftp_sockdata.pid 14:54:27.056177 Received PING (on stdin) 14:54:27.056259 Received PORT (on stdin) 14:54:27.056553 ====> Client connect 14:54:27.057294 Received DATA (on stdin) 14:54:27.057309 > 17 bytes data, server => client 14:54:27.057320 'WE ROOLZ: 80287\r\n' 14:54:27.057348 Received DISC (on stdin) 14:54:27.057361 ====> Client forcibly disconnected 14:54:27.057486 Received QUIT (on stdin) 14:54:27.057500 quits 14:54:27.057552 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==150424== ==150424== Process terminating with default action of signal 4 (SIGILL) ==150424== Illegal opcode at address 0x4014B6F ==150424== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150424== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150424== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150424== by 0x4004266: main (tool_main.c:199) === End of file valgrind1363 test 1365...[HTTP GET -o fname without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1365 ../src/curl -q --trace-ascii log/19/trace1365 --trace-time http://127.0.0.1:33805/1365 -o log/19/outfile1365 -D - > log/19/stdout1365 2> log/19/stderr1365 1365: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1365 ../src/curl -q --trace-ascii log/19/trace1365 --trace-time http://127.0.0.1:33805/1365 -o log/19/outfile1365 -D - > log/19/stdout1365 2> log/19/stderr1365 === End of file commands.log === Start of file http_server.log 14:54:27.086643 ====> Client connect 14:54:27.086677 accept_connection 3 returned 4 14:54:27.086695 accept_connection 3 returned 0 14:54:27.086711 Read 93 bytes 14:54:27.086722 Process 93 bytes request 14:54:27.086737 Got request: GET /verifiedserver HTTP/1.1 14:54:27.086748 Are-we-friendly question received 14:54:27.086772 Wrote request (93 bytes) input to log/19/server.input 14:54:27.086790 Identifying ourselves as friends 14:54:27.086846 Response sent (56 bytes) and written to log/19/server.response 14:54:27.086858 special request received, no persistency 14:54:27.086868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1365 ==150374== ==150374== Process terminating with default action of signal 4 (SIGILL) ==150374== Illegal opcode at address 0x4014B6F ==150374== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150374== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150374== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150374== by 0x4004266: main (tool_main.c:199) === End of file valgrind1365 test 1366...[HTTP GET -o fname and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1366 ../src/curl -q --trace-ascii log/24/trace1366 --trace-time http://127.0.0.1:34449/1366 -o log/24/outfile1366 -D log/24/heads1366 > log/24/stdout1366 2> log/24/stderr1366 1366: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1366 ../src/curl -q --trace-ascii log/24/trace1366 --trace-time http://127.0.0.1:34449/1366 -o log/24/outfile1366 -D log/24/heads1366 > log/24/stdout1366 2> log/24/stderr1366 === End of file commands.log === Start of file http_server.log 14:54:28.081180 ====> Client connect 14:54:28.081211 accept_connection 3 returned 4 14:54:28.081229 accept_connection 3 returned 0 14:54:28.081244 Read 93 bytes 14:54:28.081255 Process 93 bytes request 14:54:28.081270 Got request: GET /verifiedserver HTTP/1.1 14:54:28.081281 Are-we-friendly question received 14:54:28.081305 Wrote request (93 bytes) input to log/24/server.input 14:54:28.081323 Identifying ourselves as friends 14:54:28.081378 Response sent (56 bytes) and written to log/24/server.response 14:54:28.081389 special request received, no persistency 14:54:28.081400 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1366 ==150350== ==150350== Process terminating with default action of signal 4 (SIGILL) ==150350== Illegal opcode at address 0x4014B6F ==150350== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150350== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150350== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150350== by 0x4004266: main (tool_main.c:199) === End of file valgrind1366 test 1367...[HTTP GET -o fname and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1367 ../src/curl -q --trace-ascii log/9/trace1367 --trace-time http://127.0.0.1:34345/1367 -o log/9/outfile1367 -D - > log/9/stdout1367 2> log/9/stderr1367 1367: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1367 ../src/curl -q --trace-ascii log/9/trace1367 --trace-time http://127.0.0.1:34345/1367 -o log/9/outfile1367 -D - > log/9/stdout1367 2> log/9/stderr1367 === End of file commands.log === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1362 ../src/curl -q --trace-ascii log/6/trace1362 --trace-time ftp://127.0.0.1:36077/path/file1362 -O -i -D - --output-dir log/6 > log/6/stdout1362 2> log/6/stderr1362 art of file http_server.log 14:54:28.135521 ====> Client connect 14:54:28.135560 accept_connection 3 returned 4 14:54:28.135579 accept_connection 3 returned 0 14:54:28.135745 Read 93 bytes 14:54:28.135762 Process 93 bytes request 14:54:28.135777 Got request: GET /verifiedserver HTTP/1.1 14:54:28.135789 Are-we-friendly question received 14:54:28.135819 Wrote request (93 bytes) input to log/9/server.input 14:54:28.135838 Identifying ourselves as friends 14:54:28.135897 Response sent (56 bytes) and written to log/9/server.response 14:54:28.135909 special request received, no persistency 14:54:28.135920 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1367 ==150555== ==150555== Process terminating with default action of signal 4 (SIGILL) ==150555== Illegal opcode at address 0x4014B6F ==150555== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150555== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150555== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150555== by 0x4004266: main (tool_main.c:199) === End of file valgrind1367 test 1362...[FTP download, file with C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1362 ../src/curl -q --trace-ascii log/6/trace1362 --trace-time ftp://127.0.0.1:36077/path/file1362 -O -i -D - --output-dir log/6 > log/6/stdout1362 2> log/6/stderr1362 1362: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1362 ../src/curl -q --trace-ascii log/6/trace1362 --trace-time ftp://127.0.0.1:36077/path/file1362 -O -i -D - --output-dir log/6 > log/6/stdout1362 2> log/6/stderr1362 === End of file commands.log === Start of file ftp_server.log 14:54:27.934074 ====> Client connect 14:54:27.934229 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:27.934504 < "USER anonymous" 14:54:27.934538 > "331 We are happy you popped in![CR][LF]" 14:54:27.934704 < "PASS ftp@example.com" 14:54:27.934728 > "230 Welcome you silly person[CR][LF]" 14:54:27.934870 < "PWD" 14:54:27.934897 > "257 "/" is current directory[CR][LF]" 14:54:27.935051 < "EPSV" 14:54:27.935073 ====> Passive DATA channel requested by client 14:54:27.935086 DATA sockfilt for passive data channel starting... 14:54:27.936833 DATA sockfilt for passive data channel started (pid 150194) 14:54:27.936969 DATA sockfilt for passive data channel listens on port 42413 14:54:27.937016 > "229 Entering Passive Mode (|||42413|)[LF]" 14:54:27.937035 Client has been notified that DATA conn will be accepted on port 42413 14:54:27.937281 Client connects to port 42413 14:54:27.937311 ====> Client established passive DATA connection on port 42413 14:54:27.937385 < "TYPE I" 14:54:27.937416 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:27.937600 < "SIZE verifiedserver" 14:54:27.937639 > "213 17[CR][LF]" 14:54:27.937820 < "RETR verifiedserver" 14:54:27.937857 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:27.938142 =====> Closing passive DATA connection... 14:54:27.938170 Server disconnects passive DATA connection 14:54:27.938258 Server disconnected passive DATA connection 14:54:27.938285 DATA sockfilt for passive data channel quits (pid 150194) 14:54:27.938530 DATA sockfilt for passive data channel quit (pid 150194) 14:54:27.938556 =====> Closed passive DATA connection 14:54:27.938585 > "226 File transfer complete[CR][LF]" 14:54:27.987120 < "QUIT" 14:54:27.987170 > "221 bye bye baby[CR][LF]" 14:54:27.988242 MAIN sockfilt said DISC 14:54:27.988287 ====> Client disconnected 14:54:27.988366 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:27.016766 ====> Client connect 14:54:27.017051 Received DATA (on stdin) 14:54:27.017066 > 160 bytes data, server => client 14:54:27.017079 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:27.017091 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:27.017102 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:27.017174 < 16 bytes data, client => server 14:54:27.017186 'USER anonymous\r\n' 14:54:27.017352 Received DATA (on stdin) 14:54:27.017365 > 33 bytes data, server => client 14:54:27.017377 '331 We are happy you popped in!\r\n' 14:54:27.017426 < 22 bytes data, client => server 14:54:27.017438 'PASS ftp@example.com\r\n' 14:54:27.017537 Received DATA (on stdin) 14:54:27.017549 > 30 bytes data, server => client 14:54:27.017561 '230 Welcome you silly person\r\n' 14:54:27.017604 < 5 bytes data, client => server 14:54:27.017615 'PWD\r\n' 14:54:27.017706 Received DATA (on stdin) 14:54:27.017718 > 30 bytes data, server => client 14:54:27.017731 '257 "/" is current directory\r\n' 14:54:27.017786 < 6 bytes data, client => server 14:54:27.017797 'EPSV\r\n' 14:54:27.019858 Received DATA (on stdin) 14:54:27.019874 > 38 bytes data, server => client 14:54:27.019888 '229 Entering Passive Mode (|||42413|)\n' 14:54:27.020004 < 8 bytes data, client => server 14:54:27.020023 'TYPE I\r\n' 14:54:27.020230 Received DATA (on stdin) 14:54:27.020246 > 33 bytes data, server => client 14:54:27.020259 '200 I modify TYPE as you wanted\r\n' 14:54:27.020315 < 21 bytes data, client => server 14:54:27.020331 'SIZE verifiedserver\r\n' 14:54:27.020454 Received DATA (on stdin) 14:54:27.020469 > 8 bytes data, server => client 14:54:27.020481 '213 17\r\n' 14:54:27.020536 < 21 bytes data, client => server 14:54:27.020552 'RETR verifiedserver\r\n' 14:54:27.020724 Received DATA (on stdin) 14:54:27.020739 > 29 bytes data, server => client 14:54:27.020751 '150 Binary junk (17 bytes).\r\n' 14:54:27.021399 Received DATA (on stdin) 14:54:27.021414 > 28 bytes data, server => client 14:54:27.021427 '226 File transfer complete\r\n' 14:54:27.069768 < 6 bytes data, client => server 14:54:27.069796 'QUIT\r\n' 14:54:27.069989 Received DATA (on stdin) 14:54:27.070005 > 18 bytes data, server => client 14:54:27.070017 '221 bye bye baby\r\n' 14:54:27.070990 ====> Client disconnect 14:54:27.071183 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:27.019336 Running IPv4 version 14:54:27.019394 Listening on port 42413 14:54:27.019430 Wrote pid 150194 to log/6/server/ftp_sockdata.pid 14:54:27.019581 Received PING (on stdin) 14:54:27.019692 Received PORT (on stdin) 14:54:27.020045 ====> Client connect 14:54:27.020780 Received DATA (on stdin) 14:54:27.020795 > 17 bytes data, server => client 14:54:27.020808 'WE ROOLZ: 80241\r\n' 14:54:27.020988 Received DISC (on stdin) 14:54:27.021003 ====> Client forcibly disconnected 14:54:27.021108 Received QUIT (on stdin) 14:54:27.021122 quits 14:54:27.021177 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1368 ../src/curl -q --trace-ascii log/7/trace1368 --trace-time http://127.0.0.1:40545/1368 -J -o log/7/outfile1368 -D log/7/heads1368 > log/7/stdout1368 2> log/7/stderr1368 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:44029/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1370 ../src/curl -q --trace-ascii log/8/trace1370 --trace-time http://127.0.0.1:37085/1370 -J -o log/8/outfile1370 -D log/8/heads1370 > log/8/stdout1370 2> log/8/stderr1370 e valgrind1362 ==150316== ==150316== Process terminating with default action of signal 4 (SIGILL) ==150316== Illegal opcode at address 0x4014B6F ==150316== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150316== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150316== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150316== by 0x4004266: main (tool_main.c:199) === End of file valgrind1362 test 1368...[HTTP GET -o fname -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1368 ../src/curl -q --trace-ascii log/7/trace1368 --trace-time http://127.0.0.1:40545/1368 -J -o log/7/outfile1368 -D log/7/heads1368 > log/7/stdout1368 2> log/7/stderr1368 1368: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1368 ../src/curl -q --trace-ascii log/7/trace1368 --trace-time http://127.0.0.1:40545/1368 -J -o log/7/outfile1368 -D log/7/heads1368 > log/7/stdout1368 2> log/7/stderr1368 === End of file commands.log === Start of file http_server.log 14:54:28.155961 ====> Client connect 14:54:28.155994 accept_connection 3 returned 4 14:54:28.156012 accept_connection 3 returned 0 14:54:28.156028 Read 93 bytes 14:54:28.156040 Process 93 bytes request 14:54:28.156055 Got request: GET /verifiedserver HTTP/1.1 14:54:28.156066 Are-we-friendly question received 14:54:28.156090 Wrote request (93 bytes) input to log/7/server.input 14:54:28.156109 Identifying ourselves as friends 14:54:28.156162 Response sent (56 bytes) and written to log/7/server.response 14:54:28.156173 special request received, no persistency 14:54:28.156183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1368 ==150619== ==150619== Process terminating with default action of signal 4 (SIGILL) ==150619== Illegal opcode at address 0x4014B6F ==150619== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150619== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150619== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150619== by 0x4004266: main (tool_main.c:199) === End of file valgrind1368 test 1369...[HTTP GET -o fname -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:44029/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 1369: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:44029/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 === End of file commands.log === Start of file http_server.log 14:54:28.178816 ====> Client connect 14:54:28.178852 accept_connection 3 returned 4 14:54:28.178872 accept_connection 3 returned 0 14:54:28.178891 Read 93 bytes 14:54:28.178904 Process 93 bytes request 14:54:28.178921 Got request: GET /verifiedserver HTTP/1.1 14:54:28.178932 Are-we-friendly question received 14:54:28.178958 Wrote request (93 bytes) input to log/1/server.input 14:54:28.178976 Identifying ourselves as friends 14:54:28.179030 Response sent (56 bytes) and written to log/1/server.response 14:54:28.179042 special request received, no persistency 14:54:28.179052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1369 ==150689== ==150689== Process terminating with default action of signal 4 (SIGILL) ==150689== Illegal opcode at address 0x4014B6F ==150689== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150689== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150689== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150689== by 0x4004266: main (tool_main.c:199) === End of file valgrind1369 test 1370...[HTTP GET -o fname -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1370 ../src/curl -q --trace-ascii log/8/trace1370 --trace-time http://127.0.0.1:37085/1370 -J -o log/8/outfile1370 -D log/8/heads1370 > log/8/stdout1370 2> log/8/stderr1370 1370: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1370 ../src/curl -q --trace-ascii log/8/trace1370 --trace-time http://127.0.0.1:37085/1370 -J -o log/8/outfile1370 -D log/8/heads1370 > log/8/stdout1370 2> log/8/stderr1370 === End of file commands.log === Start of file http_server.log 14:54:27.188742 ====> Client connect 14:54:27.188792 accept_connection 3 returned 4 14:54:27.188815 accept_connection 3 returned 0 14:54:27.188834 Read 93 bytes 14:54:27.188846 Process 93 bytes request 14:54:27.188860 Got request: GET /verifiedserver HTTP/1.1 14:54:27.188871 Are-we-friendly question received 14:54:27.188898 Wrote request (93 bytes) input to log/8/server.input 14:54:27.188915 Identifying ourselves as friends 14:54:27.188987 Response sent (56 bytes) and written to log/8/server.response 14:54:27.188997 special request received, no persistency 14:54:27.189006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 58724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * RequesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1371 ../src/curl -q --trace-ascii log/11/trace1371 --trace-time http://127.0.0.1:33503/1371 -J -o log/11/outfile1371 -D - > log/11/stdout1371 2> log/11/stderr1371 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1372 ../src/curl -q --trace-ascii log/13/trace1372 --trace-time http://127.0.0.1:41533/1372 -i -o log/13/outfile1372 -D log/13/heads1372 > log/13/stdout1372 2> log/13/stderr1372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1373 ../src/curl -q --trace-ascii log/10/trace1373 --trace-time http://127.0.0.1:35893/1373 -i -o log/10/outfile1373 -D - > log/10/stdout1373 2> log/10/stderr1373 t completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1370 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1370 ==150712== ==150712== Process terminating with default action of signal 4 (SIGILL) ==150712== Illegal opcode at address 0x4014B6F ==150712== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150712== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150712== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150712== by 0x4004266: main (tool_main.c:199) === End of file valgrind1370 test 1371...[HTTP GET -o fname -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1371 ../src/curl -q --trace-ascii log/11/trace1371 --trace-time http://127.0.0.1:33503/1371 -J -o log/11/outfile1371 -D - > log/11/stdout1371 2> log/11/stderr1371 1371: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1371 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1371 ../src/curl -q --trace-ascii log/11/trace1371 --trace-time http://127.0.0.1:33503/1371 -J -o log/11/outfile1371 -D - > log/11/stdout1371 2> log/11/stderr1371 === End of file commands.log === Start of file http_server.log 14:54:28.464048 ====> Client connect 14:54:28.464086 accept_connection 3 returned 4 14:54:28.464105 accept_connection 3 returned 0 14:54:28.464124 Read 93 bytes 14:54:28.464136 Process 93 bytes request 14:54:28.464153 Got request: GET /verifiedserver HTTP/1.1 14:54:28.464164 Are-we-friendly question received 14:54:28.464192 Wrote request (93 bytes) input to log/11/server.input 14:54:28.464210 Identifying ourselves as friends 14:54:28.464267 Response sent (56 bytes) and written to log/11/server.response 14:54:28.464279 special request received, no persistency 14:54:28.464289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1371 ==150863== ==150863== Process terminating with default action of signal 4 (SIGILL) ==150863== Illegal opcode at address 0x4014B6F ==150863== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150863== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150863== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150863== by 0x4004266: main (tool_main.c:199) === End of file valgrind1371 test 1372...[HTTP GET -o fname -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1372 ../src/curl -q --trace-ascii log/13/trace1372 --trace-time http://127.0.0.1:41533/1372 -i -o log/13/outfile1372 -D log/13/heads1372 > log/13/stdout1372 2> log/13/stderr1372 1372: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1372 ../src/curl -q --trace-ascii log/13/trace1372 --trace-time http://127.0.0.1:41533/1372 -i -o log/13/outfile1372 -D log/13/heads1372 > log/13/stdout1372 2> log/13/stderr1372 === End of file commands.log === Start of file http_server.log 14:54:28.464441 ====> Client connect 14:54:28.464472 accept_connection 3 returned 4 14:54:28.464491 accept_connection 3 returned 0 14:54:28.464507 Read 93 bytes 14:54:28.464519 Process 93 bytes request 14:54:28.464532 Got request: GET /verifiedserver HTTP/1.1 14:54:28.464543 Are-we-friendly question received 14:54:28.464569 Wrote request (93 bytes) input to log/13/server.input 14:54:28.464588 Identifying ourselves as friends 14:54:28.464646 Response sent (56 bytes) and written to log/13/server.response 14:54:28.464659 special request received, no persistency 14:54:28.464670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1372 ==150871== ==150871== Process terminating with default action of signal 4 (SIGILL) ==150871== Illegal opcode at address 0x4014B6F ==150871== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==150871== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==150871== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==150871== by 0x4004266: main (tool_main.c:199) === End of file valgrind1372 test 1373...[HTTP GET -o fname -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1373 ../src/curl -q --trace-ascii log/10/trace1373 --trace-time http://127.0.0.1:35893/1373 -i -o log/10/outfile1373 -D - > log/10/stdout1373 2> log/10/stderr1373 1373: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1373 ../src/curl -q --trace-ascii log/10/trace1373 --trace-time http://127.0.0.1:35893/1373 -i -o log/10/outfile1373 -D - > log/10/stdout1373 2> log/10/stderr1373 === End of file commands.log === Start of file http_server.log 14:54:28.634324 ====> Client connect 14:54:28.634361 accept_connection 3 returned 4 14:54:28.634380 accept_connection 3 returned 0 14:54:28.634396 Read 93 bytes 14:54:28.634408 Process 93 bytes request 14:54:28.634421 Got request: GET /verifiedserver HTTP/1.1 14:54:28.634431 Are-we-friendly question received 14:54:28.634456 Wrote request (93 bytes) input to log/10/server.input 14:54:28.634474 Identifying ourselves as friends 14:54:28.634529 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1374 ../src/curl -q --trace-ascii log/12/trace1374 --trace-time http://127.0.0.1:43359/1374 -i -o log/12/outfile1374 -D log/12/heads1374 > log/12/stdout1374 2> log/12/stderr1374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1377 ../src/curl -q --trace-ascii log/18/trace1377 --trace-time http://127.0.0.1:43297/1377 -i -o log/18/outfile1377 > log/18/stdout1377 2> log/18/stderr1377 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1394 ./tunit/tunits tool1394 - > log/8/stdout1394 2> log/8/stderr1394 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1376 ../src/curl -q --trace-ascii log/4/trace1376 --trace-time http://127.0.0.1:39793/1376 -i -o log/4/outfile1376 > log/4/stdout1376 2> log/4/stderr1376 sponse sent (56 bytes) and written to log/10/server.response 14:54:28.634541 special request received, no persistency 14:54:28.634551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1373 ==151019== ==151019== Process terminating with default action of signal 4 (SIGILL) ==151019== Illegal opcode at address 0x4014B6F ==151019== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151019== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151019== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151019== by 0x4004266: main (tool_main.c:199) === End of file valgrind1373 test 1374...[HTTP GET -o fname -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1374 ../src/curl -q --trace-ascii log/12/trace1374 --trace-time http://127.0.0.1:43359/1374 -i -o log/12/outfile1374 -D log/12/heads1374 > log/12/stdout1374 2> log/12/stderr1374 1374: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1374 ../src/curl -q --trace-ascii log/12/trace1374 --trace-time http://127.0.0.1:43359/1374 -i -o log/12/outfile1374 -D log/12/heads1374 > log/12/stdout1374 2> log/12/stderr1374 === End of file commands.log === Start of file http_server.log 14:54:28.628658 ====> Client connect 14:54:28.628691 accept_connection 3 returned 4 14:54:28.628708 accept_connection 3 returned 0 14:54:28.628725 Read 93 bytes 14:54:28.628736 Process 93 bytes request 14:54:28.628750 Got request: GET /verifiedserver HTTP/1.1 14:54:28.628760 Are-we-friendly question received 14:54:28.628786 Wrote request (93 bytes) input to log/12/server.input 14:54:28.628804 Identifying ourselves as friends 14:54:28.628858 Response sent (56 bytes) and written to log/12/server.response 14:54:28.628869 special request received, no persistency 14:54:28.628880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1374 ==151013== ==151013== Process terminating with default action of signal 4 (SIGILL) ==151013== Illegal opcode at address 0x4014B6F ==151013== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151013== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151013== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151013== by 0x4004266: main (tool_main.c:199) === End of file valgrind1374 test 1377...[HTTP GET -o fname -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1377 ../src/curl -q --trace-ascii log/18/trace1377 --trace-time http://127.0.0.1:43297/1377 -i -o log/18/outfile1377 > log/18/stdout1377 2> log/18/stderr1377 1377: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1377 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1377 ../src/curl -q --trace-ascii log/18/trace1377 --trace-time http://127.0.0.1:43297/1377 -i -o log/18/outfile1377 > log/18/stdout1377 2> log/18/stderr1377 === End of file commands.log === Start of file http_server.log 14:54:28.799696 ====> Client connect 14:54:28.799732 accept_connection 3 returned 4 14:54:28.799750 accept_connection 3 returned 0 14:54:28.799766 Read 93 bytes 14:54:28.799777 Process 93 bytes request 14:54:28.799790 Got request: GET /verifiedserver HTTP/1.1 14:54:28.799801 Are-we-friendly question received 14:54:28.799829 Wrote request (93 bytes) input to log/18/server.input 14:54:28.799848 Identifying ourselves as friends 14:54:28.799905 Response sent (56 bytes) and written to log/18/server.response 14:54:28.799917 special request received, no persistency 14:54:28.799928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1377 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1377 ==151184== ==151184== Process terminating with default action of signal 4 (SIGILL) ==151184== Illegal opcode at address 0x4014B6F ==151184== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151184== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151184== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151184== by 0x4004266: main (tool_main.c:199) === End of file valgrind1377 test 1394...[unit test for parse_cert_parameter()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1394 ./tunit/tunits tool1394 - > log/8/stdout1394 2> log/8/stderr1394 -------e-v- OK (1312 out of 1725, remaining: 00:30, took 0.614s, duration: 01:38) test 1376...[HTTP GET -o fname -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1376 ../src/curl -q --trace-ascii log/4/trace1376 --trace-time http://127.0.0.1:39793/1376 -i -o log/4/outfile1376 > log/4/stdout1376 2> log/4/stderr1376 1376: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memchecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1375 ../src/curl -q --trace-ascii log/22/trace1375 --trace-time http://127.0.0.1:42027/1375 -i -o log/22/outfile1375 -D - > log/22/stdout1375 2> log/22/stderr1375 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1378 ../src/curl -q --trace-ascii log/14/trace1378 --trace-time ftp://127.0.0.1:37705/path/file1378 -o log/14/download1378 > log/14/stdout1378 2> log/14/stderr1378 k --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1376 ../src/curl -q --trace-ascii log/4/trace1376 --trace-time http://127.0.0.1:39793/1376 -i -o log/4/outfile1376 > log/4/stdout1376 2> log/4/stderr1376 === End of file commands.log === Start of file http_server.log 14:54:28.799306 ====> Client connect 14:54:28.799339 accept_connection 3 returned 4 14:54:28.799356 accept_connection 3 returned 0 14:54:28.799371 Read 93 bytes 14:54:28.799382 Process 93 bytes request 14:54:28.799394 Got request: GET /verifiedserver HTTP/1.1 14:54:28.799404 Are-we-friendly question received 14:54:28.799427 Wrote request (93 bytes) input to log/4/server.input 14:54:28.799443 Identifying ourselves as friends 14:54:28.799493 Response sent (56 bytes) and written to log/4/server.response 14:54:28.799503 special request received, no persistency 14:54:28.799512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 47228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1376 ==151183== ==151183== Process terminating with default action of signal 4 (SIGILL) ==151183== Illegal opcode at address 0x4014B6F ==151183== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151183== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151183== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151183== by 0x4004266: main (tool_main.c:199) === End of file valgrind1376 test 1375...[HTTP GET -o fname -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1375 ../src/curl -q --trace-ascii log/22/trace1375 --trace-time http://127.0.0.1:42027/1375 -i -o log/22/outfile1375 -D - > log/22/stdout1375 2> log/22/stderr1375 1375: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1375 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1375 ../src/curl -q --trace-ascii log/22/trace1375 --trace-time http://127.0.0.1:42027/1375 -i -o log/22/outfile1375 -D - > log/22/stdout1375 2> log/22/stderr1375 === End of file commands.log === Start of file http_server.log 14:54:28.785345 ====> Client connect 14:54:28.785386 accept_connection 3 returned 4 14:54:28.785405 accept_connection 3 returned 0 14:54:28.785424 Read 93 bytes 14:54:28.785435 Process 93 bytes request 14:54:28.785450 Got request: GET /verifiedserver HTTP/1.1 14:54:28.785462 Are-we-friendly question received 14:54:28.785491 Wrote request (93 bytes) input to log/22/server.input 14:54:28.785509 Identifying ourselves as friends 14:54:28.785586 Response sent (56 bytes) and written to log/22/server.response 14:54:28.785597 special request received, no persistency 14:54:28.785607 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 33818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1375 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1375 ==151169== ==151169== Process terminating with default action of signal 4 (SIGILL) ==151169== Illegal opcode at address 0x4014B6F ==151169== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151169== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151169== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151169== by 0x4004266: main (tool_main.c:199) === End of file valgrind1375 test 1378...[FTP DL, file without Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1378 ../src/curl -q --trace-ascii log/14/trace1378 --trace-time ftp://127.0.0.1:37705/path/file1378 -o log/14/download1378 > log/14/stdout1378 2> log/14/stderr1378 1378: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1378 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1378 ../src/curl -q --trace-ascii log/14/trace1378 --trace-time ftp://127.0.0.1:37705/path/file1378 -o log/14/download1378 > log/14/stdout1378 2> log/14/stderr1378 === End of file commands.log === Start of file ftp_server.log 14:54:28.796446 ====> Client connect 14:54:28.796632 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.797488 < "USER anonymous" 14:54:28.797575 > "331 We are happy you popped in![CR][LF]" 14:54:28.797764 < "PASS ftp@example.com" 14:54:28.797824 > "230 Welcome you silly person[CR][LF]" 14:54:28.798026 < "PWD" 14:54:28.798092 > "257 "/" is current directory[CR][LF]" 14:54:28.798322 < "EPSV" 14:54:28.798354 ====> Passive DATA channel requested by client 14:54:28.798389 DATA sockfilt for passive data channel starting... 14:54:28.800385 DATA sockfilt for passive data channel started (pid 151327) 14:54:28.800506 DATA sockfilt for passive data channel listens on port 46529 14:54:28.800544 > "229 Entering Passive Mode (|||46529|)[LF]" 14:54:28.800567 Client has been notified that DATA conn will be accepted on port 46529 14:54:28.800830 Client connects to port 46529 14:54:28.800861 ====> Client established passive DATA connection on port 46529 14:54:28.800940 < "TYPE I" 14:54:28.800966 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.801127 < "SIZE verifiedserver" 14:54:28.801163 > "213 17[CR][LF]" 14:54:28.801312 < "RETR verifiedserver" 14:54:28.801341 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.801427 =====> Closing passive DATA connection... 14:54:28.801443 Server disconnects passive DATA connection 14:54:28.801693 Server disconnected passive DATA connection 14:54:28.801721 DATA sockfilt for passive data channel quits (pid 151327) 14:54:28.802012 DATA sockfilt for passive data channel quit (pid 151327) 14:54:28.802034 =====> Closed passive DATA connection 14:54:28.802062 > "226 File transfer complete[CR][LF]" 14:54:28.844928 < "QUIT" 14:54:28.844984 > "221 bye bye baby[CR][LF]" 14:54:28.846000 MAIN sockfilt said DISC 14:54:28.846033 ====> Client disconnected 14:54:28.846112 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1379 ../src/curl -q --trace-ascii log/15/trace1379 --trace-time ftp://127.0.0.1:44241/path/file1379 -o log/15/download1379 -D log/15/heads1379 > log/15/stdout1379 2> log/15/stderr1379 879126 ====> Client connect 14:54:28.879937 Received DATA (on stdin) 14:54:28.879961 > 160 bytes data, server => client 14:54:28.879976 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.879989 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.880000 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.880138 < 16 bytes data, client => server 14:54:28.880155 'USER anonymous\r\n' 14:54:28.880396 Received DATA (on stdin) 14:54:28.880411 > 33 bytes data, server => client 14:54:28.880424 '331 We are happy you popped in!\r\n' 14:54:28.880480 < 22 bytes data, client => server 14:54:28.880493 'PASS ftp@example.com\r\n' 14:54:28.880639 Received DATA (on stdin) 14:54:28.880655 > 30 bytes data, server => client 14:54:28.880667 '230 Welcome you silly person\r\n' 14:54:28.880747 < 5 bytes data, client => server 14:54:28.880761 'PWD\r\n' 14:54:28.880915 Received DATA (on stdin) 14:54:28.880930 > 30 bytes data, server => client 14:54:28.880942 '257 "/" is current directory\r\n' 14:54:28.881019 < 6 bytes data, client => server 14:54:28.881033 'EPSV\r\n' 14:54:28.883386 Received DATA (on stdin) 14:54:28.883403 > 38 bytes data, server => client 14:54:28.883416 '229 Entering Passive Mode (|||46529|)\n' 14:54:28.883589 < 8 bytes data, client => server 14:54:28.883602 'TYPE I\r\n' 14:54:28.883780 Received DATA (on stdin) 14:54:28.883792 > 33 bytes data, server => client 14:54:28.883805 '200 I modify TYPE as you wanted\r\n' 14:54:28.883855 < 21 bytes data, client => server 14:54:28.883867 'SIZE verifiedserver\r\n' 14:54:28.883974 Received DATA (on stdin) 14:54:28.883987 > 8 bytes data, server => client 14:54:28.883998 '213 17\r\n' 14:54:28.884043 < 21 bytes data, client => server 14:54:28.884055 'RETR verifiedserver\r\n' 14:54:28.884256 Received DATA (on stdin) 14:54:28.884268 > 29 bytes data, server => client 14:54:28.884280 '150 Binary junk (17 bytes).\r\n' 14:54:28.884875 Received DATA (on stdin) 14:54:28.884889 > 28 bytes data, server => client 14:54:28.884901 '226 File transfer complete\r\n' 14:54:28.927567 < 6 bytes data, client => server 14:54:28.927596 'QUIT\r\n' 14:54:28.927804 Received DATA (on stdin) 14:54:28.927820 > 18 bytes data, server => client 14:54:28.927833 '221 bye bye baby\r\n' 14:54:28.928757 ====> Client disconnect 14:54:28.931220 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.883006 Running IPv4 version 14:54:28.883070 Listening on port 46529 14:54:28.883113 Wrote pid 151327 to log/14/server/ftp_sockdata.pid 14:54:28.883135 Received PING (on stdin) 14:54:28.883229 Received PORT (on stdin) 14:54:28.883559 ====> Client connect 14:54:28.884305 Received DATA (on stdin) 14:54:28.884319 > 17 bytes data, server => client 14:54:28.884331 'WE ROOLZ: 80387\r\n' 14:54:28.884359 Received DISC (on stdin) 14:54:28.884372 ====> Client forcibly disconnected 14:54:28.884543 Received QUIT (on stdin) 14:54:28.884556 quits 14:54:28.884629 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==151378== ==151378== Process terminating with default action of signal 4 (SIGILL) ==151378== Illegal opcode at address 0x4014B6F ==151378== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151378== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151378== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151378== by 0x4004266: main (tool_main.c:199) === End of file valgrind1378 test 1379...[FTP DL, file without C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1379 ../src/curl -q --trace-ascii log/15/trace1379 --trace-time ftp://127.0.0.1:44241/path/file1379 -o log/15/download1379 -D log/15/heads1379 > log/15/stdout1379 2> log/15/stderr1379 1379: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1379 ../src/curl -q --trace-ascii log/15/trace1379 --trace-time ftp://127.0.0.1:44241/path/file1379 -o log/15/download1379 -D log/15/heads1379 > log/15/stdout1379 2> log/15/stderr1379 === End of file commands.log === Start of file ftp_server.log 14:54:28.824997 ====> Client connect 14:54:28.825170 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.825470 < "USER anonymous" 14:54:28.825506 > "331 We are happy you popped in![CR][LF]" 14:54:28.825681 < "PASS ftp@example.com" 14:54:28.825708 > "230 Welcome you silly person[CR][LF]" 14:54:28.825869 < "PWD" 14:54:28.825899 > "257 "/" is current directory[CR][LF]" 14:54:28.826070 < "EPSV" 14:54:28.826093 ====> Passive DATA channel requested by client 14:54:28.826108 DATA sockfilt for passive data channel starting... 14:54:28.828063 DATA sockfilt for passive data channel started (pid 151346) 14:54:28.828173 DATA sockfilt for passive data channel listens on port 41625 14:54:28.828214 > "229 Entering Passive Mode (|||41625|)[LF]" 14:54:28.828234 Client has been notified that DATA conn will be accepted on port 41625 14:54:28.828431 Client connects to port 41625 14:54:28.828462 ====> Client established passive DATA connection on port 41625 14:54:28.828588 < "TYPE I" 14:54:28.828620 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.828791 < "SIZE verifiedserver" 14:54:28.828827 > "213 17[CR][LF]" 14:54:28.828978 < "RETR verifiedserver" 14:54:28.829008 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.829087 =====> Closing passive DATA connection... 14:54:28.829103 Server disconnects passive DATA connection 14:54:28.829333 Server disconnected passive DATA connection 14:54:28.829363 DATA sockfilt for passive data channel quits (pid 151346) 14:54:28.829563 DATA sockfilt for passive data channel quit (pid 151346) 14:54:28.829586 =====> Closed passive DATA connection 14:54:28.829611 > "226 File transfer complete[CR][LF]" 14:54:28.870477 < "QUIT" 14:54:28.870526 > "221 bye bye baby[CR][LF]" 14:54:28.871337 MAIN sockfilt said DISC 14:54:28.871363 ====> Client disconnected 14:54:28.871422 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.907664 ====> Client connect 14:54:28.907996 Received DATA (on stdin) 14:54:28.908014 > 160 bytes data, server => client 14:54:28.908028 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.908041 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.908052 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.908132 < 16 bytes data, client => server 14:54:28.908150 'USER anonymous\r\n' 14:54:28.908321 Received DATA (on stdin) 14:54:28.908334 > 33 bytes data, server => client 14:54:28.908347 '331 We are happy you popped in!\r\n' 14:54:28.908400 < 22 bytes data, client => server 14:54:28.908413 'PASS ftp@example.com\r\n' 14:54:28.908520 Received DATA (on stdin) 14:54:28.908533 > 30 bytes data, server => client 14:54:28.908546 '230 Welcome you silly person\r\n' 14:54:28.908597 < 5 bytes data, client => server 14:54:28.908609 'PWD\r\n' 14:54:28.908710 Received DATA (on stdin) 14:54:28.908723 > 30 bytes data, server => client 14:54:28.908735 '257 "/" is current directory\r\n' 14:54:28.908795 < 6 bytes data, client => server 14:54:28.908809 'EPSV\r\n' 14:54:28.911052 Received DATA (on stdin) 14:54:28.911067 > 38 bytes data, server => client 14:54:28.911080 '229 Entering Passive Mode (|||41625|)\n' 14:54:28.911292 < 8 bytes data, client => server 14:54:28.911307 'TYPE I\r\n' 14:54:28.911434 ReceivedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1380 ../src/curl -q --trace-ascii log/17/trace1380 --trace-time ftp://127.0.0.1:40705/path/file1380 -o log/17/download1380 -D - > log/17/stdout1380 2> log/17/stderr1380 DATA (on stdin) 14:54:28.911448 > 33 bytes data, server => client 14:54:28.911460 '200 I modify TYPE as you wanted\r\n' 14:54:28.911514 < 21 bytes data, client => server 14:54:28.911527 'SIZE verifiedserver\r\n' 14:54:28.911638 Received DATA (on stdin) 14:54:28.911651 > 8 bytes data, server => client 14:54:28.911662 '213 17\r\n' 14:54:28.911709 < 21 bytes data, client => server 14:54:28.911721 'RETR verifiedserver\r\n' 14:54:28.911916 Received DATA (on stdin) 14:54:28.911928 > 29 bytes data, server => client 14:54:28.911940 '150 Binary junk (17 bytes).\r\n' 14:54:28.912423 Received DATA (on stdin) 14:54:28.912437 > 28 bytes data, server => client 14:54:28.912450 '226 File transfer complete\r\n' 14:54:28.953116 < 6 bytes data, client => server 14:54:28.953140 'QUIT\r\n' 14:54:28.953343 Received DATA (on stdin) 14:54:28.953356 > 18 bytes data, server => client 14:54:28.953368 '221 bye bye baby\r\n' 14:54:28.954100 ====> Client disconnect 14:54:28.954238 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.910698 Running IPv4 version 14:54:28.910758 Listening on port 41625 14:54:28.910795 Wrote pid 151346 to log/15/server/ftp_sockdata.pid 14:54:28.910817 Received PING (on stdin) 14:54:28.910903 Received PORT (on stdin) 14:54:28.911188 ====> Client connect 14:54:28.911965 Received DATA (on stdin) 14:54:28.911979 > 17 bytes data, server => client 14:54:28.911990 'WE ROOLZ: 80266\r\n' 14:54:28.912012 Received DISC (on stdin) 14:54:28.912024 ====> Client forcibly disconnected 14:54:28.912181 Received QUIT (on stdin) 14:54:28.912194 quits 14:54:28.912250 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==151408== ==151408== Process terminating with default action of signal 4 (SIGILL) ==151408== Illegal opcode at address 0x4014B6F ==151408== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151408== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151408== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151408== by 0x4004266: main (tool_main.c:199) === End of file valgrind1379 test 1380...[FTP DL, file without C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1380 ../src/curl -q --trace-ascii log/17/trace1380 --trace-time ftp://127.0.0.1:40705/path/file1380 -o log/17/download1380 -D - > log/17/stdout1380 2> log/17/stderr1380 1380: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1380 ../src/curl -q --trace-ascii log/17/trace1380 --trace-time ftp://127.0.0.1:40705/path/file1380 -o log/17/download1380 -D - > log/17/stdout1380 2> log/17/stderr1380 === End of file commands.log === Start of file ftp_server.log 14:54:28.860445 ====> Client connect 14:54:28.860599 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.860953 < "USER anonymous" 14:54:28.861002 > "331 We are happy you popped in![CR][LF]" 14:54:28.861195 < "PASS ftp@example.com" 14:54:28.861228 > "230 Welcome you silly person[CR][LF]" 14:54:28.861410 < "PWD" 14:54:28.861450 > "257 "/" is current directory[CR][LF]" 14:54:28.861669 < "EPSV" 14:54:28.861705 ====> Passive DATA channel requested by client 14:54:28.861722 DATA sockfilt for passive data channel starting... 14:54:28.864081 DATA sockfilt for passive data channel started (pid 151383) 14:54:28.864217 DATA sockfilt for passive data channel listens on port 39971 14:54:28.864270 > "229 Entering Passive Mode (|||39971|)[LF]" 14:54:28.864296 Client has been notified that DATA conn will be accepted on port 39971 14:54:28.864580 Client connects to port 39971 14:54:28.864617 ====> Client established passive DATA connection on port 39971 14:54:28.864709 < "TYPE I" 14:54:28.864748 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.864941 < "SIZE verifiedserver" 14:54:28.864986 > "213 17[CR][LF]" 14:54:28.865169 < "RETR verifiedserver" 14:54:28.865212 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.865306 =====> Closing passive DATA connection... 14:54:28.865326 Server disconnects passive DATA connection 14:54:28.865595 Server disconnected passive DATA connection 14:54:28.865628 DATA sockfilt for passive data channel quits (pid 151383) 14:54:28.865889 DATA sockfilt for passive data channel quit (pid 151383) 14:54:28.865917 =====> Closed passive DATA connection 14:54:28.865948 > "226 File transfer complete[CR][LF]" 14:54:28.910789 < "QUIT" 14:54:28.910834 > "221 bye bye baby[CR][LF]" 14:54:28.911747 MAIN sockfilt said DISC 14:54:28.911782 ====> Client disconnected 14:54:28.911844 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.943145 ====> Client connect 14:54:28.943409 Received DATA (on stdin) 14:54:28.943439 > 160 bytes data, server => client 14:54:28.943455 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.943468 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.943480 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.943584 < 16 bytes data, client => server 14:54:28.943603 'USER anonymous\r\n' 14:54:28.943821 Received DATA (on stdin) 14:54:28.943837 > 33 bytes data, server => client 14:54:28.943850 '331 We are happy you popped in!\r\n' 14:54:28.943908 < 22 bytes data, client => server 14:54:28.943923 'PASS ftp@example.com\r\n' 14:54:28.944044 Received DATA (on stdin) 14:54:28.944058 > 30 bytes data, server => client 14:54:28.944071 '230 Welcome you silly person\r\n' 14:54:28.944126 < 5 bytes data, client => server 14:54:28.944140 'PWD\r\n' 14:54:28.944265 Received DATA (on stdin) 14:54:28.944279 > 30 bytes data, server => client 14:54:28.944292 '257 "/" is current directory\r\n' 14:54:28.944358 < 6 bytes data, client => server 14:54:28.944375 'EPSV\r\n' 14:54:28.947121 Received DATA (on stdin) 14:54:28.947138 > 38 bytes data, server => client 14:54:28.947152 '229 Entering Passive Mode (|||39971|)\n' 14:54:28.947332 < 8 bytes data, client => server 14:54:28.947348 'TYPE I\r\n' 14:54:28.947564 Received DATA (on stdin) 14:54:28.947579 > 33 bytes data, server => client 14:54:28.947592 '200 I modify TYPE as you wanted\r\n' 14:54:28.947650 < 21 bytes data, client => server 14:54:28.947667 'SIZE verifiedserver\r\n' 14:54:28.947803 Received DATA (on stdin) 14:54:28.947818 > 8 bytes data, server => client 14:54:28.947831 '213 17\r\n' 14:54:28.947886 < 21 bytes data, client => server 14:54:28.947901 'RETR verifiedserver\r\n' 14:54:28.948143 Received DATA (on stdin) 14:54:28.948158 > 29 bytes data, server => client 14:54:28.948172 '150 Binary junk (17 bytes).\r\n' 14:54:28.948765 Received DATA (on stdin) 14:54:28.948781 > 28 bytes data, server => client 14:54:28.948794 '226 File transfer complete\r\n' 14:54:28.993455 < 6 bytes data, client => server 14:54:28.993477 'QUIT\r\n' 14:54:28.993648 Received DATA (on stdin) 14:54:28.993661 > 18 bytes data, server => client 14:54:28.993672 '221 bye bye baby\r\n' 14:54:28.994506 ====> Client disconnect 14:54:28.994656 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.946217 Running IPv4 version 14:54:28.946284 Listening on port 39971 14:54:28.946334 Wrote pid 151383 to log/17/server/ftp_sockdata.pid 14:54:28.946824 Received PING (on stdin) 14:54:28.946930 Received PORT (on stdin) 14:54:28.947296 ====> Client connect 14:54:28.948201 Received DATA (on stdin) 14:54:28.948217 > 17CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1381 ../src/curl -q --trace-ascii log/21/trace1381 --trace-time ftp://127.0.0.1:43281/path/file1381 -o log/21/download1381 -J -D log/21/heads1381 > log/21/stdout1381 2> log/21/stderr1381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1382 ../src/curl -q --trace-ascii log/20/trace1382 --trace-time ftp://127.0.0.1:36903/path/file1382 -o log/20/download1382 -J -D - > log/20/stdout1382 2> log/20/stderr1382 bytes data, server => client 14:54:28.948230 'WE ROOLZ: 91632\r\n' 14:54:28.948257 Received DISC (on stdin) 14:54:28.948272 ====> Client forcibly disconnected 14:54:28.948455 Received QUIT (on stdin) 14:54:28.948471 quits 14:54:28.948529 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==151515== ==151515== Process terminating with default action of signal 4 (SIGILL) ==151515== Illegal opcode at address 0x4014B6F ==151515== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151515== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151515== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151515== by 0x4004266: main (tool_main.c:199) === End of file valgrind1380 test 1381...[FTP DL, file without C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1381 ../src/curl -q --trace-ascii log/21/trace1381 --trace-time ftp://127.0.0.1:43281/path/file1381 -o log/21/download1381 -J -D log/21/heads1381 > log/21/stdout1381 2> log/21/stderr1381 1381: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1381 ../src/curl -q --trace-ascii log/21/trace1381 --trace-time ftp://127.0.0.1:43281/path/file1381 -o log/21/download1381 -J -D log/21/heads1381 > log/21/stdout1381 2> log/21/stderr1381 === End of file commands.log === Start of file ftp_server.log 14:54:28.862153 ====> Client connect 14:54:28.862290 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.862570 < "USER anonymous" 14:54:28.862605 > "331 We are happy you popped in![CR][LF]" 14:54:28.862775 < "PASS ftp@example.com" 14:54:28.862802 > "230 Welcome you silly person[CR][LF]" 14:54:28.862958 < "PWD" 14:54:28.862986 > "257 "/" is current directory[CR][LF]" 14:54:28.863148 < "EPSV" 14:54:28.863171 ====> Passive DATA channel requested by client 14:54:28.863185 DATA sockfilt for passive data channel starting... 14:54:28.864858 DATA sockfilt for passive data channel started (pid 151387) 14:54:28.864965 DATA sockfilt for passive data channel listens on port 37575 14:54:28.865003 > "229 Entering Passive Mode (|||37575|)[LF]" 14:54:28.865023 Client has been notified that DATA conn will be accepted on port 37575 14:54:28.865243 Client connects to port 37575 14:54:28.865271 ====> Client established passive DATA connection on port 37575 14:54:28.865339 < "TYPE I" 14:54:28.865364 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.865518 < "SIZE verifiedserver" 14:54:28.865552 > "213 17[CR][LF]" 14:54:28.865693 < "RETR verifiedserver" 14:54:28.865725 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.865799 =====> Closing passive DATA connection... 14:54:28.865815 Server disconnects passive DATA connection 14:54:28.866038 Server disconnected passive DATA connection 14:54:28.866064 DATA sockfilt for passive data channel quits (pid 151387) 14:54:28.866290 DATA sockfilt for passive data channel quit (pid 151387) 14:54:28.866311 =====> Closed passive DATA connection 14:54:28.866335 > "226 File transfer complete[CR][LF]" 14:54:28.910751 < "QUIT" 14:54:28.910804 > "221 bye bye baby[CR][LF]" 14:54:28.911626 MAIN sockfilt said DISC 14:54:28.911657 ====> Client disconnected 14:54:28.911730 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.944873 ====> Client connect 14:54:28.945111 Received DATA (on stdin) 14:54:28.945127 > 160 bytes data, server => client 14:54:28.945141 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.945153 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.945165 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.945242 < 16 bytes data, client => server 14:54:28.945255 'USER anonymous\r\n' 14:54:28.945421 Received DATA (on stdin) 14:54:28.945434 > 33 bytes data, server => client 14:54:28.945447 '331 We are happy you popped in!\r\n' 14:54:28.945498 < 22 bytes data, client => server 14:54:28.945510 'PASS ftp@example.com\r\n' 14:54:28.945613 Received DATA (on stdin) 14:54:28.945625 > 30 bytes data, server => client 14:54:28.945637 '230 Welcome you silly person\r\n' 14:54:28.945686 < 5 bytes data, client => server 14:54:28.945698 'PWD\r\n' 14:54:28.945797 Received DATA (on stdin) 14:54:28.945809 > 30 bytes data, server => client 14:54:28.945821 '257 "/" is current directory\r\n' 14:54:28.945878 < 6 bytes data, client => server 14:54:28.945890 'EPSV\r\n' 14:54:28.947838 Received DATA (on stdin) 14:54:28.947853 > 38 bytes data, server => client 14:54:28.947865 '229 Entering Passive Mode (|||37575|)\n' 14:54:28.948000 < 8 bytes data, client => server 14:54:28.948013 'TYPE I\r\n' 14:54:28.948178 Received DATA (on stdin) 14:54:28.948190 > 33 bytes data, server => client 14:54:28.948202 '200 I modify TYPE as you wanted\r\n' 14:54:28.948249 < 21 bytes data, client => server 14:54:28.948261 'SIZE verifiedserver\r\n' 14:54:28.948361 Received DATA (on stdin) 14:54:28.948373 > 8 bytes data, server => client 14:54:28.948384 '213 17\r\n' 14:54:28.948428 < 21 bytes data, client => server 14:54:28.948439 'RETR verifiedserver\r\n' 14:54:28.948626 Received DATA (on stdin) 14:54:28.948638 > 29 bytes data, server => client 14:54:28.948649 '150 Binary junk (17 bytes).\r\n' 14:54:28.949147 Received DATA (on stdin) 14:54:28.949161 > 28 bytes data, server => client 14:54:28.949173 '226 File transfer complete\r\n' 14:54:28.993401 < 6 bytes data, client => server 14:54:28.993427 'QUIT\r\n' 14:54:28.993623 Received DATA (on stdin) 14:54:28.993638 > 18 bytes data, server => client 14:54:28.993650 '221 bye bye baby\r\n' 14:54:28.994382 ====> Client disconnect 14:54:28.994547 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.947382 Running IPv4 version 14:54:28.947439 Listening on port 37575 14:54:28.947474 Wrote pid 151387 to log/21/server/ftp_sockdata.pid 14:54:28.947614 Received PING (on stdin) 14:54:28.947694 Received PORT (on stdin) 14:54:28.947972 ====> Client connect 14:54:28.948673 Received DATA (on stdin) 14:54:28.948686 > 17 bytes data, server => client 14:54:28.948698 'WE ROOLZ: 80269\r\n' 14:54:28.948720 Received DISC (on stdin) 14:54:28.948732 ====> Client forcibly disconnected 14:54:28.948881 Received QUIT (on stdin) 14:54:28.948893 quits 14:54:28.948949 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==151514== ==151514== Process terminating with default action of signal 4 (SIGILL) ==151514== Illegal opcode at address 0x4014B6F ==151514== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151514== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151514== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151514== by 0x4004266: main (tool_main.c:199) === End of file valgrind1381 test 1382...[FTP DL, file without C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1382 ../src/curl -q --trace-ascii log/20/trace1382 --trace-time ftp://127.0.0.1:36903/path/file1382 -o log/20/download1382 -J -D - > log/20/stdout1382 2> log/20/stderr1382 1382: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failurCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:39801/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 e? Returned: 132 == Contents of files in the log/20/ dir after test 1382 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1382 ../src/curl -q --trace-ascii log/20/trace1382 --trace-time ftp://127.0.0.1:36903/path/file1382 -o log/20/download1382 -J -D - > log/20/stdout1382 2> log/20/stderr1382 === End of file commands.log === Start of file ftp_server.log 14:54:28.902188 ====> Client connect 14:54:28.902343 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.902617 < "USER anonymous" 14:54:28.902648 > "331 We are happy you popped in![CR][LF]" 14:54:28.902805 < "PASS ftp@example.com" 14:54:28.902830 > "230 Welcome you silly person[CR][LF]" 14:54:28.902974 < "PWD" 14:54:28.903003 > "257 "/" is current directory[CR][LF]" 14:54:28.903154 < "EPSV" 14:54:28.903177 ====> Passive DATA channel requested by client 14:54:28.903189 DATA sockfilt for passive data channel starting... 14:54:28.905121 DATA sockfilt for passive data channel started (pid 151481) 14:54:28.905272 DATA sockfilt for passive data channel listens on port 35491 14:54:28.905314 > "229 Entering Passive Mode (|||35491|)[LF]" 14:54:28.905335 Client has been notified that DATA conn will be accepted on port 35491 14:54:28.905619 Client connects to port 35491 14:54:28.905648 ====> Client established passive DATA connection on port 35491 14:54:28.905737 < "TYPE I" 14:54:28.905768 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.905929 < "SIZE verifiedserver" 14:54:28.905962 > "213 17[CR][LF]" 14:54:28.906108 < "RETR verifiedserver" 14:54:28.906138 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.906212 =====> Closing passive DATA connection... 14:54:28.906227 Server disconnects passive DATA connection 14:54:28.906838 Server disconnected passive DATA connection 14:54:28.906868 DATA sockfilt for passive data channel quits (pid 151481) 14:54:28.907117 DATA sockfilt for passive data channel quit (pid 151481) 14:54:28.907139 =====> Closed passive DATA connection 14:54:28.907166 > "226 File transfer complete[CR][LF]" 14:54:28.950566 < "QUIT" 14:54:28.950622 > "221 bye bye baby[CR][LF]" 14:54:28.952044 MAIN sockfilt said DISC 14:54:28.952087 ====> Client disconnected 14:54:28.952153 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.984883 ====> Client connect 14:54:28.985164 Received DATA (on stdin) 14:54:28.985179 > 160 bytes data, server => client 14:54:28.985192 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.985203 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.985213 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.985287 < 16 bytes data, client => server 14:54:28.985300 'USER anonymous\r\n' 14:54:28.985461 Received DATA (on stdin) 14:54:28.985473 > 33 bytes data, server => client 14:54:28.985485 '331 We are happy you popped in!\r\n' 14:54:28.985533 < 22 bytes data, client => server 14:54:28.985544 'PASS ftp@example.com\r\n' 14:54:28.985639 Received DATA (on stdin) 14:54:28.985651 > 30 bytes data, server => client 14:54:28.985662 '230 Welcome you silly person\r\n' 14:54:28.985708 < 5 bytes data, client => server 14:54:28.985718 'PWD\r\n' 14:54:28.985813 Received DATA (on stdin) 14:54:28.985824 > 30 bytes data, server => client 14:54:28.985836 '257 "/" is current directory\r\n' 14:54:28.985889 < 6 bytes data, client => server 14:54:28.985900 'EPSV\r\n' 14:54:28.988158 Received DATA (on stdin) 14:54:28.988176 > 38 bytes data, server => client 14:54:28.988189 '229 Entering Passive Mode (|||35491|)\n' 14:54:28.988345 < 8 bytes data, client => server 14:54:28.988360 'TYPE I\r\n' 14:54:28.988582 Received DATA (on stdin) 14:54:28.988595 > 33 bytes data, server => client 14:54:28.988607 '200 I modify TYPE as you wanted\r\n' 14:54:28.988659 < 21 bytes data, client => server 14:54:28.988671 'SIZE verifiedserver\r\n' 14:54:28.988772 Received DATA (on stdin) 14:54:28.988784 > 8 bytes data, server => client 14:54:28.988795 '213 17\r\n' 14:54:28.988842 < 21 bytes data, client => server 14:54:28.988853 'RETR verifiedserver\r\n' 14:54:28.989039 Received DATA (on stdin) 14:54:28.989052 > 29 bytes data, server => client 14:54:28.989063 '150 Binary junk (17 bytes).\r\n' 14:54:28.989979 Received DATA (on stdin) 14:54:28.989993 > 28 bytes data, server => client 14:54:28.990005 '226 File transfer complete\r\n' 14:54:29.033155 < 6 bytes data, client => server 14:54:29.033184 'QUIT\r\n' 14:54:29.033441 Received DATA (on stdin) 14:54:29.034317 > 18 bytes data, server => client 14:54:29.034339 '221 bye bye baby\r\n' 14:54:29.034796 ====> Client disconnect 14:54:29.034967 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.987731 Running IPv4 version 14:54:28.987804 Listening on port 35491 14:54:28.987838 Wrote pid 151481 to log/20/server/ftp_sockdata.pid 14:54:28.987859 Received PING (on stdin) 14:54:28.987981 Received PORT (on stdin) 14:54:28.988385 ====> Client connect 14:54:28.989529 Received DATA (on stdin) 14:54:28.989554 > 17 bytes data, server => client 14:54:28.989567 'WE ROOLZ: 80341\r\n' 14:54:28.989602 Received DISC (on stdin) 14:54:28.989616 ====> Client forcibly disconnected 14:54:28.989692 Received QUIT (on stdin) 14:54:28.989707 quits 14:54:28.989768 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==151617== ==151617== Process terminating with default action of signal 4 (SIGILL) ==151617== Illegal opcode at address 0x4014B6F ==151617== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151617== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151617== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151617== by 0x4004266: main (tool_main.c:199) === End of file valgrind1382 test 1384...[FTP DL, file without C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:39801/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 1384: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:39801/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 === End of file commands.log === Start of file ftp_server.log 14:54:28.939390 ====> Client connect 14:54:28.939548 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.939980 < "USER anonymous" 14:54:28.940020 > "331 We are happy you popped in![CR][LF]" 14:54:28.940210 < "PASS ftp@example.com" 14:54:28.940249 > "230 Welcome you silly person[CR][LF]" 14:54:28.940442 < "PWD" 14:54:28.940477 > "257 "/" is current directory[CR][LF]" 14:54:28.940650 < "EPSV" 14:54:28.940676 ====> Passive DATA channel requested by client 14:54:28.940689 DATA sockfilt for passive data channel starting... 14:54:28.942239 DATA sockfilt for passive data channel started (pid 151563) 14:54:28.942333 DATA sockfilt for passive data channel listens on port 39557 14:54:28.942369 > "229 Entering Passive Mode (|||395CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1383 ../src/curl -q --trace-ascii log/5/trace1383 --trace-time ftp://127.0.0.1:32907/path/file1383 -o log/5/download1383 -i -D log/5/heads1383 > log/5/stdout1383 2> log/5/stderr1383 57|)[LF]" 14:54:28.942389 Client has been notified that DATA conn will be accepted on port 39557 14:54:28.942609 Client connects to port 39557 14:54:28.942634 ====> Client established passive DATA connection on port 39557 14:54:28.942693 < "TYPE I" 14:54:28.942715 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.942840 < "SIZE verifiedserver" 14:54:28.942866 > "213 18[CR][LF]" 14:54:28.943003 < "RETR verifiedserver" 14:54:28.943033 > "150 Binary junk (18 bytes).[CR][LF]" 14:54:28.943116 =====> Closing passive DATA connection... 14:54:28.943133 Server disconnects passive DATA connection 14:54:28.943367 Server disconnected passive DATA connection 14:54:28.943396 DATA sockfilt for passive data channel quits (pid 151563) 14:54:28.943826 DATA sockfilt for passive data channel quit (pid 151563) 14:54:28.943858 =====> Closed passive DATA connection 14:54:28.943879 > "226 File transfer complete[CR][LF]" 14:54:28.986247 < "QUIT" 14:54:28.986304 > "221 bye bye baby[CR][LF]" 14:54:28.987970 MAIN sockfilt said DISC 14:54:28.988010 ====> Client disconnected 14:54:28.988196 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.022083 ====> Client connect 14:54:29.022379 Received DATA (on stdin) 14:54:29.022395 > 160 bytes data, server => client 14:54:29.022409 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.022421 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.022432 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.022509 < 16 bytes data, client => server 14:54:29.022646 'USER anonymous\r\n' 14:54:29.022834 Received DATA (on stdin) 14:54:29.022848 > 33 bytes data, server => client 14:54:29.022860 '331 We are happy you popped in!\r\n' 14:54:29.022916 < 22 bytes data, client => server 14:54:29.022929 'PASS ftp@example.com\r\n' 14:54:29.023061 Received DATA (on stdin) 14:54:29.023074 > 30 bytes data, server => client 14:54:29.023108 '230 Welcome you silly person\r\n' 14:54:29.023162 < 5 bytes data, client => server 14:54:29.023174 'PWD\r\n' 14:54:29.023289 Received DATA (on stdin) 14:54:29.023303 > 30 bytes data, server => client 14:54:29.023315 '257 "/" is current directory\r\n' 14:54:29.023379 < 6 bytes data, client => server 14:54:29.023393 'EPSV\r\n' 14:54:29.025209 Received DATA (on stdin) 14:54:29.025223 > 38 bytes data, server => client 14:54:29.025236 '229 Entering Passive Mode (|||39557|)\n' 14:54:29.025373 < 8 bytes data, client => server 14:54:29.025384 'TYPE I\r\n' 14:54:29.025523 Received DATA (on stdin) 14:54:29.025533 > 33 bytes data, server => client 14:54:29.025543 '200 I modify TYPE as you wanted\r\n' 14:54:29.025583 < 21 bytes data, client => server 14:54:29.025592 'SIZE verifiedserver\r\n' 14:54:29.025672 Received DATA (on stdin) 14:54:29.025681 > 8 bytes data, server => client 14:54:29.025690 '213 18\r\n' 14:54:29.025730 < 21 bytes data, client => server 14:54:29.025742 'RETR verifiedserver\r\n' 14:54:29.025947 Received DATA (on stdin) 14:54:29.025961 > 29 bytes data, server => client 14:54:29.025973 '150 Binary junk (18 bytes).\r\n' 14:54:29.026687 Received DATA (on stdin) 14:54:29.026698 > 28 bytes data, server => client 14:54:29.026708 '226 File transfer complete\r\n' 14:54:29.068852 < 6 bytes data, client => server 14:54:29.068888 'QUIT\r\n' 14:54:29.069168 Received DATA (on stdin) 14:54:29.069186 > 18 bytes data, server => client 14:54:29.069198 '221 bye bye baby\r\n' 14:54:29.069676 ====> Client disconnect 14:54:29.070807 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.024888 Running IPv4 version 14:54:28.024931 Listening on port 39557 14:54:28.024983 Wrote pid 151563 to log/2/server/ftp_sockdata.pid 14:54:28.025000 Received PING (on stdin) 14:54:28.025069 Received PORT (on stdin) 14:54:28.025348 ====> Client connect 14:54:28.025999 Received DATA (on stdin) 14:54:28.026013 > 18 bytes data, server => client 14:54:28.026024 'WE ROOLZ: 136171\r\n' 14:54:28.026048 Received DISC (on stdin) 14:54:28.026060 ====> Client forcibly disconnected 14:54:28.026386 Received QUIT (on stdin) 14:54:28.026404 quits 14:54:28.026466 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==151706== ==151706== Process terminating with default action of signal 4 (SIGILL) ==151706== Illegal opcode at address 0x4014B6F ==151706== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151706== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151706== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151706== by 0x4004266: main (tool_main.c:199) === End of file valgrind1384 test 1383...[FTP DL, file without C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1383 ../src/curl -q --trace-ascii log/5/trace1383 --trace-time ftp://127.0.0.1:32907/path/file1383 -o log/5/download1383 -i -D log/5/heads1383 > log/5/stdout1383 2> log/5/stderr1383 1383: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1383 ../src/curl -q --trace-ascii log/5/trace1383 --trace-time ftp://127.0.0.1:32907/path/file1383 -o log/5/download1383 -i -D log/5/heads1383 > log/5/stdout1383 2> log/5/stderr1383 === End of file commands.log === Start of file ftp_server.log 14:54:28.906492 ====> Client connect 14:54:28.906610 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:28.906822 < "USER anonymous" 14:54:28.906848 > "331 We are happy you popped in![CR][LF]" 14:54:28.906996 < "PASS ftp@example.com" 14:54:28.907018 > "230 Welcome you silly person[CR][LF]" 14:54:28.907140 < "PWD" 14:54:28.907163 > "257 "/" is current directory[CR][LF]" 14:54:28.907291 < "EPSV" 14:54:28.907309 ====> Passive DATA channel requested by client 14:54:28.907320 DATA sockfilt for passive data channel starting... 14:54:28.908499 DATA sockfilt for passive data channel started (pid 151488) 14:54:28.908591 DATA sockfilt for passive data channel listens on port 41731 14:54:28.908623 > "229 Entering Passive Mode (|||41731|)[LF]" 14:54:28.908639 Client has been notified that DATA conn will be accepted on port 41731 14:54:28.908824 Client connects to port 41731 14:54:28.908849 ====> Client established passive DATA connection on port 41731 14:54:28.908905 < "TYPE I" 14:54:28.908924 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:28.909050 < "SIZE verifiedserver" 14:54:28.909081 > "213 17[CR][LF]" 14:54:28.909255 < "RETR verifiedserver" 14:54:28.909307 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:28.909386 =====> Closing passive DATA connection... 14:54:28.909401 Server disconnects passive DATA connection 14:54:28.909582 Server disconnected passive DATA connection 14:54:28.909609 DATA sockfilt for passive data channel quits (pid 151488) 14:54:28.909871 DATA sockfilt for passive data channel quit (pid 151488) 14:54:28.909892 =====> Closed passive DATA connection 14:54:28.909920 > "226 File transfer complete[CR][LF]" 14:54:28.954287 < "QUIT" 14:54:28.954339 > "221 bye bye baby[CR][LF]" 14:54:28.954952 MAIN sockfilt said DISC 14:54:28.954977 ====> Client disconnected 14:54:28.955026 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.989216 ====> Client connect 14:54:28.989426 Received DATA (on stdin) 14:54:28.989439 > 160 bytes data, server => client 14:54:28.989449 '220- _ _ ____ _ \r\n220- ___| | | | _ \|CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1385 ../src/curl -q --trace-ascii log/3/trace1385 --trace-time ftp://127.0.0.1:37155/path/file1385 -o log/3/download1385 -i > log/3/stdout1385 2> log/3/stderr1385 | ' 14:54:28.989458 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.989467 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.989521 < 16 bytes data, client => server 14:54:28.989531 'USER anonymous\r\n' 14:54:28.989666 Received DATA (on stdin) 14:54:28.989678 > 33 bytes data, server => client 14:54:28.989687 '331 We are happy you popped in!\r\n' 14:54:28.989730 < 22 bytes data, client => server 14:54:28.989739 'PASS ftp@example.com\r\n' 14:54:28.989825 Received DATA (on stdin) 14:54:28.989835 > 30 bytes data, server => client 14:54:28.989844 '230 Welcome you silly person\r\n' 14:54:28.989882 < 5 bytes data, client => server 14:54:28.989891 'PWD\r\n' 14:54:28.989969 Received DATA (on stdin) 14:54:28.989978 > 30 bytes data, server => client 14:54:28.989987 '257 "/" is current directory\r\n' 14:54:28.990034 < 6 bytes data, client => server 14:54:28.990044 'EPSV\r\n' 14:54:28.991453 Received DATA (on stdin) 14:54:28.991465 > 38 bytes data, server => client 14:54:28.991475 '229 Entering Passive Mode (|||41731|)\n' 14:54:28.991587 < 8 bytes data, client => server 14:54:28.991597 'TYPE I\r\n' 14:54:28.991732 Received DATA (on stdin) 14:54:28.991742 > 33 bytes data, server => client 14:54:28.991752 '200 I modify TYPE as you wanted\r\n' 14:54:28.991791 < 21 bytes data, client => server 14:54:28.991801 'SIZE verifiedserver\r\n' 14:54:28.991887 Received DATA (on stdin) 14:54:28.991897 > 8 bytes data, server => client 14:54:28.991906 '213 17\r\n' 14:54:28.991947 < 21 bytes data, client => server 14:54:28.991956 'RETR verifiedserver\r\n' 14:54:28.992221 Received DATA (on stdin) 14:54:28.992241 > 29 bytes data, server => client 14:54:28.992252 '150 Binary junk (17 bytes).\r\n' 14:54:28.992736 Received DATA (on stdin) 14:54:28.992750 > 28 bytes data, server => client 14:54:28.992761 '226 File transfer complete\r\n' 14:54:29.036941 < 6 bytes data, client => server 14:54:29.036963 'QUIT\r\n' 14:54:29.037137 Received DATA (on stdin) 14:54:29.037152 > 18 bytes data, server => client 14:54:29.037163 '221 bye bye baby\r\n' 14:54:29.037714 ====> Client disconnect 14:54:29.037833 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:28.991170 Running IPv4 version 14:54:28.991214 Listening on port 41731 14:54:28.991242 Wrote pid 151488 to log/5/server/ftp_sockdata.pid 14:54:28.991259 Received PING (on stdin) 14:54:28.991332 Received PORT (on stdin) 14:54:28.991564 ====> Client connect 14:54:28.992133 Received DATA (on stdin) 14:54:28.992144 > 17 bytes data, server => client 14:54:28.992154 'WE ROOLZ: 80255\r\n' 14:54:28.992213 Received DISC (on stdin) 14:54:28.992224 ====> Client forcibly disconnected 14:54:28.992436 Received QUIT (on stdin) 14:54:28.992453 quits 14:54:28.992511 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==151632== ==151632== Process terminating with default action of signal 4 (SIGILL) ==151632== Illegal opcode at address 0x4014B6F ==151632== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151632== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151632== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151632== by 0x4004266: main (tool_main.c:199) === End of file valgrind1383 test 1385...[FTP DL, file without C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1385 ../src/curl -q --trace-ascii log/3/trace1385 --trace-time ftp://127.0.0.1:37155/path/file1385 -o log/3/download1385 -i > log/3/stdout1385 2> log/3/stderr1385 1385: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1385 ../src/curl -q --trace-ascii log/3/trace1385 --trace-time ftp://127.0.0.1:37155/path/file1385 -o log/3/download1385 -i > log/3/stdout1385 2> log/3/stderr1385 === End of file commands.log === Start of file ftp_server.log 14:54:29.015763 ====> Client connect 14:54:29.015942 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.016275 < "USER anonymous" 14:54:29.016316 > "331 We are happy you popped in![CR][LF]" 14:54:29.016507 < "PASS ftp@example.com" 14:54:29.016535 > "230 Welcome you silly person[CR][LF]" 14:54:29.016707 < "PWD" 14:54:29.016742 > "257 "/" is current directory[CR][LF]" 14:54:29.016978 < "EPSV" 14:54:29.017017 ====> Passive DATA channel requested by client 14:54:29.017033 DATA sockfilt for passive data channel starting... 14:54:29.019172 DATA sockfilt for passive data channel started (pid 151758) 14:54:29.019285 DATA sockfilt for passive data channel listens on port 42979 14:54:29.019330 > "229 Entering Passive Mode (|||42979|)[LF]" 14:54:29.019349 Client has been notified that DATA conn will be accepted on port 42979 14:54:29.019637 Client connects to port 42979 14:54:29.019664 ====> Client established passive DATA connection on port 42979 14:54:29.019749 < "TYPE I" 14:54:29.019777 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.019934 < "SIZE verifiedserver" 14:54:29.019969 > "213 17[CR][LF]" 14:54:29.020113 < "RETR verifiedserver" 14:54:29.020142 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.020228 =====> Closing passive DATA connection... 14:54:29.020245 Server disconnects passive DATA connection 14:54:29.020483 Server disconnected passive DATA connection 14:54:29.020509 DATA sockfilt for passive data channel quits (pid 151758) 14:54:29.020765 DATA sockfilt for passive data channel quit (pid 151758) 14:54:29.020790 =====> Closed passive DATA connection 14:54:29.020816 > "226 File transfer complete[CR][LF]" 14:54:29.067633 < "QUIT" 14:54:29.067692 > "221 bye bye baby[CR][LF]" 14:54:29.067970 MAIN sockfilt said DISC 14:54:29.068015 ====> Client disconnected 14:54:29.068087 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.098458 ====> Client connect 14:54:29.098770 Received DATA (on stdin) 14:54:29.098788 > 160 bytes data, server => client 14:54:29.098803 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.098815 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.098827 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.098921 < 16 bytes data, client => server 14:54:29.098939 'USER anonymous\r\n' 14:54:29.099134 Received DATA (on stdin) 14:54:29.099150 > 33 bytes data, server => client 14:54:29.099163 '331 We are happy you popped in!\r\n' 14:54:29.099220 < 22 bytes data, client => server 14:54:29.099235 'PASS ftp@example.com\r\n' 14:54:29.099349 Received DATA (on stdin) 14:54:29.099363 > 30 bytes data, server => client 14:54:29.099375 '230 Welcome you silly person\r\n' 14:54:29.099427 < 5 bytes data, client => server 14:54:29.099440 'PWD\r\n' 14:54:29.099556 Received DATA (on stdin) 14:54:29.099570 > 30 bytes data, server => client 14:54:29.099583 '257 "/" is current directory\r\n' 14:54:29.099667 < 6 bytes data, client => server 14:54:29.099683 'EPSV\r\n' 14:54:29.102170 Received DATA (on stdin) 14:54:29.102189 > 38 bytes data, server => client 14:54:29.102202 '229 Entering Passive Mode (|||42979|)\n' 14:54:29.102397 < 8 bytes data, client => server 14:54:29.102408 'TYPE I\r\n' 14:54:29.102590 Received DATA (on stdin) 14:54:29.102602 > 33 bytes data, server => client 14:54:29.102614 '200 I modify TYPE as you wanted\r\n' 14:54:29.102663 < 21 bytes data, client => server 14:54:29.102675 'SIZE verifiedserver\r\n' 14:54:29.102780 ReceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1391 ../src/curl -q --trace-ascii log/6/trace1391 --trace-time ftp://127.0.0.1:36077/path/file1391 -o log/6/download1391 -i -D log/6/heads1391 > log/6/stdout1391 2> log/6/stderr1391 ived DATA (on stdin) 14:54:29.102792 > 8 bytes data, server => client 14:54:29.102803 '213 17\r\n' 14:54:29.102849 < 21 bytes data, client => server 14:54:29.102860 'RETR verifiedserver\r\n' 14:54:29.103057 Received DATA (on stdin) 14:54:29.103070 > 29 bytes data, server => client 14:54:29.103082 '150 Binary junk (17 bytes).\r\n' 14:54:29.103628 Received DATA (on stdin) 14:54:29.103642 > 28 bytes data, server => client 14:54:29.103655 '226 File transfer complete\r\n' 14:54:29.150071 < 6 bytes data, client => server 14:54:29.150287 'QUIT\r\n' 14:54:29.150509 Received DATA (on stdin) 14:54:29.150523 > 18 bytes data, server => client 14:54:29.150535 '221 bye bye baby\r\n' 14:54:29.150714 ====> Client disconnect 14:54:29.150871 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.101541 Running IPv4 version 14:54:29.101597 Listening on port 42979 14:54:29.101634 Wrote pid 151758 to log/3/server/ftp_sockdata.pid 14:54:29.101912 Received PING (on stdin) 14:54:29.102012 Received PORT (on stdin) 14:54:29.102369 ====> Client connect 14:54:29.103108 Received DATA (on stdin) 14:54:29.103122 > 17 bytes data, server => client 14:54:29.103134 'WE ROOLZ: 80281\r\n' 14:54:29.103158 Received DISC (on stdin) 14:54:29.103171 ====> Client forcibly disconnected 14:54:29.103329 Received QUIT (on stdin) 14:54:29.103340 quits 14:54:29.103393 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==151887== ==151887== Process terminating with default action of signal 4 (SIGILL) ==151887== Illegal opcode at address 0x4014B6F ==151887== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151887== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151887== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151887== by 0x4004266: main (tool_main.c:199) === End of file valgrind1385 test 1391...[FTP DL, file with C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1391 ../src/curl -q --trace-ascii log/6/trace1391 --trace-time ftp://127.0.0.1:36077/path/file1391 -o log/6/download1391 -i -D log/6/heads1391 > log/6/stdout1391 2> log/6/stderr1391 1391: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1391 ../src/curl -q --trace-ascii log/6/trace1391 --trace-time ftp://127.0.0.1:36077/path/file1391 -o log/6/download1391 -i -D log/6/heads1391 > log/6/stdout1391 2> log/6/stderr1391 === End of file commands.log === Start of file ftp_server.log 14:54:29.062968 ====> Client connect 14:54:29.063126 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.063402 < "USER anonymous" 14:54:29.063438 > "331 We are happy you popped in![CR][LF]" 14:54:29.063657 < "PASS ftp@example.com" 14:54:29.063689 > "230 Welcome you silly person[CR][LF]" 14:54:29.063864 < "PWD" 14:54:29.063896 > "257 "/" is current directory[CR][LF]" 14:54:29.064119 < "EPSV" 14:54:29.064157 ====> Passive DATA channel requested by client 14:54:29.064171 DATA sockfilt for passive data channel starting... 14:54:29.065833 DATA sockfilt for passive data channel started (pid 151881) 14:54:29.065964 DATA sockfilt for passive data channel listens on port 37677 14:54:29.066009 > "229 Entering Passive Mode (|||37677|)[LF]" 14:54:29.066028 Client has been notified that DATA conn will be accepted on port 37677 14:54:29.066277 Client connects to port 37677 14:54:29.066304 ====> Client established passive DATA connection on port 37677 14:54:29.066387 < "TYPE I" 14:54:29.066417 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.066574 < "SIZE verifiedserver" 14:54:29.066609 > "213 17[CR][LF]" 14:54:29.066761 < "RETR verifiedserver" 14:54:29.066793 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.066885 =====> Closing passive DATA connection... 14:54:29.066903 Server disconnects passive DATA connection 14:54:29.067136 Server disconnected passive DATA connection 14:54:29.067163 DATA sockfilt for passive data channel quits (pid 151881) 14:54:29.067350 DATA sockfilt for passive data channel quit (pid 151881) 14:54:29.067375 =====> Closed passive DATA connection 14:54:29.067406 > "226 File transfer complete[CR][LF]" 14:54:29.113766 < "QUIT" 14:54:29.113817 > "221 bye bye baby[CR][LF]" 14:54:29.114675 MAIN sockfilt said DISC 14:54:29.114706 ====> Client disconnected 14:54:29.114778 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.145663 ====> Client connect 14:54:28.145949 Received DATA (on stdin) 14:54:28.145965 > 160 bytes data, server => client 14:54:28.145979 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.145991 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.146003 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.146075 < 16 bytes data, client => server 14:54:28.146088 'USER anonymous\r\n' 14:54:28.146253 Received DATA (on stdin) 14:54:28.146266 > 33 bytes data, server => client 14:54:28.146279 '331 We are happy you popped in!\r\n' 14:54:28.146358 < 22 bytes data, client => server 14:54:28.146381 'PASS ftp@example.com\r\n' 14:54:28.146502 Received DATA (on stdin) 14:54:28.146516 > 30 bytes data, server => client 14:54:28.146527 '230 Welcome you silly person\r\n' 14:54:28.146584 < 5 bytes data, client => server 14:54:28.146598 'PWD\r\n' 14:54:28.146709 Received DATA (on stdin) 14:54:28.146722 > 30 bytes data, server => client 14:54:28.146732 '257 "/" is current directory\r\n' 14:54:28.146810 < 6 bytes data, client => server 14:54:28.147608 'EPSV\r\n' 14:54:28.148848 Received DATA (on stdin) 14:54:28.148864 > 38 bytes data, server => client 14:54:28.148877 '229 Entering Passive Mode (|||37677|)\n' 14:54:28.149006 < 8 bytes data, client => server 14:54:28.149022 'TYPE I\r\n' 14:54:28.149228 Received DATA (on stdin) 14:54:28.149242 > 33 bytes data, server => client 14:54:28.149254 '200 I modify TYPE as you wanted\r\n' 14:54:28.149303 < 21 bytes data, client => server 14:54:28.149315 'SIZE verifiedserver\r\n' 14:54:28.149420 Received DATA (on stdin) 14:54:28.149432 > 8 bytes data, server => client 14:54:28.149444 '213 17\r\n' 14:54:28.149490 < 21 bytes data, client => server 14:54:28.149502 'RETR verifiedserver\r\n' 14:54:28.149718 Received DATA (on stdin) 14:54:28.149731 > 29 bytes data, server => client 14:54:28.149743 '150 Binary junk (17 bytes).\r\n' 14:54:28.150219 Received DATA (on stdin) 14:54:28.150234 > 28 bytes data, server => client 14:54:28.150246 '226 File transfer complete\r\n' 14:54:28.196425 < 6 bytes data, client => server 14:54:28.196450 'QUIT\r\n' 14:54:28.196634 Received DATA (on stdin) 14:54:28.196647 > 18 bytes data, server => client 14:54:28.196659 '221 bye bye baby\r\n' 14:54:28.197437 ====> Client disconnect 14:54:28.198402 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.148465 Running IPv4 version 14:54:29.148524 Listening on port 37677 14:54:29.148558 Wrote pid 151881 to log/6/server/ftp_sockdata.pid 14:54:29.148580 Received PING (on stdin) 14:54:29.148679 Received PORT (on stdin) 14:54:29.149043 ====> Client connect 14:54:29.149770 Received DATA (on stdin) 14:54:29.149784 > 17 bytes data, server => client 14:54:29.149796 'WE ROOLZ: 80241\r\n' 14:54:29.149819 Received DISC (on stdin) 14:54:29.149831 ====> Client forcibly disconnected 14:54:29.149981 Received QUIT (on stdin) 14:54:29.14999CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:32915/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1395 ./unit/units unit1395 - > log/11/stdout1395 2> log/11/stderr1395 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1387 ../src/curl -q --trace-ascii log/23/trace1387 --trace-time ftp://127.0.0.1:39001/path/file1387 -o log/23/download1387 -D log/23/heads1387 > log/23/stdout1387 2> log/23/stderr1387 4 quits 14:54:29.150040 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==152094== ==152094== Process terminating with default action of signal 4 (SIGILL) ==152094== Illegal opcode at address 0x4014B6F ==152094== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152094== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152094== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152094== by 0x4004266: main (tool_main.c:199) === End of file valgrind1391 test 1386...[FTP DL, file with Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:32915/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 1386: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:32915/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 === End of file commands.log === Start of file ftp_server.log 14:54:29.021548 ====> Client connect 14:54:29.021834 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.022061 < "USER anonymous" 14:54:29.022096 > "331 We are happy you popped in![CR][LF]" 14:54:29.022283 < "PASS ftp@example.com" 14:54:29.022316 > "230 Welcome you silly person[CR][LF]" 14:54:29.022493 < "PWD" 14:54:29.022522 > "257 "/" is current directory[CR][LF]" 14:54:29.022660 < "EPSV" 14:54:29.022681 ====> Passive DATA channel requested by client 14:54:29.022692 DATA sockfilt for passive data channel starting... 14:54:29.024489 DATA sockfilt for passive data channel started (pid 151776) 14:54:29.024614 DATA sockfilt for passive data channel listens on port 46353 14:54:29.024658 > "229 Entering Passive Mode (|||46353|)[LF]" 14:54:29.024682 Client has been notified that DATA conn will be accepted on port 46353 14:54:29.024940 Client connects to port 46353 14:54:29.024970 ====> Client established passive DATA connection on port 46353 14:54:29.025057 < "TYPE I" 14:54:29.025090 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.025229 < "SIZE verifiedserver" 14:54:29.025257 > "213 17[CR][LF]" 14:54:29.025377 < "RETR verifiedserver" 14:54:29.025402 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.025486 =====> Closing passive DATA connection... 14:54:29.025503 Server disconnects passive DATA connection 14:54:29.025678 Server disconnected passive DATA connection 14:54:29.025704 DATA sockfilt for passive data channel quits (pid 151776) 14:54:29.025918 DATA sockfilt for passive data channel quit (pid 151776) 14:54:29.025961 =====> Closed passive DATA connection 14:54:29.025999 > "226 File transfer complete[CR][LF]" 14:54:29.070721 < "QUIT" 14:54:29.070792 > "221 bye bye baby[CR][LF]" 14:54:29.071863 MAIN sockfilt said DISC 14:54:29.071894 ====> Client disconnected 14:54:29.071965 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.104267 ====> Client connect 14:54:29.104509 Received DATA (on stdin) 14:54:29.104528 > 160 bytes data, server => client 14:54:29.104557 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.104570 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.104581 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.104731 < 16 bytes data, client => server 14:54:29.104746 'USER anonymous\r\n' 14:54:29.104912 Received DATA (on stdin) 14:54:29.104926 > 33 bytes data, server => client 14:54:29.104938 '331 We are happy you popped in!\r\n' 14:54:29.104993 < 22 bytes data, client => server 14:54:29.105006 'PASS ftp@example.com\r\n' 14:54:29.105131 Received DATA (on stdin) 14:54:29.105145 > 30 bytes data, server => client 14:54:29.105157 '230 Welcome you silly person\r\n' 14:54:29.105212 < 5 bytes data, client => server 14:54:29.105225 'PWD\r\n' 14:54:29.105330 Received DATA (on stdin) 14:54:29.105341 > 30 bytes data, server => client 14:54:29.105350 '257 "/" is current directory\r\n' 14:54:29.105398 < 6 bytes data, client => server 14:54:29.105408 'EPSV\r\n' 14:54:29.107501 Received DATA (on stdin) 14:54:29.107516 > 38 bytes data, server => client 14:54:29.107530 '229 Entering Passive Mode (|||46353|)\n' 14:54:29.107693 < 8 bytes data, client => server 14:54:29.107708 'TYPE I\r\n' 14:54:29.107900 Received DATA (on stdin) 14:54:29.107912 > 33 bytes data, server => client 14:54:29.107922 '200 I modify TYPE as you wanted\r\n' 14:54:29.107966 < 21 bytes data, client => server 14:54:29.107976 'SIZE verifiedserver\r\n' 14:54:29.108063 Received DATA (on stdin) 14:54:29.108073 > 8 bytes data, server => client 14:54:29.108082 '213 17\r\n' 14:54:29.108120 < 21 bytes data, client => server 14:54:29.108129 'RETR verifiedserver\r\n' 14:54:29.108319 Received DATA (on stdin) 14:54:29.108333 > 29 bytes data, server => client 14:54:29.108345 '150 Binary junk (17 bytes).\r\n' 14:54:29.108826 Received DATA (on stdin) 14:54:29.108846 > 28 bytes data, server => client 14:54:29.108858 '226 File transfer complete\r\n' 14:54:29.153317 < 6 bytes data, client => server 14:54:29.153342 'QUIT\r\n' 14:54:29.153614 Received DATA (on stdin) 14:54:29.153628 > 18 bytes data, server => client 14:54:29.153640 '221 bye bye baby\r\n' 14:54:29.154619 ====> Client disconnect 14:54:29.154776 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.106955 Running IPv4 version 14:54:29.107012 Listening on port 46353 14:54:29.107055 Wrote pid 151776 to log/16/server/ftp_sockdata.pid 14:54:29.107236 Received PING (on stdin) 14:54:29.107333 Received PORT (on stdin) 14:54:29.107661 ====> Client connect 14:54:29.108372 Received DATA (on stdin) 14:54:29.108388 > 17 bytes data, server => client 14:54:29.108400 'WE ROOLZ: 80177\r\n' 14:54:29.108425 Received DISC (on stdin) 14:54:29.108438 ====> Client forcibly disconnected 14:54:29.108522 Received QUIT (on stdin) 14:54:29.108532 quits 14:54:29.108589 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==151889== ==151889== Process terminating with default action of signal 4 (SIGILL) ==151889== Illegal opcode at address 0x4014B6F ==151889== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151889== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151889== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151889== by 0x4004266: main (tool_main.c:199) === End of file valgrind1386 test 1395...[Curl_dedotdotify] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1395 ./unit/units unit1395 - > log/11/stdout1395 2> log/11/stderr1395 -------e-v- OK (1313 out of 1725, remaining: 00:30, took 0.708s, duration: 01:38) test 1387...[FTP DL, file with C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1387 ../src/curl -q --trace-ascii log/23/trace1387 --trace-time ftp://127.0.0.1:39001/path/file1387 -o log/23/download1387 -D log/23/heads1387 > log/23/stdout1387 2> log/23/stderr1387 1387: protocoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1388 ../src/curl -q --trace-ascii log/19/trace1388 --trace-time ftp://127.0.0.1:46729/path/file1388 -o log/19/download1388 -D - > log/19/stdout1388 2> log/19/stderr1388 l FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1387 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1387 ../src/curl -q --trace-ascii log/23/trace1387 --trace-time ftp://127.0.0.1:39001/path/file1387 -o log/23/download1387 -D log/23/heads1387 > log/23/stdout1387 2> log/23/stderr1387 === End of file commands.log === Start of file ftp_server.log 14:54:29.036988 ====> Client connect 14:54:29.037135 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.037440 < "USER anonymous" 14:54:29.037474 > "331 We are happy you popped in![CR][LF]" 14:54:29.037636 < "PASS ftp@example.com" 14:54:29.037661 > "230 Welcome you silly person[CR][LF]" 14:54:29.037812 < "PWD" 14:54:29.037839 > "257 "/" is current directory[CR][LF]" 14:54:29.038001 < "EPSV" 14:54:29.038023 ====> Passive DATA channel requested by client 14:54:29.038036 DATA sockfilt for passive data channel starting... 14:54:29.039907 DATA sockfilt for passive data channel started (pid 151840) 14:54:29.040046 DATA sockfilt for passive data channel listens on port 33365 14:54:29.040091 > "229 Entering Passive Mode (|||33365|)[LF]" 14:54:29.040109 Client has been notified that DATA conn will be accepted on port 33365 14:54:29.040402 Client connects to port 33365 14:54:29.040431 ====> Client established passive DATA connection on port 33365 14:54:29.040519 < "TYPE I" 14:54:29.040552 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.040713 < "SIZE verifiedserver" 14:54:29.040747 > "213 17[CR][LF]" 14:54:29.040894 < "RETR verifiedserver" 14:54:29.040924 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.041029 =====> Closing passive DATA connection... 14:54:29.041045 Server disconnects passive DATA connection 14:54:29.041294 Server disconnected passive DATA connection 14:54:29.041323 DATA sockfilt for passive data channel quits (pid 151840) 14:54:29.041637 DATA sockfilt for passive data channel quit (pid 151840) 14:54:29.041661 =====> Closed passive DATA connection 14:54:29.041690 > "226 File transfer complete[CR][LF]" 14:54:29.087248 < "QUIT" 14:54:29.087309 > "221 bye bye baby[CR][LF]" 14:54:29.087555 MAIN sockfilt said DISC 14:54:29.087602 ====> Client disconnected 14:54:29.087671 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.119678 ====> Client connect 14:54:29.119958 Received DATA (on stdin) 14:54:29.119973 > 160 bytes data, server => client 14:54:29.119986 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.119998 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.120009 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.120119 < 16 bytes data, client => server 14:54:29.120132 'USER anonymous\r\n' 14:54:29.120288 Received DATA (on stdin) 14:54:29.120301 > 33 bytes data, server => client 14:54:29.120312 '331 We are happy you popped in!\r\n' 14:54:29.120361 < 22 bytes data, client => server 14:54:29.120373 'PASS ftp@example.com\r\n' 14:54:29.120471 Received DATA (on stdin) 14:54:29.120484 > 30 bytes data, server => client 14:54:29.120495 '230 Welcome you silly person\r\n' 14:54:29.120543 < 5 bytes data, client => server 14:54:29.120554 'PWD\r\n' 14:54:29.120650 Received DATA (on stdin) 14:54:29.120662 > 30 bytes data, server => client 14:54:29.120673 '257 "/" is current directory\r\n' 14:54:29.120730 < 6 bytes data, client => server 14:54:29.120744 'EPSV\r\n' 14:54:29.122930 Received DATA (on stdin) 14:54:29.122947 > 38 bytes data, server => client 14:54:29.122959 '229 Entering Passive Mode (|||33365|)\n' 14:54:29.123158 < 8 bytes data, client => server 14:54:29.123171 'TYPE I\r\n' 14:54:29.123366 Received DATA (on stdin) 14:54:29.123380 > 33 bytes data, server => client 14:54:29.123391 '200 I modify TYPE as you wanted\r\n' 14:54:29.123439 < 21 bytes data, client => server 14:54:29.123451 'SIZE verifiedserver\r\n' 14:54:29.123557 Received DATA (on stdin) 14:54:29.123569 > 8 bytes data, server => client 14:54:29.123580 '213 17\r\n' 14:54:29.123626 < 21 bytes data, client => server 14:54:29.123639 'RETR verifiedserver\r\n' 14:54:29.123857 Received DATA (on stdin) 14:54:29.123870 > 29 bytes data, server => client 14:54:29.123882 '150 Binary junk (17 bytes).\r\n' 14:54:29.124502 Received DATA (on stdin) 14:54:29.124516 > 28 bytes data, server => client 14:54:29.124527 '226 File transfer complete\r\n' 14:54:29.169858 < 6 bytes data, client => server 14:54:29.169890 'QUIT\r\n' 14:54:29.170128 Received DATA (on stdin) 14:54:29.170144 > 18 bytes data, server => client 14:54:29.170156 '221 bye bye baby\r\n' 14:54:29.170296 ====> Client disconnect 14:54:29.170490 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.122498 Running IPv4 version 14:54:29.122577 Listening on port 33365 14:54:29.122626 Wrote pid 151840 to log/23/server/ftp_sockdata.pid 14:54:29.122649 Received PING (on stdin) 14:54:29.122764 Received PORT (on stdin) 14:54:29.123129 ====> Client connect 14:54:29.123907 Received DATA (on stdin) 14:54:29.123921 > 17 bytes data, server => client 14:54:29.123933 'WE ROOLZ: 80287\r\n' 14:54:29.123965 Received DISC (on stdin) 14:54:29.123977 ====> Client forcibly disconnected 14:54:29.124143 Received QUIT (on stdin) 14:54:29.124155 quits 14:54:29.124308 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==151944== ==151944== Process terminating with default action of signal 4 (SIGILL) ==151944== Illegal opcode at address 0x4014B6F ==151944== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151944== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151944== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151944== by 0x4004266: main (tool_main.c:199) === End of file valgrind1387 test 1388...[FTP DL, file with C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1388 ../src/curl -q --trace-ascii log/19/trace1388 --trace-time ftp://127.0.0.1:46729/path/file1388 -o log/19/download1388 -D - > log/19/stdout1388 2> log/19/stderr1388 1388: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1388 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1388 ../src/curl -q --trace-ascii log/19/trace1388 --trace-time ftp://127.0.0.1:46729/path/file1388 -o log/19/download1388 -D - > log/19/stdout1388 2> log/19/stderr1388 === End of file commands.log === Start of file ftp_server.log 14:54:29.042725 ====> Client connect 14:54:29.042876 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.043187 < "USER anonymous" 14:54:29.043230 > "331 We are happy you popped in![CR][LF]" 14:54:29.043425 < "PASS ftp@example.com" 14:54:29.043456 > "230 Welcome you silly person[CR][LF]" 14:54:29.043650 < "PWD" 14:54:29.043682 > "257 "/" is current directory[CR][LF]" 14:54:29.043849 < "EPSV" 14:54:29.043874 ====> Passive DATA channel requested by client 14:54:29.043888 DATA sockfilt for passive data channel starting... 14:54:29.045800 DATA sockfilt for passive data channel started (pid 151848) 14:54:29.0459CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1389 ../src/curl -q --trace-ascii log/24/trace1389 --trace-time ftp://127.0.0.1:42919/path/file1389 -o log/24/download1389 -J -D log/24/heads1389 > log/24/stdout1389 2> log/24/stderr1389 23 DATA sockfilt for passive data channel listens on port 44915 14:54:29.045965 > "229 Entering Passive Mode (|||44915|)[LF]" 14:54:29.045986 Client has been notified that DATA conn will be accepted on port 44915 14:54:29.046232 Client connects to port 44915 14:54:29.046265 ====> Client established passive DATA connection on port 44915 14:54:29.046338 < "TYPE I" 14:54:29.046367 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.046540 < "SIZE verifiedserver" 14:54:29.046575 > "213 17[CR][LF]" 14:54:29.046743 < "RETR verifiedserver" 14:54:29.046777 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.046867 =====> Closing passive DATA connection... 14:54:29.046884 Server disconnects passive DATA connection 14:54:29.047093 Server disconnected passive DATA connection 14:54:29.047141 DATA sockfilt for passive data channel quits (pid 151848) 14:54:29.047463 DATA sockfilt for passive data channel quit (pid 151848) 14:54:29.047505 =====> Closed passive DATA connection 14:54:29.047540 > "226 File transfer complete[CR][LF]" 14:54:29.093738 < "QUIT" 14:54:29.093798 > "221 bye bye baby[CR][LF]" 14:54:29.095088 MAIN sockfilt said DISC 14:54:29.095135 ====> Client disconnected 14:54:29.095206 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.125448 ====> Client connect 14:54:29.125708 Received DATA (on stdin) 14:54:29.125726 > 160 bytes data, server => client 14:54:29.125739 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.125752 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.125763 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.125841 < 16 bytes data, client => server 14:54:29.125857 'USER anonymous\r\n' 14:54:29.126049 Received DATA (on stdin) 14:54:29.126064 > 33 bytes data, server => client 14:54:29.126076 '331 We are happy you popped in!\r\n' 14:54:29.126134 < 22 bytes data, client => server 14:54:29.126148 'PASS ftp@example.com\r\n' 14:54:29.126270 Received DATA (on stdin) 14:54:29.126284 > 30 bytes data, server => client 14:54:29.126296 '230 Welcome you silly person\r\n' 14:54:29.126370 < 5 bytes data, client => server 14:54:29.126385 'PWD\r\n' 14:54:29.126492 Received DATA (on stdin) 14:54:29.126504 > 30 bytes data, server => client 14:54:29.126516 '257 "/" is current directory\r\n' 14:54:29.126576 < 6 bytes data, client => server 14:54:29.126589 'EPSV\r\n' 14:54:29.128807 Received DATA (on stdin) 14:54:29.128823 > 38 bytes data, server => client 14:54:29.128836 '229 Entering Passive Mode (|||44915|)\n' 14:54:29.128958 < 8 bytes data, client => server 14:54:29.128974 'TYPE I\r\n' 14:54:29.129182 Received DATA (on stdin) 14:54:29.129197 > 33 bytes data, server => client 14:54:29.129209 '200 I modify TYPE as you wanted\r\n' 14:54:29.129262 < 21 bytes data, client => server 14:54:29.129275 'SIZE verifiedserver\r\n' 14:54:29.129387 Received DATA (on stdin) 14:54:29.129401 > 8 bytes data, server => client 14:54:29.129412 '213 17\r\n' 14:54:29.129463 < 21 bytes data, client => server 14:54:29.129476 'RETR verifiedserver\r\n' 14:54:29.129789 Received DATA (on stdin) 14:54:29.129802 > 29 bytes data, server => client 14:54:29.129814 '150 Binary junk (17 bytes).\r\n' 14:54:29.130356 Received DATA (on stdin) 14:54:29.130371 > 28 bytes data, server => client 14:54:29.130384 '226 File transfer complete\r\n' 14:54:29.173216 < 6 bytes data, client => server 14:54:29.173239 'QUIT\r\n' 14:54:29.176622 Received DATA (on stdin) 14:54:29.176642 > 18 bytes data, server => client 14:54:29.176654 '221 bye bye baby\r\n' 14:54:29.177829 ====> Client disconnect 14:54:29.178021 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.128293 Running IPv4 version 14:54:29.128345 Listening on port 44915 14:54:29.128383 Wrote pid 151848 to log/19/server/ftp_sockdata.pid 14:54:29.128403 Received PING (on stdin) 14:54:29.128644 Received PORT (on stdin) 14:54:29.128995 ====> Client connect 14:54:29.129699 Received DATA (on stdin) 14:54:29.129713 > 17 bytes data, server => client 14:54:29.129724 'WE ROOLZ: 80256\r\n' 14:54:29.129750 Received DISC (on stdin) 14:54:29.129763 ====> Client forcibly disconnected 14:54:29.129971 Received QUIT (on stdin) 14:54:29.129988 quits 14:54:29.130054 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==151975== ==151975== Process terminating with default action of signal 4 (SIGILL) ==151975== Illegal opcode at address 0x4014B6F ==151975== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151975== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151975== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151975== by 0x4004266: main (tool_main.c:199) === End of file valgrind1388 test 1389...[FTP DL, file with C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1389 ../src/curl -q --trace-ascii log/24/trace1389 --trace-time ftp://127.0.0.1:42919/path/file1389 -o log/24/download1389 -J -D log/24/heads1389 > log/24/stdout1389 2> log/24/stderr1389 1389: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1389 ../src/curl -q --trace-ascii log/24/trace1389 --trace-time ftp://127.0.0.1:42919/path/file1389 -o log/24/download1389 -J -D log/24/heads1389 > log/24/stdout1389 2> log/24/stderr1389 === End of file commands.log === Start of file ftp_server.log 14:54:29.040382 ====> Client connect 14:54:29.040520 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.040810 < "USER anonymous" 14:54:29.040856 > "331 We are happy you popped in![CR][LF]" 14:54:29.041043 < "PASS ftp@example.com" 14:54:29.041073 > "230 Welcome you silly person[CR][LF]" 14:54:29.041232 < "PWD" 14:54:29.041262 > "257 "/" is current directory[CR][LF]" 14:54:29.041422 < "EPSV" 14:54:29.041449 ====> Passive DATA channel requested by client 14:54:29.041463 DATA sockfilt for passive data channel starting... 14:54:29.043241 DATA sockfilt for passive data channel started (pid 151845) 14:54:29.043346 DATA sockfilt for passive data channel listens on port 38483 14:54:29.043383 > "229 Entering Passive Mode (|||38483|)[LF]" 14:54:29.043401 Client has been notified that DATA conn will be accepted on port 38483 14:54:29.043635 Client connects to port 38483 14:54:29.043662 ====> Client established passive DATA connection on port 38483 14:54:29.043738 < "TYPE I" 14:54:29.043766 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.043967 < "SIZE verifiedserver" 14:54:29.044026 > "213 17[CR][LF]" 14:54:29.044165 < "RETR verifiedserver" 14:54:29.044204 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.044285 =====> Closing passive DATA connection... 14:54:29.044299 Server disconnects passive DATA connection 14:54:29.044444 Server disconnected passive DATA connection 14:54:29.044478 DATA sockfilt for passive data channel quits (pid 151845) 14:54:29.044742 DATA sockfilt for passive data channel quit (pid 151845) 14:54:29.044764 =====> Closed passive DATA connection 14:54:29.044795 > "226 File transfer complete[CR][LF]" 14:54:29.087248 < "QUIT" 14:54:29.087307 > "221 bye bye baby[CR][LF]" 14:54:29.088268 MAIN sockfilt said DISC 14:54:29.088315 ====> Client disconnected 14:54:29.088384 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.123099 ====> Client connect 14:54:29.123349 Received DATA (on stdin) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:37027/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 14:54:29.123367 > 160 bytes data, server => client 14:54:29.123382 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.123394 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.123406 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.123479 < 16 bytes data, client => server 14:54:29.123494 'USER anonymous\r\n' 14:54:29.123673 Received DATA (on stdin) 14:54:29.123688 > 33 bytes data, server => client 14:54:29.123700 '331 We are happy you popped in!\r\n' 14:54:29.123755 < 22 bytes data, client => server 14:54:29.123768 'PASS ftp@example.com\r\n' 14:54:29.123885 Received DATA (on stdin) 14:54:29.123899 > 30 bytes data, server => client 14:54:29.123910 '230 Welcome you silly person\r\n' 14:54:29.123958 < 5 bytes data, client => server 14:54:29.123971 'PWD\r\n' 14:54:29.124072 Received DATA (on stdin) 14:54:29.124084 > 30 bytes data, server => client 14:54:29.124096 '257 "/" is current directory\r\n' 14:54:29.124151 < 6 bytes data, client => server 14:54:29.124164 'EPSV\r\n' 14:54:29.126214 Received DATA (on stdin) 14:54:29.126228 > 38 bytes data, server => client 14:54:29.126241 '229 Entering Passive Mode (|||38483|)\n' 14:54:29.126391 < 8 bytes data, client => server 14:54:29.126403 'TYPE I\r\n' 14:54:29.126577 Received DATA (on stdin) 14:54:29.126589 > 33 bytes data, server => client 14:54:29.126601 '200 I modify TYPE as you wanted\r\n' 14:54:29.126648 < 21 bytes data, client => server 14:54:29.126660 'SIZE verifiedserver\r\n' 14:54:29.126818 Received DATA (on stdin) 14:54:29.126829 > 8 bytes data, server => client 14:54:29.126840 '213 17\r\n' 14:54:29.126882 < 21 bytes data, client => server 14:54:29.126893 'RETR verifiedserver\r\n' 14:54:29.127110 Received DATA (on stdin) 14:54:29.127123 > 29 bytes data, server => client 14:54:29.127133 '150 Binary junk (17 bytes).\r\n' 14:54:29.127615 Received DATA (on stdin) 14:54:29.127634 > 28 bytes data, server => client 14:54:29.127647 '226 File transfer complete\r\n' 14:54:29.169878 < 6 bytes data, client => server 14:54:29.169904 'QUIT\r\n' 14:54:29.170127 Received DATA (on stdin) 14:54:29.170142 > 18 bytes data, server => client 14:54:29.170153 '221 bye bye baby\r\n' 14:54:29.171009 ====> Client disconnect 14:54:29.171201 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.125852 Running IPv4 version 14:54:29.125903 Listening on port 38483 14:54:29.125938 Wrote pid 151845 to log/24/server/ftp_sockdata.pid 14:54:29.125988 Received PING (on stdin) 14:54:29.126077 Received PORT (on stdin) 14:54:29.126362 ====> Client connect 14:54:29.127159 Received DATA (on stdin) 14:54:29.127173 > 17 bytes data, server => client 14:54:29.127184 'WE ROOLZ: 80263\r\n' 14:54:29.127208 Received DISC (on stdin) 14:54:29.127219 ====> Client forcibly disconnected 14:54:29.127317 Received QUIT (on stdin) 14:54:29.127330 quits 14:54:29.127382 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==151946== ==151946== Process terminating with default action of signal 4 (SIGILL) ==151946== Illegal opcode at address 0x4014B6F ==151946== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==151946== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==151946== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==151946== by 0x4004266: main (tool_main.c:199) === End of file valgrind1389 test 1390...[FTP DL, file with C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:37027/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 1390: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:37027/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 === End of file commands.log === Start of file ftp_server.log 14:54:29.059206 ====> Client connect 14:54:29.059376 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.059673 < "USER anonymous" 14:54:29.059712 > "331 We are happy you popped in![CR][LF]" 14:54:29.059887 < "PASS ftp@example.com" 14:54:29.059914 > "230 Welcome you silly person[CR][LF]" 14:54:29.060072 < "PWD" 14:54:29.060101 > "257 "/" is current directory[CR][LF]" 14:54:29.060386 < "EPSV" 14:54:29.060411 ====> Passive DATA channel requested by client 14:54:29.060426 DATA sockfilt for passive data channel starting... 14:54:29.062180 DATA sockfilt for passive data channel started (pid 151879) 14:54:29.062303 DATA sockfilt for passive data channel listens on port 36697 14:54:29.062350 > "229 Entering Passive Mode (|||36697|)[LF]" 14:54:29.062375 Client has been notified that DATA conn will be accepted on port 36697 14:54:29.062621 Client connects to port 36697 14:54:29.062653 ====> Client established passive DATA connection on port 36697 14:54:29.062733 < "TYPE I" 14:54:29.062765 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.062951 < "SIZE verifiedserver" 14:54:29.062992 > "213 17[CR][LF]" 14:54:29.063171 < "RETR verifiedserver" 14:54:29.063207 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.063298 =====> Closing passive DATA connection... 14:54:29.063320 Server disconnects passive DATA connection 14:54:29.063579 Server disconnected passive DATA connection 14:54:29.063612 DATA sockfilt for passive data channel quits (pid 151879) 14:54:29.063856 DATA sockfilt for passive data channel quit (pid 151879) 14:54:29.063880 =====> Closed passive DATA connection 14:54:29.063909 > "226 File transfer complete[CR][LF]" 14:54:29.107460 < "QUIT" 14:54:29.107514 > "221 bye bye baby[CR][LF]" 14:54:29.108061 MAIN sockfilt said DISC 14:54:29.108088 ====> Client disconnected 14:54:29.108234 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:29.141902 ====> Client connect 14:54:29.142200 Received DATA (on stdin) 14:54:29.142215 > 160 bytes data, server => client 14:54:29.142229 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:29.142241 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:29.142252 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:29.142331 < 16 bytes data, client => server 14:54:29.142346 'USER anonymous\r\n' 14:54:29.142528 Received DATA (on stdin) 14:54:29.142542 > 33 bytes data, server => client 14:54:29.142554 '331 We are happy you popped in!\r\n' 14:54:29.142608 < 22 bytes data, client => server 14:54:29.142621 'PASS ftp@example.com\r\n' 14:54:29.142726 Received DATA (on stdin) 14:54:29.142738 > 30 bytes data, server => client 14:54:29.142751 '230 Welcome you silly person\r\n' 14:54:29.142799 < 5 bytes data, client => server 14:54:29.142811 'PWD\r\n' 14:54:29.142913 Received DATA (on stdin) 14:54:29.142926 > 30 bytes data, server => client 14:54:29.142938 '257 "/" is current directory\r\n' 14:54:29.143107 < 6 bytes data, client => server 14:54:29.143122 'EPSV\r\n' 14:54:29.145195 Received DATA (on stdin) 14:54:29.145211 > 38 bytes data, server => client 14:54:29.145224 '229 Entering Passive Mode (|||36697|)\n' 14:54:29.145342 < 8 bytes data, client => server 14:54:29.145361 'TYPE I\r\n' 14:54:29.145580 Received DATA (on stdin) 14:54:29.145595 > 33 bytes data, server => client 14:54:29.145608 '200 I modify TYPE CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1397 ./unit/units unit1397 - > log/10/stdout1397 2> log/10/stderr1397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1393 ../src/curl -q --trace-ascii log/1/trace1393 --trace-time ftp://127.0.0.1:43113/path/file1393 -o log/1/download1393 -i > log/1/stdout1393 2> log/1/stderr1393 as you wanted\r\n' 14:54:29.145668 < 21 bytes data, client => server 14:54:29.145682 'SIZE verifiedserver\r\n' 14:54:29.145807 Received DATA (on stdin) 14:54:29.145823 > 8 bytes data, server => client 14:54:29.145835 '213 17\r\n' 14:54:29.145889 < 21 bytes data, client => server 14:54:29.145903 'RETR verifiedserver\r\n' 14:54:29.146135 Received DATA (on stdin) 14:54:29.146150 > 29 bytes data, server => client 14:54:29.146162 '150 Binary junk (17 bytes).\r\n' 14:54:29.146724 Received DATA (on stdin) 14:54:29.146739 > 28 bytes data, server => client 14:54:29.146751 '226 File transfer complete\r\n' 14:54:29.190079 < 6 bytes data, client => server 14:54:29.190107 'QUIT\r\n' 14:54:29.190330 Received DATA (on stdin) 14:54:29.190344 > 18 bytes data, server => client 14:54:29.190356 '221 bye bye baby\r\n' 14:54:29.190822 ====> Client disconnect 14:54:29.190937 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.144808 Running IPv4 version 14:54:29.144866 Listening on port 36697 14:54:29.144908 Wrote pid 151879 to log/9/server/ftp_sockdata.pid 14:54:29.144931 Received PING (on stdin) 14:54:29.145024 Received PORT (on stdin) 14:54:29.145385 ====> Client connect 14:54:29.146192 Received DATA (on stdin) 14:54:29.146207 > 17 bytes data, server => client 14:54:29.146219 'WE ROOLZ: 80262\r\n' 14:54:29.146245 Received DISC (on stdin) 14:54:29.146258 ====> Client forcibly disconnected 14:54:29.146438 Received QUIT (on stdin) 14:54:29.146452 quits 14:54:29.146522 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==152041== ==152041== Process terminating with default action of signal 4 (SIGILL) ==152041== Illegal opcode at address 0x4014B6F ==152041== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152041== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152041== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152041== by 0x4004266: main (tool_main.c:199) === End of file valgrind1390 test 1397...[Curl_cert_hostcheck unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1397 ./unit/units unit1397 - > log/10/stdout1397 2> log/10/stderr1397 -------e-v- OK (1315 out of 1725, remaining: 00:30, took 0.657s, duration: 01:38) test 1393...[FTP DL, file with C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1393 ../src/curl -q --trace-ascii log/1/trace1393 --trace-time ftp://127.0.0.1:43113/path/file1393 -o log/1/download1393 -i > log/1/stdout1393 2> log/1/stderr1393 1393: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1393 ../src/curl -q --trace-ascii log/1/trace1393 --trace-time ftp://127.0.0.1:43113/path/file1393 -o log/1/download1393 -i > log/1/stdout1393 2> log/1/stderr1393 === End of file commands.log === Start of file ftp_server.log 14:54:29.131534 ====> Client connect 14:54:29.131675 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.132061 < "USER anonymous" 14:54:29.132092 > "331 We are happy you popped in![CR][LF]" 14:54:29.132242 < "PASS ftp@example.com" 14:54:29.132265 > "230 Welcome you silly person[CR][LF]" 14:54:29.132403 < "PWD" 14:54:29.132429 > "257 "/" is current directory[CR][LF]" 14:54:29.132575 < "EPSV" 14:54:29.132599 ====> Passive DATA channel requested by client 14:54:29.132613 DATA sockfilt for passive data channel starting... 14:54:29.134496 DATA sockfilt for passive data channel started (pid 152114) 14:54:29.134649 DATA sockfilt for passive data channel listens on port 42085 14:54:29.134698 > "229 Entering Passive Mode (|||42085|)[LF]" 14:54:29.134720 Client has been notified that DATA conn will be accepted on port 42085 14:54:29.135355 Client connects to port 42085 14:54:29.135388 ====> Client established passive DATA connection on port 42085 14:54:29.135484 < "TYPE I" 14:54:29.135519 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.135695 < "SIZE verifiedserver" 14:54:29.135733 > "213 17[CR][LF]" 14:54:29.136450 < "RETR verifiedserver" 14:54:29.136489 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.136582 =====> Closing passive DATA connection... 14:54:29.136599 Server disconnects passive DATA connection 14:54:29.136853 Server disconnected passive DATA connection 14:54:29.136889 DATA sockfilt for passive data channel quits (pid 152114) 14:54:29.137148 DATA sockfilt for passive data channel quit (pid 152114) 14:54:29.137172 =====> Closed passive DATA connection 14:54:29.137201 > "226 File transfer complete[CR][LF]" 14:54:29.177560 < "QUIT" 14:54:29.177618 > "221 bye bye baby[CR][LF]" 14:54:29.178491 MAIN sockfilt said DISC 14:54:29.178523 ====> Client disconnected 14:54:29.178597 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.214252 ====> Client connect 14:54:28.214624 Received DATA (on stdin) 14:54:28.214640 > 160 bytes data, server => client 14:54:28.214652 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.214664 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.214674 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.214743 < 16 bytes data, client => server 14:54:28.214755 'USER anonymous\r\n' 14:54:28.214904 Received DATA (on stdin) 14:54:28.214917 > 33 bytes data, server => client 14:54:28.214927 '331 We are happy you popped in!\r\n' 14:54:28.214973 < 22 bytes data, client => server 14:54:28.214984 'PASS ftp@example.com\r\n' 14:54:28.215075 Received DATA (on stdin) 14:54:28.215087 > 30 bytes data, server => client 14:54:28.215098 '230 Welcome you silly person\r\n' 14:54:28.215139 < 5 bytes data, client => server 14:54:28.215149 'PWD\r\n' 14:54:28.215239 Received DATA (on stdin) 14:54:28.215250 > 30 bytes data, server => client 14:54:28.215261 '257 "/" is current directory\r\n' 14:54:28.215310 < 6 bytes data, client => server 14:54:28.215322 'EPSV\r\n' 14:54:28.217867 Received DATA (on stdin) 14:54:28.217892 > 38 bytes data, server => client 14:54:28.217905 '229 Entering Passive Mode (|||42085|)\n' 14:54:28.218076 < 8 bytes data, client => server 14:54:28.218094 'TYPE I\r\n' 14:54:28.218334 Received DATA (on stdin) 14:54:28.218351 > 33 bytes data, server => client 14:54:28.218363 '200 I modify TYPE as you wanted\r\n' 14:54:28.218420 < 21 bytes data, client => server 14:54:28.218433 'SIZE verifiedserver\r\n' 14:54:28.219079 Received DATA (on stdin) 14:54:28.219099 > 8 bytes data, server => client 14:54:28.219112 '213 17\r\n' 14:54:28.219167 < 21 bytes data, client => server 14:54:28.219179 'RETR verifiedserver\r\n' 14:54:28.219415 Received DATA (on stdin) 14:54:28.219428 > 29 bytes data, server => client 14:54:28.219440 '150 Binary junk (17 bytes).\r\n' 14:54:28.220015 Received DATA (on stdin) 14:54:28.220030 > 28 bytes data, server => client 14:54:28.220042 '226 File transfer complete\r\n' 14:54:28.260135 < 6 bytes data, client => server 14:54:28.260177 'QUIT\r\n' 14:54:28.260435 Received DATA (on stdin) 14:54:28.260447 > 18 bytes data, server => client 14:54:28.260459 '221 bye bye baby\r\n' 14:54:28.261249 ====> Client disconnect 14:54:28.261408 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.217031 Running IPv4 version 14:54:29.217090 Listening on portCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1398 ./unit/units unit1398 - > log/12/stdout1398 2> log/12/stderr1398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:37495/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 42085 14:54:29.217131 Wrote pid 152114 to log/1/server/ftp_sockdata.pid 14:54:29.217226 Received PING (on stdin) 14:54:29.217358 Received PORT (on stdin) 14:54:29.218116 ====> Client connect 14:54:29.219469 Received DATA (on stdin) 14:54:29.219484 > 17 bytes data, server => client 14:54:29.219496 'WE ROOLZ: 80194\r\n' 14:54:29.219521 Received DISC (on stdin) 14:54:29.219533 ====> Client forcibly disconnected 14:54:29.219710 Received QUIT (on stdin) 14:54:29.219724 quits 14:54:29.219796 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==152301== ==152301== Process terminating with default action of signal 4 (SIGILL) ==152301== Illegal opcode at address 0x4014B6F ==152301== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152301== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152301== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152301== by 0x4004266: main (tool_main.c:199) === End of file valgrind1393 test 1398...[curl_msnprintf unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1398 ./unit/units unit1398 - > log/12/stdout1398 2> log/12/stderr1398 units returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/12/ dir after test 1398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1398 ./unit/units unit1398 - > log/12/stdout1398 2> log/12/stderr1398 === End of file commands.log === Start of file server.cmd Testnum 1398 === End of file server.cmd === Start of file stderr1398 URL: - === End of file stderr1398 === Start of file valgrind1398 ==152505== ==152505== Process terminating with default action of signal 4 (SIGILL) ==152505== Illegal opcode at address 0x400E1CD ==152505== at 0x400E1CD: test_unit1398.lto_priv.0 (unit1398.c:87) ==152505== by 0x400A18F: main (first.c:281) === End of file valgrind1398 test 1392...[FTP DL, file with C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:37495/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 1392: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:37495/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 === End of file commands.log === Start of file ftp_server.log 14:54:29.114981 ====> Client connect 14:54:29.115111 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.115368 < "USER anonymous" 14:54:29.115401 > "331 We are happy you popped in![CR][LF]" 14:54:29.115556 < "PASS ftp@example.com" 14:54:29.115579 > "230 Welcome you silly person[CR][LF]" 14:54:29.115723 < "PWD" 14:54:29.115750 > "257 "/" is current directory[CR][LF]" 14:54:29.115902 < "EPSV" 14:54:29.115927 ====> Passive DATA channel requested by client 14:54:29.115940 DATA sockfilt for passive data channel starting... 14:54:29.118596 DATA sockfilt for passive data channel started (pid 151997) 14:54:29.118728 DATA sockfilt for passive data channel listens on port 33225 14:54:29.118774 > "229 Entering Passive Mode (|||33225|)[LF]" 14:54:29.118795 Client has been notified that DATA conn will be accepted on port 33225 14:54:29.119073 Client connects to port 33225 14:54:29.119101 ====> Client established passive DATA connection on port 33225 14:54:29.119193 < "TYPE I" 14:54:29.119225 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.119394 < "SIZE verifiedserver" 14:54:29.119428 > "213 17[CR][LF]" 14:54:29.119587 < "RETR verifiedserver" 14:54:29.119621 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.119701 =====> Closing passive DATA connection... 14:54:29.119718 Server disconnects passive DATA connection 14:54:29.119960 Server disconnected passive DATA connection 14:54:29.119989 DATA sockfilt for passive data channel quits (pid 151997) 14:54:29.120599 DATA sockfilt for passive data channel quit (pid 151997) 14:54:29.120628 =====> Closed passive DATA connection 14:54:29.120656 > "226 File transfer complete[CR][LF]" 14:54:29.161301 < "QUIT" 14:54:29.161359 > "221 bye bye baby[CR][LF]" 14:54:29.162590 MAIN sockfilt said DISC 14:54:29.162624 ====> Client disconnected 14:54:29.162701 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:28.197702 ====> Client connect 14:54:28.197932 Received DATA (on stdin) 14:54:28.197948 > 160 bytes data, server => client 14:54:28.197960 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:28.197973 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:28.197983 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:28.198050 < 16 bytes data, client => server 14:54:28.198063 'USER anonymous\r\n' 14:54:28.198213 Received DATA (on stdin) 14:54:28.198225 > 33 bytes data, server => client 14:54:28.198236 '331 We are happy you popped in!\r\n' 14:54:28.198285 < 22 bytes data, client => server 14:54:28.198297 'PASS ftp@example.com\r\n' 14:54:28.198388 Received DATA (on stdin) 14:54:28.198400 > 30 bytes data, server => client 14:54:28.198410 '230 Welcome you silly person\r\n' 14:54:28.198456 < 5 bytes data, client => server 14:54:28.198468 'PWD\r\n' 14:54:28.198559 Received DATA (on stdin) 14:54:28.198571 > 30 bytes data, server => client 14:54:28.198581 '257 "/" is current directory\r\n' 14:54:28.198634 < 6 bytes data, client => server 14:54:28.198646 'EPSV\r\n' 14:54:28.201618 Received DATA (on stdin) 14:54:28.201637 > 38 bytes data, server => client 14:54:28.201650 '229 Entering Passive Mode (|||33225|)\n' 14:54:28.201796 < 8 bytes data, client => server 14:54:28.201812 'TYPE I\r\n' 14:54:28.202039 Received DATA (on stdin) 14:54:28.202053 > 33 bytes data, server => client 14:54:28.202066 '200 I modify TYPE as you wanted\r\n' 14:54:28.202119 < 21 bytes data, client => server 14:54:28.202132 'SIZE verifiedserver\r\n' 14:54:28.202240 Received DATA (on stdin) 14:54:28.202253 > 8 bytes data, server => client 14:54:28.202265 '213 17\r\n' 14:54:28.202314 < 21 bytes data, client => server 14:54:28.202327 'RETR verifiedserver\r\n' 14:54:28.202621 Received DATA (on stdin) 14:54:28.202636 > 29 bytes data, server => client 14:54:28.202648 '150 Binary junk (17 bytes).\r\n' 14:54:28.203470 Received DATA (on stdin) 14:54:28.203485 > 28 bytes data, server => client 14:54:28.203497 '226 File transfer complete\r\n' 14:54:28.243906 < 6 bytes data, client => server 14:54:28.243939 'QUIT\r\n' 14:54:28.244178 Received DATA (on stdin) 14:54:28.244194 > 18 bytes data, server => client 14:54:28.244207 '221 bye bye baby\r\n' 14:54:28.244945 ====> Client disconnect 14:54:28.245515 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.200605 Running IPv4 version 14:54:29.200664 Listening on port 33225 14:54:29.200704 Wrote pid 151997 to log/7/server/ftp_sockdata.pid 14:54:29.201342 Received PING (on stdin) 14:54:29.201442 Received PORT (on stdin) 14:54:29.201835 ====> Client connect 14:54:29.202530 Received DATA (on stdin) 14:54:29.202545 >CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1399 ./unit/units unit1399 - > log/18/stdout1399 2> log/18/stderr1399 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1396 ./unit/units unit1396 - > log/13/stdout1396 2> log/13/stderr1396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1401 ../src/curl -q --output log/4/curl1401.out --include --trace-ascii log/4/trace1401 --trace-time http://127.0.0.1:39793/we/want/1401 --libcurl log/4/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/4/stdout1401 2> log/4/stderr1401 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1402 ../src/curl -q --output log/22/curl1402.out --include --trace-ascii log/22/trace1402 --trace-time http://127.0.0.1:42027/we/want/1402 --libcurl log/22/test1402.c -d "foo=bar" -d "baz=quux" > log/22/stdout1402 2> log/22/stderr1402 17 bytes data, server => client 14:54:29.202557 'WE ROOLZ: 80245\r\n' 14:54:29.202584 Received DISC (on stdin) 14:54:29.202597 ====> Client forcibly disconnected 14:54:29.202808 Received QUIT (on stdin) 14:54:29.202822 quits 14:54:29.202876 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==152344== ==152344== Process terminating with default action of signal 4 (SIGILL) ==152344== Illegal opcode at address 0x4014B6F ==152344== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152344== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152344== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152344== by 0x4004266: main (tool_main.c:199) === End of file valgrind1392 test 1399...[Curl_pgrsTime unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1399 ./unit/units unit1399 - > log/18/stdout1399 2> log/18/stderr1399 -------e-v- OK (1317 out of 1725, remaining: 00:30, took 0.653s, duration: 01:39) test 1396...[curl_easy_escape and curl_easy_unescape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1396 ./unit/units unit1396 - > log/13/stdout1396 2> log/13/stderr1396 units returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/13/ dir after test 1396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1396 ./unit/units unit1396 - > log/13/stdout1396 2> log/13/stderr1396 === End of file commands.log === Start of file server.cmd Testnum 1396 === End of file server.cmd === Start of file stderr1396 URL: - === End of file stderr1396 === Start of file valgrind1396 ==152419== ==152419== Process terminating with default action of signal 4 (SIGILL) ==152419== Illegal opcode at address 0x407BE33 ==152419== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==152419== by 0x407BE33: UnknownInlinedFun (request.c:46) ==152419== by 0x407BE33: Curl_open (url.c:551) ==152419== by 0x403D9A5: curl_easy_init (easy.c:372) ==152419== by 0x402F910: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==152419== by 0x400A18F: main (first.c:281) ==152419== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==152419== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==152419== by 0x407BD83: Curl_open (url.c:530) ==152419== by 0x403D9A5: curl_easy_init (easy.c:372) ==152419== by 0x402F910: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==152419== by 0x400A18F: main (first.c:281) ==152419== === End of file valgrind1396 test 1401...[--libcurl for GET with various options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1401 ../src/curl -q --output log/4/curl1401.out --include --trace-ascii log/4/trace1401 --trace-time http://127.0.0.1:39793/we/want/1401 --libcurl log/4/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/4/stdout1401 2> log/4/stderr1401 1401: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1401 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1401 ../src/curl -q --output log/4/curl1401.out --include --trace-ascii log/4/trace1401 --trace-time http://127.0.0.1:39793/we/want/1401 --libcurl log/4/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/4/stdout1401 2> log/4/stderr1401 === End of file commands.log === Start of file http_server.log 14:54:29.849461 ====> Client connect 14:54:29.849493 accept_connection 3 returned 4 14:54:29.849511 accept_connection 3 returned 0 14:54:29.849526 Read 93 bytes 14:54:29.849538 Process 93 bytes request 14:54:29.849551 Got request: GET /verifiedserver HTTP/1.1 14:54:29.849562 Are-we-friendly question received 14:54:29.849590 Wrote request (93 bytes) input to log/4/server.input 14:54:29.849610 Identifying ourselves as friends 14:54:29.849741 Response sent (56 bytes) and written to log/4/server.response 14:54:29.849756 special request received, no persistency 14:54:29.849768 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 47238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1401 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1401 ==152677== ==152677== Process terminating with default action of signal 4 (SIGILL) ==152677== Illegal opcode at address 0x4014B6F ==152677== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152677== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152677== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152677== by 0x4004266: main (tool_main.c:199) === End of file valgrind1401 test 1402...[--libcurl for simple POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1402 ../src/curl -q --output log/22/curl1402.out --include --trace-ascii log/22/trace1402 --trace-time http://127.0.0.1:42027/we/want/1402 --libcurl log/22/test1402.c -d "foo=bar" -d "baz=quux" > log/22/stdout1402 2> log/22/stderr1402 1402: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1402 ../src/curl -q --output log/22/curl1402.out --include --trace-ascii log/22/trace1402 --trace-time http://127.0.0.1:42027/we/want/1402 --libcurl log/22/test1402.c -d "foo=bar" -d "baz=quux" > log/22/stdout1402 2> log/22/stderr1402 === End of file commands.log === Start of file http_server.log 14:54:29.859696 ====> Client connect 14:54:29.859744 accept_connection 3 returned 4 14:54:29.859763 accept_connection 3 returned 0 14:54:29.859780 Read 93 bytes 14:54:29.859792 Process 93 bytes request 14:54:29.859808 Got request: GET /verifiedserver HTTP/1.1 14:54:29.859820 Are-we-friendly question received 14:54:29.859852 Wrote request (93 bytes) input to log/22/server.input 14:54:29.859872 Identifying ourselves as friends 14:54:29.859936 Response sent (56 bytes) and written to log/22/server.response 14:54:29.859949 special request received, no persistency 14:54:29.859960 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 33820 * using HTTP/1.x > GCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1400 ../src/curl -q --output log/8/curl1400.out --include --trace-ascii log/8/trace1400 --trace-time http://127.0.0.1:37085/we/want/1400 --libcurl log/8/test1400.c > log/8/stdout1400 2> log/8/stderr1400 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1403 ../src/curl -q --output log/14/curl1403.out --include --trace-ascii log/14/trace1403 --trace-time http://127.0.0.1:46043/we/want/1403 --libcurl log/14/test1403.c -G -d "foo=bar" -d "baz=quux" > log/14/stdout1403 2> log/14/stderr1403 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1404 ../src/curl -q --output log/15/curl1404.out --include --trace-ascii log/15/trace1404 --trace-time http://127.0.0.1:42107/we/want/1404 -F name=value -F 'file=@log/15/test1404.txt,log/15/test1404.txt;type=magic/content;encoder=8bit,log/15/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/15/test1404.c > log/15/stdout1404 2> log/15/stderr1404 ET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1402 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind1402 ==152706== ==152706== Process terminating with default action of signal 4 (SIGILL) ==152706== Illegal opcode at address 0x4014B6F ==152706== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152706== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152706== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152706== by 0x4004266: main (tool_main.c:199) === End of file valgrind1402 test 1400...[--libcurl for simple HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1400 ../src/curl -q --output log/8/curl1400.out --include --trace-ascii log/8/trace1400 --trace-time http://127.0.0.1:37085/we/want/1400 --libcurl log/8/test1400.c > log/8/stdout1400 2> log/8/stderr1400 1400: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1400 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1400 ../src/curl -q --output log/8/curl1400.out --include --trace-ascii log/8/trace1400 --trace-time http://127.0.0.1:37085/we/want/1400 --libcurl log/8/test1400.c > log/8/stdout1400 2> log/8/stderr1400 === End of file commands.log === Start of file http_server.log 14:54:28.845424 ====> Client connect 14:54:28.845461 accept_connection 3 returned 4 14:54:28.845479 accept_connection 3 returned 0 14:54:28.845495 Read 93 bytes 14:54:28.845506 Process 93 bytes request 14:54:28.845521 Got request: GET /verifiedserver HTTP/1.1 14:54:28.845691 Are-we-friendly question received 14:54:28.845721 Wrote request (93 bytes) input to log/8/server.input 14:54:28.845740 Identifying ourselves as friends 14:54:28.845797 Response sent (56 bytes) and written to log/8/server.response 14:54:28.845808 special request received, no persistency 14:54:28.845818 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 58732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1400 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1400 ==152672== ==152672== Process terminating with default action of signal 4 (SIGILL) ==152672== Illegal opcode at address 0x4014B6F ==152672== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152672== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152672== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152672== by 0x4004266: main (tool_main.c:199) === End of file valgrind1400 test 1403...[--libcurl for GET with query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1403 ../src/curl -q --output log/14/curl1403.out --include --trace-ascii log/14/trace1403 --trace-time http://127.0.0.1:46043/we/want/1403 --libcurl log/14/test1403.c -G -d "foo=bar" -d "baz=quux" > log/14/stdout1403 2> log/14/stderr1403 1403: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1403 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1403 ../src/curl -q --output log/14/curl1403.out --include --trace-ascii log/14/trace1403 --trace-time http://127.0.0.1:46043/we/want/1403 --libcurl log/14/test1403.c -G -d "foo=bar" -d "baz=quux" > log/14/stdout1403 2> log/14/stderr1403 === End of file commands.log === Start of file http_server.log 14:54:29.885925 ====> Client connect 14:54:29.885957 accept_connection 3 returned 4 14:54:29.885973 accept_connection 3 returned 0 14:54:29.885988 Read 93 bytes 14:54:29.885999 Process 93 bytes request 14:54:29.886012 Got request: GET /verifiedserver HTTP/1.1 14:54:29.886022 Are-we-friendly question received 14:54:29.886045 Wrote request (93 bytes) input to log/14/server.input 14:54:29.886063 Identifying ourselves as friends 14:54:29.886116 Response sent (56 bytes) and written to log/14/server.response 14:54:29.886126 special request received, no persistency 14:54:29.886136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 34970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1403 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1403 ==152766== ==152766== Process terminating with default action of signal 4 (SIGILL) ==152766== Illegal opcode at address 0x4014B6F ==152766== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152766== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152766== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152766== by 0x4004266: main (tool_main.c:199) === End of file valgrind1403 test 1404...[--libcurl plus -F with 3 files, one with explicit type & encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1404 ../src/curl -q --output log/15/curl1404.out --include --trace-ascii log/15/trace1404 --trace-time http://127.0.0.1:42107/we/want/1404 -F name=value -F 'file=@log/15/test1404.txt,log/15/test1404.txt;type=magic/content;encoder=8bit,log/15/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/15/test1404.c > log/15/stdout1404 2> log/15/stderr1404 1404: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1404 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1404 ../src/curl -q --output log/15/curl1404.out --include --trace-ascii log/15/trace1404 --trace-time http://127.0.0.1:42107/we/want/1404 -F name=value -F 'file=@log/15/test1404.txt,log/15/test140CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1406 ../src/curl -q --output log/21/curl1406.out --include --trace-ascii log/21/trace1406 --trace-time smtp://127.0.0.1:46579/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/21/test1406.eml --libcurl log/21/test1406.c > log/21/stdout1406 2> log/21/stderr1406 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1409 ../src/curl -q --output log/5/curl1409.out --include --trace-ascii log/5/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/5/stdout1409 2> log/5/stderr1409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1410 ../src/curl -q --output log/3/curl1410.out --include --trace-ascii log/3/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/3/stdout1410 2> log/3/stderr1410 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1405 ../src/curl -q --output log/17/curl1405.out --include --trace-ascii log/17/trace1405 --trace-time ftp://127.0.0.1:40705/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/17/test1405.c > log/17/stdout1405 2> log/17/stderr1405 4.txt;type=magic/content;encoder=8bit,log/15/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/15/test1404.c > log/15/stdout1404 2> log/15/stderr1404 === End of file commands.log === Start of file http_server.log 14:54:30.015078 ====> Client connect 14:54:30.015113 accept_connection 3 returned 4 14:54:30.015132 accept_connection 3 returned 0 14:54:30.015148 Read 93 bytes 14:54:30.015160 Process 93 bytes request 14:54:30.015175 Got request: GET /verifiedserver HTTP/1.1 14:54:30.015186 Are-we-friendly question received 14:54:30.015214 Wrote request (93 bytes) input to log/15/server.input 14:54:30.015233 Identifying ourselves as friends 14:54:30.015295 Response sent (56 bytes) and written to log/15/server.response 14:54:30.015308 special request received, no persistency 14:54:30.015318 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 46654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1404 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==152961== ==152961== Process terminating with default action of signal 4 (SIGILL) ==152961== Illegal opcode at address 0x4014B6F ==152961== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152961== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152961== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152961== by 0x4004266: main (tool_main.c:199) === End of file valgrind1404 test 1406...[--libcurl for SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1406 ../src/curl -q --output log/21/curl1406.out --include --trace-ascii log/21/trace1406 --trace-time smtp://127.0.0.1:46579/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/21/test1406.eml --libcurl log/21/test1406.c > log/21/stdout1406 2> log/21/stderr1406 1406: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1406 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1406 ../src/curl -q --output log/21/curl1406.out --include --trace-ascii log/21/trace1406 --trace-time smtp://127.0.0.1:46579/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/21/test1406.eml --libcurl log/21/test1406.c > log/21/stdout1406 2> log/21/stderr1406 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 1406 === End of file server.cmd === Start of file smtp_server.log 14:54:29.953429 ====> Client connect 14:54:29.953912 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.954225 < "EHLO verifiedserver" 14:54:29.954267 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:29.954459 < "HELP" 14:54:29.954493 > "214 WE ROOLZ: 123195[CR][LF]" 14:54:29.954510 return proof we are we 14:54:29.954759 < "QUIT" 14:54:29.954789 > "221 curl ESMTP server signing off[CR][LF]" 14:54:29.955566 MAIN sockfilt said DISC 14:54:29.955597 ====> Client disconnected 14:54:29.955658 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:30.036130 ====> Client connect 14:54:30.036742 Received DATA (on stdin) 14:54:30.036761 > 160 bytes data, server => client 14:54:30.036775 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:30.036787 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:30.036799 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:30.036880 < 21 bytes data, client => server 14:54:30.036897 'EHLO verifiedserver\r\n' 14:54:30.037085 Received DATA (on stdin) 14:54:30.037099 > 53 bytes data, server => client 14:54:30.037113 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:30.037172 < 6 bytes data, client => server 14:54:30.037187 'HELP\r\n' 14:54:30.037322 Received DATA (on stdin) 14:54:30.037336 > 22 bytes data, server => client 14:54:30.037348 '214 WE ROOLZ: 123195\r\n' 14:54:30.037470 < 6 bytes data, client => server 14:54:30.037488 'QUIT\r\n' 14:54:30.037603 Received DATA (on stdin) 14:54:30.037617 > 35 bytes data, server => client 14:54:30.037629 '221 curl ESMTP server signing off\r\n' 14:54:30.038325 ====> Client disconnect 14:54:30.038473 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test1406.eml From: different To: another body === End of file test1406.eml === Start of file valgrind1406 ==152988== ==152988== Process terminating with default action of signal 4 (SIGILL) ==152988== Illegal opcode at address 0x4014B6F ==152988== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152988== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152988== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152988== by 0x4004266: main (tool_main.c:199) === End of file valgrind1406 test 1409...[Pass in string to -C] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1409 ../src/curl -q --output log/5/curl1409.out --include --trace-ascii log/5/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/5/stdout1409 2> log/5/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/5/ dir after test 1409 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1409 ../src/curl -q --output log/5/curl1409.out --include --trace-ascii log/5/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/5/stdout1409 2> log/5/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==152987== ==152987== Process terminating with default action of signal 4 (SIGILL) ==152987== Illegal opcode at address 0x4014B6F ==152987== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==152987== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==152987== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==152987== by 0x4004266: main (tool_main.c:199) === End of file valgrind1409 test 1410...[Pass in negative number to --max-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1410 ../src/curl -q --output log/3/curl1410.out --include --trace-ascii log/3/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/3/stdout1410 2> log/3/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/3/ dir after test 1410 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:42545/1407 -l -u user:secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 l/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1410 ../src/curl -q --output log/3/curl1410.out --include --trace-ascii log/3/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/3/stdout1410 2> log/3/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==153093== ==153093== Process terminating with default action of signal 4 (SIGILL) ==153093== Illegal opcode at address 0x4014B6F ==153093== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153093== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153093== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153093== by 0x4004266: main (tool_main.c:199) === End of file valgrind1410 test 1405...[--libcurl for FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1405 ../src/curl -q --output log/17/curl1405.out --include --trace-ascii log/17/trace1405 --trace-time ftp://127.0.0.1:40705/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/17/test1405.c > log/17/stdout1405 2> log/17/stderr1405 1405: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1405 ../src/curl -q --output log/17/curl1405.out --include --trace-ascii log/17/trace1405 --trace-time ftp://127.0.0.1:40705/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/17/test1405.c > log/17/stdout1405 2> log/17/stderr1405 === End of file commands.log === Start of file ftp_server.log 14:54:29.938592 ====> Client connect 14:54:29.938740 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:29.939051 < "USER anonymous" 14:54:29.939092 > "331 We are happy you popped in![CR][LF]" 14:54:29.939280 < "PASS ftp@example.com" 14:54:29.939311 > "230 Welcome you silly person[CR][LF]" 14:54:29.939469 < "PWD" 14:54:29.939499 > "257 "/" is current directory[CR][LF]" 14:54:29.939665 < "EPSV" 14:54:29.939688 ====> Passive DATA channel requested by client 14:54:29.939703 DATA sockfilt for passive data channel starting... 14:54:29.941666 DATA sockfilt for passive data channel started (pid 152941) 14:54:29.941781 DATA sockfilt for passive data channel listens on port 35797 14:54:29.941823 > "229 Entering Passive Mode (|||35797|)[LF]" 14:54:29.941845 Client has been notified that DATA conn will be accepted on port 35797 14:54:29.942075 Client connects to port 35797 14:54:29.942107 ====> Client established passive DATA connection on port 35797 14:54:29.942188 < "TYPE I" 14:54:29.942218 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:29.942380 < "SIZE verifiedserver" 14:54:29.942419 > "213 17[CR][LF]" 14:54:29.942573 < "RETR verifiedserver" 14:54:29.942608 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:29.942690 =====> Closing passive DATA connection... 14:54:29.942707 Server disconnects passive DATA connection 14:54:29.942954 Server disconnected passive DATA connection 14:54:29.942980 DATA sockfilt for passive data channel quits (pid 152941) 14:54:29.943191 DATA sockfilt for passive data channel quit (pid 152941) 14:54:29.943214 =====> Closed passive DATA connection 14:54:29.943240 > "226 File transfer complete[CR][LF]" 14:54:29.987285 < "QUIT" 14:54:29.987334 > "221 bye bye baby[CR][LF]" 14:54:29.988312 MAIN sockfilt said DISC 14:54:29.988337 ====> Client disconnected 14:54:29.988406 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:30.021300 ====> Client connect 14:54:30.021567 Received DATA (on stdin) 14:54:30.021585 > 160 bytes data, server => client 14:54:30.021599 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:30.021611 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:30.021623 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:30.021709 < 16 bytes data, client => server 14:54:30.021723 'USER anonymous\r\n' 14:54:30.021909 Received DATA (on stdin) 14:54:30.021923 > 33 bytes data, server => client 14:54:30.021936 '331 We are happy you popped in!\r\n' 14:54:30.021991 < 22 bytes data, client => server 14:54:30.022003 'PASS ftp@example.com\r\n' 14:54:30.022123 Received DATA (on stdin) 14:54:30.022136 > 30 bytes data, server => client 14:54:30.022148 '230 Welcome you silly person\r\n' 14:54:30.022196 < 5 bytes data, client => server 14:54:30.022208 'PWD\r\n' 14:54:30.022311 Received DATA (on stdin) 14:54:30.022323 > 30 bytes data, server => client 14:54:30.022335 '257 "/" is current directory\r\n' 14:54:30.022394 < 6 bytes data, client => server 14:54:30.022406 'EPSV\r\n' 14:54:30.024665 Received DATA (on stdin) 14:54:30.024680 > 38 bytes data, server => client 14:54:30.024693 '229 Entering Passive Mode (|||35797|)\n' 14:54:30.024805 < 8 bytes data, client => server 14:54:30.024820 'TYPE I\r\n' 14:54:30.025031 Received DATA (on stdin) 14:54:30.025044 > 33 bytes data, server => client 14:54:30.025057 '200 I modify TYPE as you wanted\r\n' 14:54:30.025107 < 21 bytes data, client => server 14:54:30.025120 'SIZE verifiedserver\r\n' 14:54:30.025230 Received DATA (on stdin) 14:54:30.025243 > 8 bytes data, server => client 14:54:30.025254 '213 17\r\n' 14:54:30.025302 < 21 bytes data, client => server 14:54:30.025315 'RETR verifiedserver\r\n' 14:54:30.025613 Received DATA (on stdin) 14:54:30.025627 > 29 bytes data, server => client 14:54:30.025639 '150 Binary junk (17 bytes).\r\n' 14:54:30.026054 Received DATA (on stdin) 14:54:30.026068 > 28 bytes data, server => client 14:54:30.026081 '226 File transfer complete\r\n' 14:54:30.069910 < 6 bytes data, client => server 14:54:30.069940 'QUIT\r\n' 14:54:30.070147 Received DATA (on stdin) 14:54:30.070158 > 18 bytes data, server => client 14:54:30.070169 '221 bye bye baby\r\n' 14:54:30.071077 ====> Client disconnect 14:54:30.071214 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:29.024162 Running IPv4 version 14:54:29.024218 Listening on port 35797 14:54:29.024254 Wrote pid 152941 to log/17/server/ftp_sockdata.pid 14:54:29.024419 Received PING (on stdin) 14:54:29.024504 Received PORT (on stdin) 14:54:29.024842 ====> Client connect 14:54:29.025522 Received DATA (on stdin) 14:54:29.025536 > 17 bytes data, server => client 14:54:29.025548 'WE ROOLZ: 91632\r\n' 14:54:29.025575 Received DISC (on stdin) 14:54:29.025587 ====> Client forcibly disconnected 14:54:29.025799 Received QUIT (on stdin) 14:54:29.025812 quits 14:54:29.025870 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 1405 === End of file server.cmd === Start of file valgrind1405 ==153076== ==153076== Process terminating with default action of signal 4 (SIGILL) ==153076== Illegal opcode at address 0x4014B6F ==153076== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153076== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153076== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153076== by 0x4004266: main (tool_main.c:199) === End of file valgrind1405 test 1407...[--libcurl for POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:42545/1407 -l -u user:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1411 ../src/curl -q --output log/6/curl1411.out --include --trace-ascii log/6/trace1411 --trace-time http://127.0.0.1:38791/1411 -T log/6/empty1411 > log/6/stdout1411 2> log/6/stderr1411 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:33503/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 1407: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1407 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:42545/1407 -l -u user:secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 === End of file commands.log === Start of file pop3_server.log 14:54:29.957750 ====> Client connect 14:54:29.957906 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 14:54:29.958231 < "CAPA" 14:54:29.958276 > "-ERR Unrecognized command[CR][LF]" 14:54:29.958469 < "RETR verifiedserver" 14:54:29.958498 return proof we are we 14:54:29.958522 > "+OK Mail transfer starts[CR][LF]" 14:54:29.958544 > "WE ROOLZ: 120315[CR][LF]" 14:54:29.958563 > ".[CR][LF]" 14:54:30.001645 < "QUIT" 14:54:30.001763 > "+OK curl POP3 server signing off[CR][LF]" 14:54:30.002676 MAIN sockfilt said DISC 14:54:30.002718 ====> Client disconnected 14:54:30.002886 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 14:54:30.040464 ====> Client connect 14:54:30.040731 Received DATA (on stdin) 14:54:30.040749 > 178 bytes data, server => client 14:54:30.040762 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:30.040775 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:30.040787 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 14:54:30.040798 've \r\n' 14:54:30.040881 < 6 bytes data, client => server 14:54:30.040898 'CAPA\r\n' 14:54:30.041095 Received DATA (on stdin) 14:54:30.041109 > 27 bytes data, server => client 14:54:30.041122 '-ERR Unrecognized command\r\n' 14:54:30.041180 < 21 bytes data, client => server 14:54:30.041195 'RETR verifiedserver\r\n' 14:54:30.041375 Received DATA (on stdin) 14:54:30.041389 > 26 bytes data, server => client 14:54:30.041401 '+OK Mail transfer starts\r\n' 14:54:30.041425 Received DATA (on stdin) 14:54:30.041437 > 18 bytes data, server => client 14:54:30.041448 'WE ROOLZ: 120315\r\n' 14:54:30.041463 Received DATA (on stdin) 14:54:30.041474 > 3 bytes data, server => client 14:54:30.041485 '.\r\n' 14:54:30.084269 < 6 bytes data, client => server 14:54:30.084301 'QUIT\r\n' 14:54:30.084513 Received DATA (on stdin) 14:54:30.084528 > 34 bytes data, server => client 14:54:30.084581 '+OK curl POP3 server signing off\r\n' 14:54:30.084757 ====> Client disconnect 14:54:30.085595 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK 1407 100\r\n. Testnum 1407 === End of file server.cmd === Start of file valgrind1407 ==153158== ==153158== Process terminating with default action of signal 4 (SIGILL) ==153158== Illegal opcode at address 0x4014B6F ==153158== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153158== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153158== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153158== by 0x4004266: main (tool_main.c:199) === End of file valgrind1407 test 1411...[HTTP with zero size file PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1411 ../src/curl -q --output log/6/curl1411.out --include --trace-ascii log/6/trace1411 --trace-time http://127.0.0.1:38791/1411 -T log/6/empty1411 > log/6/stdout1411 2> log/6/stderr1411 1411: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1411 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1411 ../src/curl -q --output log/6/curl1411.out --include --trace-ascii log/6/trace1411 --trace-time http://127.0.0.1:38791/1411 -T log/6/empty1411 > log/6/stdout1411 2> log/6/stderr1411 === End of file commands.log === Start of file http_server.log 14:54:30.140276 ====> Client connect 14:54:30.140311 accept_connection 3 returned 4 14:54:30.140329 accept_connection 3 returned 0 14:54:30.140344 Read 93 bytes 14:54:30.140356 Process 93 bytes request 14:54:30.140371 Got request: GET /verifiedserver HTTP/1.1 14:54:30.140381 Are-we-friendly question received 14:54:30.140407 Wrote request (93 bytes) input to log/6/server.input 14:54:30.140425 Identifying ourselves as friends 14:54:30.140481 Response sent (56 bytes) and written to log/6/server.response 14:54:30.140492 special request received, no persistency 14:54:30.140503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 34666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1411 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1411 ==153237== ==153237== Process terminating with default action of signal 4 (SIGILL) ==153237== Illegal opcode at address 0x4014B6F ==153237== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153237== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153237== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153237== by 0x4004266: main (tool_main.c:199) === End of file valgrind1411 test 1413...[HTTP redirect with fragment in new URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:33503/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 1413: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1413 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:33503/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 === End of file commands.log === Start of file http_server.log 14:54:30.178276 ====> Client connect 14:54:30.178310 accept_connection 3 returned 4 14:54:30.178328 accept_connection 3 returned 0 14:54:30.178344 Read 93 bytes 14:54:30.178355 Process 93 bytes request 14:54:30.178370 Got request: GET /verifiedserver HTTP/1.1 14:54:30.178380 Are-we-friendly question received 14:54:30.178406 Wrote request (93 bytes) input to log/11/server.input 14:54:30.178424 Identifying ourselves as friends 14:54:30.178468 Response sent (56 bytes) and written to log/11/server.response 14:54:30.178477 special request received, no persistency 14:54:30.178485 ====> Client disconnect 0 === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1412 ../src/curl -q --output log/16/curl1412.out --include --trace-ascii log/16/trace1412 --trace-time http://127.0.0.1:34475/1412 -u testuser:testpass --anyauth http://127.0.0.1:34475/14120001 > log/16/stdout1412 2> log/16/stderr1412 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1414 ../src/curl -q --output log/23/curl1414.out --include --trace-ascii log/23/trace1414 --trace-time ftp://127.0.0.1:39001/1414 -P - > log/23/stdout1414 2> log/23/stderr1414 nd of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1413 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1413 ==153378== ==153378== Process terminating with default action of signal 4 (SIGILL) ==153378== Illegal opcode at address 0x4014B6F ==153378== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153378== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153378== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153378== by 0x4004266: main (tool_main.c:199) === End of file valgrind1413 test 1412...[HTTP GET with --anyauth with two URLs (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1412 ../src/curl -q --output log/16/curl1412.out --include --trace-ascii log/16/trace1412 --trace-time http://127.0.0.1:34475/1412 -u testuser:testpass --anyauth http://127.0.0.1:34475/14120001 > log/16/stdout1412 2> log/16/stderr1412 1412: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1412 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1412 ../src/curl -q --output log/16/curl1412.out --include --trace-ascii log/16/trace1412 --trace-time http://127.0.0.1:34475/1412 -u testuser:testpass --anyauth http://127.0.0.1:34475/14120001 > log/16/stdout1412 2> log/16/stderr1412 === End of file commands.log === Start of file http_server.log 14:54:30.160244 ====> Client connect 14:54:30.160286 accept_connection 3 returned 4 14:54:30.160305 accept_connection 3 returned 0 14:54:30.160321 Read 93 bytes 14:54:30.160332 Process 93 bytes request 14:54:30.160349 Got request: GET /verifiedserver HTTP/1.1 14:54:30.160359 Are-we-friendly question received 14:54:30.160955 Wrote request (93 bytes) input to log/16/server.input 14:54:30.160979 Identifying ourselves as friends 14:54:30.161032 Response sent (56 bytes) and written to log/16/server.response 14:54:30.161041 special request received, no persistency 14:54:30.161050 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1412 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1412 ==153344== ==153344== Process terminating with default action of signal 4 (SIGILL) ==153344== Illegal opcode at address 0x4014B6F ==153344== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153344== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153344== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153344== by 0x4004266: main (tool_main.c:199) === End of file valgrind1412 test 1414...[FTP PORT without SIZE or EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1414 ../src/curl -q --output log/23/curl1414.out --include --trace-ascii log/23/trace1414 --trace-time ftp://127.0.0.1:39001/1414 -P - > log/23/stdout1414 2> log/23/stderr1414 1414: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1414 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1414 ../src/curl -q --output log/23/curl1414.out --include --trace-ascii log/23/trace1414 --trace-time ftp://127.0.0.1:39001/1414 -P - > log/23/stdout1414 2> log/23/stderr1414 === End of file commands.log === Start of file ftp_server.log 14:54:30.096639 ====> Client connect 14:54:30.096839 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:30.097147 < "USER anonymous" 14:54:30.097187 > "331 We are happy you popped in![CR][LF]" 14:54:30.097374 < "PASS ftp@example.com" 14:54:30.097404 > "230 Welcome you silly person[CR][LF]" 14:54:30.097572 < "PWD" 14:54:30.097601 > "257 "/" is current directory[CR][LF]" 14:54:30.097778 < "EPSV" 14:54:30.097807 ====> Passive DATA channel requested by client 14:54:30.097823 DATA sockfilt for passive data channel starting... 14:54:30.099611 DATA sockfilt for passive data channel started (pid 153345) 14:54:30.099734 DATA sockfilt for passive data channel listens on port 32769 14:54:30.099779 > "229 Entering Passive Mode (|||32769|)[LF]" 14:54:30.099807 Client has been notified that DATA conn will be accepted on port 32769 14:54:30.100068 Client connects to port 32769 14:54:30.100098 ====> Client established passive DATA connection on port 32769 14:54:30.100175 < "TYPE I" 14:54:30.100220 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:30.100400 < "SIZE verifiedserver" 14:54:30.100438 > "213 17[CR][LF]" 14:54:30.100612 < "RETR verifiedserver" 14:54:30.100653 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:30.100740 =====> Closing passive DATA connection... 14:54:30.100759 Server disconnects passive DATA connection 14:54:30.100846 Server disconnected passive DATA connection 14:54:30.100871 DATA sockfilt for passive data channel quits (pid 153345) 14:54:30.101104 DATA sockfilt for passive data channel quit (pid 153345) 14:54:30.101132 =====> Closed passive DATA connection 14:54:30.101161 > "226 File transfer complete[CR][LF]" 14:54:30.149301 < "QUIT" 14:54:30.149354 > "221 bye bye baby[CR][LF]" 14:54:30.150176 MAIN sockfilt said DISC 14:54:30.150212 ====> Client disconnected 14:54:30.150282 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:30.179342 ====> Client connect 14:54:30.179676 Received DATA (on stdin) 14:54:30.179694 > 160 bytes data, server => client 14:54:30.179707 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:30.179720 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:30.179732 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:30.179805 < 16 bytes data, client => server 14:54:30.179822 'USER anonymous\r\n' 14:54:30.180006 Received DATA (on stdin) 14:54:30.180021 > 33 bytes data, server => client 14:54:30.180033 '331 We are happy you popped in!\r\n' 14:54:30.180088 < 22 bytes data, client => server 14:54:30.180103 'PASS ftp@example.com\r\n' 14:54:30.180218 Received DATA (on stdin) 14:54:30.180233 > 30 bytes data, server => client 14:54:30.180245 '230 WelCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1416 ../src/curl -q --output log/24/curl1416.out --include --trace-ascii log/24/trace1416 --trace-time http://127.0.0.1:34449/1416 > log/24/stdout1416 2> log/24/stderr1416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1417 ../src/curl -q --output log/9/curl1417.out --include --trace-ascii log/9/trace1417 --trace-time http://127.0.0.1:34345/1417 -D log/9/heads1417 > log/9/stdout1417 2> log/9/stderr1417 come you silly person\r\n' 14:54:30.180295 < 5 bytes data, client => server 14:54:30.180309 'PWD\r\n' 14:54:30.180413 Received DATA (on stdin) 14:54:30.180425 > 30 bytes data, server => client 14:54:30.180436 '257 "/" is current directory\r\n' 14:54:30.180498 < 6 bytes data, client => server 14:54:30.180512 'EPSV\r\n' 14:54:30.182626 Received DATA (on stdin) 14:54:30.182642 > 38 bytes data, server => client 14:54:30.182654 '229 Entering Passive Mode (|||32769|)\n' 14:54:30.182822 < 8 bytes data, client => server 14:54:30.182836 'TYPE I\r\n' 14:54:30.183037 Received DATA (on stdin) 14:54:30.183052 > 33 bytes data, server => client 14:54:30.183064 '200 I modify TYPE as you wanted\r\n' 14:54:30.183119 < 21 bytes data, client => server 14:54:30.183133 'SIZE verifiedserver\r\n' 14:54:30.183251 Received DATA (on stdin) 14:54:30.183265 > 8 bytes data, server => client 14:54:30.183277 '213 17\r\n' 14:54:30.183329 < 21 bytes data, client => server 14:54:30.183344 'RETR verifiedserver\r\n' 14:54:30.183574 Received DATA (on stdin) 14:54:30.183589 > 29 bytes data, server => client 14:54:30.183606 '150 Binary junk (17 bytes).\r\n' 14:54:30.183976 Received DATA (on stdin) 14:54:30.183990 > 28 bytes data, server => client 14:54:30.184002 '226 File transfer complete\r\n' 14:54:30.231951 < 6 bytes data, client => server 14:54:30.231976 'QUIT\r\n' 14:54:30.232172 Received DATA (on stdin) 14:54:30.232186 > 18 bytes data, server => client 14:54:30.232198 '221 bye bye baby\r\n' 14:54:30.232935 ====> Client disconnect 14:54:30.233099 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:30.182231 Running IPv4 version 14:54:30.182298 Listening on port 32769 14:54:30.182339 Wrote pid 153345 to log/23/server/ftp_sockdata.pid 14:54:30.182361 Received PING (on stdin) 14:54:30.182455 Received PORT (on stdin) 14:54:30.182791 ====> Client connect 14:54:30.183481 Received DATA (on stdin) 14:54:30.183497 > 17 bytes data, server => client 14:54:30.183510 'WE ROOLZ: 80287\r\n' 14:54:30.183573 Received DISC (on stdin) 14:54:30.183589 ====> Client forcibly disconnected 14:54:30.183692 Received QUIT (on stdin) 14:54:30.183706 quits 14:54:30.183763 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 502 no such command REPLY EPRT 502 no such command Testnum 1414 === End of file server.cmd === Start of file valgrind1414 ==153529== ==153529== Process terminating with default action of signal 4 (SIGILL) ==153529== Illegal opcode at address 0x4014B6F ==153529== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153529== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153529== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153529== by 0x4004266: main (tool_main.c:199) === End of file valgrind1414 test 1416...[HTTP GET with chunked Transfer-Encoding overflowed chunked size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1416 ../src/curl -q --output log/24/curl1416.out --include --trace-ascii log/24/trace1416 --trace-time http://127.0.0.1:34449/1416 > log/24/stdout1416 2> log/24/stderr1416 1416: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1416 ../src/curl -q --output log/24/curl1416.out --include --trace-ascii log/24/trace1416 --trace-time http://127.0.0.1:34449/1416 > log/24/stdout1416 2> log/24/stderr1416 === End of file commands.log === Start of file http_server.log 14:54:30.230667 ====> Client connect 14:54:30.230701 accept_connection 3 returned 4 14:54:30.230719 accept_connection 3 returned 0 14:54:30.230733 Read 93 bytes 14:54:30.230745 Process 93 bytes request 14:54:30.230758 Got request: GET /verifiedserver HTTP/1.1 14:54:30.230769 Are-we-friendly question received 14:54:30.230793 Wrote request (93 bytes) input to log/24/server.input 14:54:30.230811 Identifying ourselves as friends 14:54:30.230868 Response sent (56 bytes) and written to log/24/server.response 14:54:30.230880 special request received, no persistency 14:54:30.230891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1416 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1416 ==153524== ==153524== Process terminating with default action of signal 4 (SIGILL) ==153524== Illegal opcode at address 0x4014B6F ==153524== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153524== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153524== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153524== by 0x4004266: main (tool_main.c:199) === End of file valgrind1416 test 1417...[HTTP GET with chunked encoding and chunked trailer without CRs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1417 ../src/curl -q --output log/9/curl1417.out --include --trace-ascii log/9/trace1417 --trace-time http://127.0.0.1:34345/1417 -D log/9/heads1417 > log/9/stdout1417 2> log/9/stderr1417 1417: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1417 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1417 ../src/curl -q --output log/9/curl1417.out --include --trace-ascii log/9/trace1417 --trace-time http://127.0.0.1:34345/1417 -D log/9/heads1417 > log/9/stdout1417 2> log/9/stderr1417 === End of file commands.log === Start of file http_server.log 14:54:30.236059 ====> Client connect 14:54:30.236091 accept_connection 3 returned 4 14:54:30.236110 accept_connection 3 returned 0 14:54:30.236125 Read 93 bytes 14:54:30.236137 Process 93 bytes request 14:54:30.236150 Got request: GET /verifiedserver HTTP/1.1 14:54:30.236161 Are-we-friendly question received 14:54:30.236187 Wrote request (93 bytes) input to log/9/server.input 14:54:30.236206 Identifying ourselves as friends 14:54:30.236264 Response sent (56 bytes) and written to log/9/server.response 14:54:30.236277 special request received, no persistency 14:54:30.236287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1417 === End of file server.cmd === Start of file server.response HTTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1415 ../src/curl -q --output log/19/curl1415.out --include --trace-ascii log/19/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/19/jar1415.txt -x 127.0.0.1:33805 > log/19/stdout1415 2> log/19/stderr1415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:35893/1418 -u testuser:testpass --anyauth http://127.0.0.1:35893/14180003 > log/10/stdout1418 2> log/10/stderr1418 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1419 ../src/curl -q --output log/1/curl1419.out --include --trace-ascii log/1/trace1419 --trace-time http://127.0.0.1:44029/1419 --anyauth http://127.0.0.1:44029/14190003 > log/1/stdout1419 2> log/1/stderr1419 P/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1417 ==153554== ==153554== Process terminating with default action of signal 4 (SIGILL) ==153554== Illegal opcode at address 0x4014B6F ==153554== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153554== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153554== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153554== by 0x4004266: main (tool_main.c:199) === End of file valgrind1417 setenv TZ = GMT test 1415...[Delete expired cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1415 ../src/curl -q --output log/19/curl1415.out --include --trace-ascii log/19/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/19/jar1415.txt -x 127.0.0.1:33805 > log/19/stdout1415 2> log/19/stderr1415 1415: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1415 ../src/curl -q --output log/19/curl1415.out --include --trace-ascii log/19/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/19/jar1415.txt -x 127.0.0.1:33805 > log/19/stdout1415 2> log/19/stderr1415 === End of file commands.log === Start of file http_server.log 14:54:29.225143 ====> Client connect 14:54:29.225173 accept_connection 3 returned 4 14:54:29.225188 accept_connection 3 returned 0 14:54:29.225202 Read 93 bytes 14:54:29.225211 Process 93 bytes request 14:54:29.225225 Got request: GET /verifiedserver HTTP/1.1 14:54:29.225234 Are-we-friendly question received 14:54:29.225255 Wrote request (93 bytes) input to log/19/server.input 14:54:29.225270 Identifying ourselves as friends 14:54:29.225346 Response sent (56 bytes) and written to log/19/server.response 14:54:29.225357 special request received, no persistency 14:54:29.225366 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1415 ==153525== ==153525== Process terminating with default action of signal 4 (SIGILL) ==153525== Illegal opcode at address 0x4014B6F ==153525== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153525== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153525== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153525== by 0x4004266: main (tool_main.c:199) === End of file valgrind1415 test 1418...[HTTP with --anyauth and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:35893/1418 -u testuser:testpass --anyauth http://127.0.0.1:35893/14180003 > log/10/stdout1418 2> log/10/stderr1418 1418: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1418 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:35893/1418 -u testuser:testpass --anyauth http://127.0.0.1:35893/14180003 > log/10/stdout1418 2> log/10/stderr1418 === End of file commands.log === Start of file http_server.log 14:54:30.347939 ====> Client connect 14:54:30.347973 accept_connection 3 returned 4 14:54:30.347994 accept_connection 3 returned 0 14:54:30.348011 Read 93 bytes 14:54:30.348022 Process 93 bytes request 14:54:30.348037 Got request: GET /verifiedserver HTTP/1.1 14:54:30.348048 Are-we-friendly question received 14:54:30.348074 Wrote request (93 bytes) input to log/10/server.input 14:54:30.348092 Identifying ourselves as friends 14:54:30.348148 Response sent (56 bytes) and written to log/10/server.response 14:54:30.348160 special request received, no persistency 14:54:30.348170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1418 ==153782== ==153782== Process terminating with default action of signal 4 (SIGILL) ==153782== Illegal opcode at address 0x4014B6F ==153782== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153782== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153782== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153782== by 0x4004266: main (tool_main.c:199) === End of file valgrind1418 test 1419...[HTTP with --anyauth (but no auth!) and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1419 ../src/curl -q --output log/1/curl1419.out --include --trace-ascii log/1/trace1419 --trace-time http://127.0.0.1:44029/1419 --anyauth http://127.0.0.1:44029/14190003 > log/1/stdout1419 2> log/1/stderr1419 1419: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1419 ../src/curl -q --output log/1/curl1419.out --include --trace-ascii log/1/trace1419 --trace-time http://127.0.0.1:44029/1419 --anyauth http://127.0.0.1:44029/14190003 > log/1/stdout1419 2> log/1/stderr1419 === End of file commands.log === Start of file http_server.log 14:54:30.348920 ====> Client connect 14:54:30.348950 accept_connection 3 returned 4 14:54:30.348969 accept_connection 3 returned 0 14:54:30.348984 Read 93 bytes 14:54:30.348996 Process 93 bytes request 14:54:30.349009 Got request: GET /verifiedserver HTTP/1.1 14:54:30.349020 Are-we-friendly question received 14:54:30.349044 Wrote request (93 bytes) input to log/1/server.input 14:54:30.349062 Identifying ourselves as friends 14:54:30.349115 Response sent (56 bytes) and written to log/1/serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:40003/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1421 ../src/curl -q --include --trace-ascii log/7/trace1421 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/7/stdout1421 2> log/7/stderr1421 ver.response 14:54:30.349126 special request received, no persistency 14:54:30.349137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1419 ==153773== ==153773== Process terminating with default action of signal 4 (SIGILL) ==153773== Illegal opcode at address 0x4014B6F ==153773== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153773== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153773== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153773== by 0x4004266: main (tool_main.c:199) === End of file valgrind1419 test 1420...[--libcurl for IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:40003/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 1420: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:40003/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 === End of file commands.log === Start of file imap_server.log 14:54:30.274412 ====> Client connect 14:54:30.274557 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:30.274868 < "A001 CAPABILITY" 14:54:30.274908 > "A001 BAD Command[CR][LF]" 14:54:30.275094 < "A002 LIST "verifiedserver" *" 14:54:30.275122 LIST_imap got "verifiedserver" * 14:54:30.275149 > "* LIST () "/" "WE ROOLZ: 117371"[CR][LF]" 14:54:30.275168 > "A002 OK LIST Completed[CR][LF]" 14:54:30.275183 return proof we are we 14:54:30.320991 < "A003 LOGOUT" 14:54:30.321056 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:30.321078 > "A003 OK LOGOUT completed[CR][LF]" 14:54:30.322005 MAIN sockfilt said DISC 14:54:30.322034 ====> Client disconnected 14:54:30.322107 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:30.357123 ====> Client connect 14:54:30.357385 Received DATA (on stdin) 14:54:30.357402 > 178 bytes data, server => client 14:54:30.357416 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:30.357429 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:30.357441 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:30.357452 'rve\r\n' 14:54:30.357529 < 17 bytes data, client => server 14:54:30.357546 'A001 CAPABILITY\r\n' 14:54:30.357724 Received DATA (on stdin) 14:54:30.357739 > 18 bytes data, server => client 14:54:30.357751 'A001 BAD Command\r\n' 14:54:30.357810 < 30 bytes data, client => server 14:54:30.357824 'A002 LIST "verifiedserver" *\r\n' 14:54:30.357995 Received DATA (on stdin) 14:54:30.358009 > 34 bytes data, server => client 14:54:30.358022 '* LIST () "/" "WE ROOLZ: 117371"\r\n' 14:54:30.358046 Received DATA (on stdin) 14:54:30.358058 > 24 bytes data, server => client 14:54:30.358069 'A002 OK LIST Completed\r\n' 14:54:30.403601 < 13 bytes data, client => server 14:54:30.403629 'A003 LOGOUT\r\n' 14:54:30.403895 Received DATA (on stdin) 14:54:30.403911 > 36 bytes data, server => client 14:54:30.403924 '* BYE curl IMAP server signing off\r\n' 14:54:30.403950 Received DATA (on stdin) 14:54:30.403963 > 26 bytes data, server => client 14:54:30.403975 'A003 OK LOGOUT completed\r\n' 14:54:30.404766 ====> Client disconnect 14:54:30.404835 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1420 === End of file server.cmd === Start of file valgrind1420 ==153895== ==153895== Process terminating with default action of signal 4 (SIGILL) ==153895== Illegal opcode at address 0x4014B6F ==153895== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153895== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153895== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153895== by 0x4004266: main (tool_main.c:199) === End of file valgrind1420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:41533/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1422 ../src/curl -q --trace-ascii log/18/trace1422 --trace-time http://127.0.0.1:43297/1422 -J -O file:///startdir/src/build-curl/tests/log/18/name1422 --output-dir log/18 > log/18/stdout1422 2> log/18/stderr1422 test 1421...[Reusing HTTP proxy connection for two different host names] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1421 ../src/curl -q --include --trace-ascii log/7/trace1421 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/7/stdout1421 2> log/7/stderr1421 1421: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:31.302198193 +0000 +++ log/7/check-generated 2025-09-11 14:54:31.298864859 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/7/ dir after test 1421 === Start of file check-expected HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1421 ../src/curl -q --include --trace-ascii log/7/trace1421 --trace-time --proxy http://127.0.0.1:40545 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/7/stdout1421 2> log/7/stderr1421 === End of file commands.log === Start of file http_server.log 14:54:30.406662 ====> Client connect 14:54:30.406694 accept_connection 3 returned 4 14:54:30.406712 accept_connection 3 returned 0 14:54:30.406728 Read 93 bytes 14:54:30.406740 Process 93 bytes request 14:54:30.406753 Got request: GET /verifiedserver HTTP/1.1 14:54:30.406764 Are-we-friendly question received 14:54:30.406788 Wrote request (93 bytes) input to log/7/server.input 14:54:30.406807 Identifying ourselves as friends 14:54:30.406861 Response sent (56 bytes) and written to log/7/server.response 14:54:30.406872 special request received, no persistency 14:54:30.406883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1421 ==153893== ==153893== Process terminating with default action of signal 4 (SIGILL) ==153893== Illegal opcode at address 0x4014B6F ==153893== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==153893== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==153893== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==153893== by 0x4004266: main (tool_main.c:199) === End of file valgrind1421 test 1423...[HTTP GET -o fname without Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:41533/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 1423: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1423 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:41533/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 === End of file commands.log === Start of file http_server.log 14:54:30.497836 ====> Client connect 14:54:30.497868 accept_connection 3 returned 4 14:54:30.497885 accept_connection 3 returned 0 14:54:30.497901 Read 93 bytes 14:54:30.497911 Process 93 bytes request 14:54:30.497929 Got request: GET /verifiedserver HTTP/1.1 14:54:30.497939 Are-we-friendly question received 14:54:30.497962 Wrote request (93 bytes) input to log/13/server.input 14:54:30.497982 Identifying ourselves as friends 14:54:30.498035 Response sent (56 bytes) and written to log/13/server.response 14:54:30.498046 special request received, no persistency 14:54:30.498056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1423 ==154040== ==154040== Process terminating with default action of signal 4 (SIGILL) ==154040== Illegal opcode at address 0x4014B6F ==154040== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154040== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154040== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154040== by 0x4004266: main (tool_main.c:199) === End of file valgrind1423 test 1422...[HTTP GET with -O -J and Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1422 ../src/curl -q --trace-ascii log/18/trace1422 --trace-time http://127.0.0.1:43297/1422 -J -O file:///startdir/src/build-curl/tests/log/18/name1422 --output-dir log/18 > log/18/stdout1422 2> log/18/stderr1422 1422: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1422 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1422 ../src/curl -q --trace-ascii log/18/trace1422 --trace-time http://127.0.0.1:43297/1422 -J -O file:///startdir/src/build-curl/tests/log/18/name1422 --output-dir log/18 > log/18/stdout1422 2> log/18/stderr1422 === End of file commands.log === Start of file http_server.log 14:54:30.484846 ====> Client connect 14:54:30.484881 accept_connection 3 returned 4 14:54:30.484899 accept_connection 3 returned 0 14:54:30.484915 Read 93 bytes 14:54:30.484926 Process 93 bytes request 14:54:30.484939 Got request: GET /verifiedserver HTTP/1.1 14:54:30.484950 Are-we-friendly question received 14:54:30.484975 Wrote request (93 bytes) input to log/18/server.input 14:54:30.484993 Identifying ourselves as friends 14:54:30.485047 Response sent (56 bytes) and written to log/18/server.response 14:54:30.485058 special request received, no persistency 14:54:30.485069 ====> Client CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1427 ../src/curl -q --output log/22/curl1427.out --include --trace-ascii log/22/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/22/stdout1427 2> log/22/stderr1427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1424 ../src/curl -q --trace-ascii log/4/trace1424 --trace-time http://127.0.0.1:39793/1424 -z "dec 12 11:00:00 1999 GMT" -o log/4/outfile1424 > log/4/stdout1424 2> log/4/stderr1424 env: ‘python3’: No such file or directory env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1429 ../src/curl -q --include --trace-ascii log/14/trace1429 --trace-time http://127.0.0.1:46043/1429 --write-out '%{response_code}' > log/14/stdout1429 2> log/14/stderr1429 disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established connection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44806 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1422 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1422 ==154025== ==154025== Process terminating with default action of signal 4 (SIGILL) ==154025== Illegal opcode at address 0x4014B6F ==154025== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154025== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154025== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154025== by 0x4004266: main (tool_main.c:199) === End of file valgrind1422 test 1427...[too large -m timeout value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1427 ../src/curl -q --output log/22/curl1427.out --include --trace-ascii log/22/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/22/stdout1427 2> log/22/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/22/ dir after test 1427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1427 ../src/curl -q --output log/22/curl1427.out --include --trace-ascii log/22/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/22/stdout1427 2> log/22/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==154192== ==154192== Process terminating with default action of signal 4 (SIGILL) ==154192== Illegal opcode at address 0x4014B6F ==154192== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154192== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154192== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154192== by 0x4004266: main (tool_main.c:199) === End of file valgrind1427 test 1424...[HTTP GET -o fname without Content-Disposition (unmet time condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1424 ../src/curl -q --trace-ascii log/4/trace1424 --trace-time http://127.0.0.1:39793/1424 -z "dec 12 11:00:00 1999 GMT" -o log/4/outfile1424 > log/4/stdout1424 2> log/4/stderr1424 1424: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1424 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1424 ../src/curl -q --trace-ascii log/4/trace1424 --trace-time http://127.0.0.1:39793/1424 -z "dec 12 11:00:00 1999 GMT" -o log/4/outfile1424 > log/4/stdout1424 2> log/4/stderr1424 === End of file commands.log === Start of file http_server.log 14:54:30.922190 ====> Client connect 14:54:30.922227 accept_connection 3 returned 4 14:54:30.922246 accept_connection 3 returned 0 14:54:30.922263 Read 93 bytes 14:54:30.922275 Process 93 bytes request 14:54:30.922289 Got request: GET /verifiedserver HTTP/1.1 14:54:30.922301 Are-we-friendly question received 14:54:30.922329 Wrote request (93 bytes) input to log/4/server.input 14:54:30.922348 Identifying ourselves as friends 14:54:30.922406 Response sent (56 bytes) and written to log/4/server.response 14:54:30.922417 special request received, no persistency 14:54:30.922428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 47252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file outfile1424 original contents === End of file outfile1424 === Start of file server.cmd Testnum 1424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1424 ==154202== ==154202== Process terminating with default action of signal 4 (SIGILL) ==154202== Illegal opcode at address 0x4014B6F ==154202== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154202== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154202== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154202== by 0x4004266: main (tool_main.c:199) === End of file valgrind1424 env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1428 ../src/curl -q --output log/8/curl1428.out --include --trace-ascii log/8/trace1428 --trace-time http://test.1428:37085/we/want/that/page/1428 -p -x 127.0.0.1:39805 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/8/stdout1428 2> log/8/stderr1428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1408 ../src/curl -q --output log/2/curl1408.out --include --trace-ascii log/2/trace1408 --trace-time -c log/2/jar1408 -g http://[::1]:35765/path/14080001 http://[::1]:35765/path/14080002 > log/2/stdout1408 2> log/2/stderr1408 test 1429...[HTTP GET with 999 response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1429 ../src/curl -q --include --trace-ascii log/14/trace1429 --trace-time http://127.0.0.1:46043/1429 --write-out '%{response_code}' > log/14/stdout1429 2> log/14/stderr1429 1429: stdout FAILED: --- log/14/check-expected 2025-09-11 14:54:31.868864868 +0000 +++ log/14/check-generated 2025-09-11 14:54:31.868864868 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 999 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] -999 == Contents of files in the log/14/ dir after test 1429 === Start of file check-expected HTTP/1.1 999 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] 999 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1429 ../src/curl -q --include --trace-ascii log/14/trace1429 --trace-time http://127.0.0.1:46043/1429 --write-out '%{response_code}' > log/14/stdout1429 2> log/14/stderr1429 === End of file commands.log === Start of file http_server.log 14:54:30.962038 ====> Client connect 14:54:30.962077 accept_connection 3 returned 4 14:54:30.962097 accept_connection 3 returned 0 14:54:30.962114 Read 93 bytes 14:54:30.962126 Process 93 bytes request 14:54:30.962141 Got request: GET /verifiedserver HTTP/1.1 14:54:30.962152 Are-we-friendly question received 14:54:30.962178 Wrote request (93 bytes) input to log/14/server.input 14:54:30.962197 Identifying ourselves as friends 14:54:30.962264 Response sent (56 bytes) and written to log/14/server.response 14:54:30.962278 special request received, no persistency 14:54:30.962288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 34984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1429 ==154311== ==154311== Process terminating with default action of signal 4 (SIGILL) ==154311== Illegal opcode at address 0x4014B6F ==154311== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154311== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154311== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154311== by 0x4004266: main (tool_main.c:199) === End of file valgrind1429 test 1428...[HTTP over proxy-tunnel with --proxy-header and --header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1428 ../src/curl -q --output log/8/curl1428.out --include --trace-ascii log/8/trace1428 --trace-time http://test.1428:37085/we/want/that/page/1428 -p -x 127.0.0.1:39805 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/8/stdout1428 2> log/8/stderr1428 1428: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1428 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1428 ../src/curl -q --output log/8/curl1428.out --include --trace-ascii log/8/trace1428 --trace-time http://test.1428:37085/we/want/that/page/1428 -p -x 127.0.0.1:39805 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/8/stdout1428 2> log/8/stderr1428 === End of file commands.log === Start of file http2_server.log 14:54:30.982239 ====> Client connect 14:54:30.982274 accept_connection 3 returned 4 14:54:30.982296 accept_connection 3 returned 0 14:54:30.982314 Read 93 bytes 14:54:30.982329 Process 93 bytes request 14:54:30.982344 Got request: GET /verifiedserver HTTP/1.1 14:54:30.982355 Are-we-friendly question received 14:54:30.982384 Wrote request (93 bytes) input to log/8/proxy.input 14:54:30.982406 Identifying ourselves as friends 14:54:30.982472 Response sent (57 bytes) and written to log/8/proxy.response 14:54:30.982488 special request received, no persistency 14:54:30.982498 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:39805... * Established connection to 127.0.0.1 (127.0.0.1 port 39805) from 127.0.0.1 port 42716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:39805 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 147525 === End of file http2_verify.out === Start of file http_server.log 14:54:29.958673 ====> Client connect 14:54:29.958712 accept_connection 3 returned 4 14:54:29.958731 accept_connection 3 returned 0 14:54:29.958878 Read 93 bytes 14:54:29.958895 Process 93 bytes request 14:54:29.958911 Got request: GET /verifiedserver HTTP/1.1 14:54:29.958922 Are-we-friendly question received 14:54:29.958984 Wrote request (93 bytes) input to log/8/server.input 14:54:29.959005 Identifying ourselves as friends 14:54:29.959067 Response sent (56 bytes) and written to log/8/server.response 14:54:29.959080 special request received, no persistency 14:54:29.959091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 58744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147525 === End of file proxy.response === Start of file server.cmd Testnum 1428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1428 ==154359== ==154359== Process terminating with default action of signal 4 (SIGILL) ==154359== Illegal opcode at address 0x4014B6F ==154359== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154359== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154359== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154359== by 0x4004266: main (tool_main.c:199) === End of file valgrind1428 startneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1430 ../src/curl -q --output log/15/curl1430.out --include --trace-ascii log/15/trace1430 --trace-time http://127.0.0.1:42107/1430 > log/15/stdout1430 2> log/15/stderr1430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1431 ../src/curl -q --output log/21/curl1431.out --include --trace-ascii log/21/trace1431 --trace-time http://127.0.0.1:34037/1431 > log/21/stdout1431 2> log/21/stderr1431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1432 ../src/curl -q --output log/5/curl1432.out --include --trace-ascii log/5/trace1432 --trace-time http://127.0.0.1:46041/1432 > log/5/stdout1432 2> log/5/stderr1432 w: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_ipv6_server.pid" --logfile "log/2/http_ipv6_server.log" --logdir "log/2" --portfile log/2/server/http_ipv6_server.port --config log/2/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 152959 port 35765 * pid http-ipv6 => 152959 152959 test 1408...[HTTP receive cookies over IPV6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1408 ../src/curl -q --output log/2/curl1408.out --include --trace-ascii log/2/trace1408 --trace-time -c log/2/jar1408 -g http://[::1]:35765/path/14080001 http://[::1]:35765/path/14080002 > log/2/stdout1408 2> log/2/stderr1408 1408: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1408 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1408 ../src/curl -q --output log/2/curl1408.out --include --trace-ascii log/2/trace1408 --trace-time -c log/2/jar1408 -g http://[::1]:35765/path/14080001 http://[::1]:35765/path/14080002 > log/2/stdout1408 2> log/2/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 14:54:29.056459 Running HTTP IPv6 version on port 35765 14:54:29.056563 Wrote pid 152959 to log/2/server/http_ipv6_server.pid 14:54:29.056594 Wrote port 35765 to log/2/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1408 === End of file server.cmd === Start of file valgrind1408 ==154436== ==154436== Process terminating with default action of signal 4 (SIGILL) ==154436== Illegal opcode at address 0x4014B6F ==154436== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154436== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154436== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154436== by 0x4004266: main (tool_main.c:199) === End of file valgrind1408 test 1430...[HTTP GET with negative response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1430 ../src/curl -q --output log/15/curl1430.out --include --trace-ascii log/15/trace1430 --trace-time http://127.0.0.1:42107/1430 > log/15/stdout1430 2> log/15/stderr1430 1430: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1430 ../src/curl -q --output log/15/curl1430.out --include --trace-ascii log/15/trace1430 --trace-time http://127.0.0.1:42107/1430 > log/15/stdout1430 2> log/15/stderr1430 === End of file commands.log === Start of file http_server.log 14:54:31.103050 ====> Client connect 14:54:31.103088 accept_connection 3 returned 4 14:54:31.103108 accept_connection 3 returned 0 14:54:31.103124 Read 93 bytes 14:54:31.103136 Process 93 bytes request 14:54:31.103148 Got request: GET /verifiedserver HTTP/1.1 14:54:31.103159 Are-we-friendly question received 14:54:31.103187 Wrote request (93 bytes) input to log/15/server.input 14:54:31.103205 Identifying ourselves as friends 14:54:31.103271 Response sent (56 bytes) and written to log/15/server.response 14:54:31.103284 special request received, no persistency 14:54:31.103295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 46662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1430 ==154528== ==154528== Process terminating with default action of signal 4 (SIGILL) ==154528== Illegal opcode at address 0x4014B6F ==154528== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154528== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154528== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154528== by 0x4004266: main (tool_main.c:199) === End of file valgrind1430 test 1431...[HTTP GET with single-digit response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1431 ../src/curl -q --output log/21/curl1431.out --include --trace-ascii log/21/trace1431 --trace-time http://127.0.0.1:34037/1431 > log/21/stdout1431 2> log/21/stderr1431 1431: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1431 ../src/curl -q --output log/21/curl1431.out --include --trace-ascii log/21/trace1431 --trace-time http://127.0.0.1:34037/1431 > log/21/stdout1431 2> log/21/stderr1431 === End of file commands.log === Start of file http_server.log 14:54:31.102180 ====> Client connect 14:54:31.102214 accept_connection 3 returned 4 14:54:31.102232 accept_connection 3 returned 0 14:54:31.102249 Read 93 bytes 14:54:31.102261 Process 93 bytes request 14:54:31.102275 Got request: GET /verifiedserver HTTP/1.1 14:54:31.102286 Are-we-friendly question received 14:54:31.102311 Wrote request (93 bytes) input to log/21/server.input 14:54:31.102328 Identifying ourselves as friends 14:54:31.102394 Response sent (56 bytes) and written to log/21/server.response 14:54:31.102405 special request received, no persistency 14:54:31.102415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1431 ==154529== ==154529== Process terminating with default action of signal 4 (SIGILL) ==154529== Illegal opcode at address 0x4014B6F ==154529== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154529== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154529== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154529== by 0x4004266: main (tool_main.c:199) === End of file valgrind1431 test 1432...[HTTP GET with 100-digit response code and survive] ../libtool --mode=execute /usr/bin/valgrind CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1433 ../src/curl -q --output log/3/curl1433.out --include --trace-ascii log/3/trace1433 --trace-time http://127.0.0.1:38933/1433 > log/3/stdout1433 2> log/3/stderr1433 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1434 ../src/curl -q --output log/17/curl1434.out --include --trace-ascii log/17/trace1434 --trace-time http://127.0.0.1:45171/1434 -C 100 > log/17/stdout1434 2> log/17/stderr1434 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1432 ../src/curl -q --output log/5/curl1432.out --include --trace-ascii log/5/trace1432 --trace-time http://127.0.0.1:46041/1432 > log/5/stdout1432 2> log/5/stderr1432 1432: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1432 ../src/curl -q --output log/5/curl1432.out --include --trace-ascii log/5/trace1432 --trace-time http://127.0.0.1:46041/1432 > log/5/stdout1432 2> log/5/stderr1432 === End of file commands.log === Start of file http_server.log 14:54:31.132436 ====> Client connect 14:54:31.132471 accept_connection 3 returned 4 14:54:31.132488 accept_connection 3 returned 0 14:54:31.132505 Read 93 bytes 14:54:31.132516 Process 93 bytes request 14:54:31.132531 Got request: GET /verifiedserver HTTP/1.1 14:54:31.132542 Are-we-friendly question received 14:54:31.132570 Wrote request (93 bytes) input to log/5/server.input 14:54:31.132588 Identifying ourselves as friends 14:54:31.132644 Response sent (56 bytes) and written to log/5/server.response 14:54:31.132656 special request received, no persistency 14:54:31.132667 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1432 ==154614== ==154614== Process terminating with default action of signal 4 (SIGILL) ==154614== Illegal opcode at address 0x4014B6F ==154614== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154614== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154614== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154614== by 0x4004266: main (tool_main.c:199) === End of file valgrind1432 test 1433...[HTTP GET with 100-digit subversion number in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1433 ../src/curl -q --output log/3/curl1433.out --include --trace-ascii log/3/trace1433 --trace-time http://127.0.0.1:38933/1433 > log/3/stdout1433 2> log/3/stderr1433 1433: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1433 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1433 ../src/curl -q --output log/3/curl1433.out --include --trace-ascii log/3/trace1433 --trace-time http://127.0.0.1:38933/1433 > log/3/stdout1433 2> log/3/stderr1433 === End of file commands.log === Start of file http_server.log 14:54:31.154764 ====> Client connect 14:54:31.154795 accept_connection 3 returned 4 14:54:31.154812 accept_connection 3 returned 0 14:54:31.154827 Read 93 bytes 14:54:31.154841 Process 93 bytes request 14:54:31.154858 Got request: GET /verifiedserver HTTP/1.1 14:54:31.154869 Are-we-friendly question received 14:54:31.154896 Wrote request (93 bytes) input to log/3/server.input 14:54:31.154917 Identifying ourselves as friends 14:54:31.154999 Response sent (57 bytes) and written to log/3/server.response 14:54:31.155010 special request received, no persistency 14:54:31.155020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 55718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd Testnum 1433 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file valgrind1433 ==154674== ==154674== Process terminating with default action of signal 4 (SIGILL) ==154674== Illegal opcode at address 0x4014B6F ==154674== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154674== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154674== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154674== by 0x4004266: main (tool_main.c:199) === End of file valgrind1433 test 1434...[HTTP GET resume at exactly the existing file size is fine] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1434 ../src/curl -q --output log/17/curl1434.out --include --trace-ascii log/17/trace1434 --trace-time http://127.0.0.1:45171/1434 -C 100 > log/17/stdout1434 2> log/17/stderr1434 1434: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1434 ../src/curl -q --output log/17/curl1434.out --include --trace-ascii log/17/trace1434 --trace-time http://127.0.0.1:45171/1434 -C 100 > log/17/stdout1434 2> log/17/stderr1434 === End of file commands.log === Start of file curl1434.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1434.out === Start of file http_server.log 14:54:31.159482 ====> Client connect 14:54:31.159530 accept_connection 3 returned 4 14:54:31.159546 accept_connection 3 returned 0 14:54:31.159559 Read 93 bytes 14:54:31.159569 Process 93 bytes request 14:54:31.159580 Got request: GET /verifiedserver HTTP/1.1 14:54:31.159588 Are-we-friendly question received 14:54:31.159610 Wrote request (93 bytes) input to log/17/server.input 14:54:31.159624 Identifying ourselves as friends 14:54:31.159713 Response sent (56 bytes) and written to log/17/server.response 14:54:31.159725 special request received, no persistency 14:54:31.159733 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 38530 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK ContCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1438 ../src/curl -q --include --trace-ascii log/16/trace1438 --trace-time http://127.0.0.1:34475/1438 --write-out '%{scheme}' > log/16/stdout1438 2> log/16/stderr1438 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1437 ../src/curl -q --output log/11/curl1437.out --include --trace-ascii log/11/trace1437 --trace-time http://127.0.0.1:33503/1437 -u testuser:testpass --digest > log/11/stdout1437 2> log/11/stderr1437 ent-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1434 ==154711== ==154711== Process terminating with default action of signal 4 (SIGILL) ==154711== Illegal opcode at address 0x4014B6F ==154711== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154711== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154711== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154711== by 0x4004266: main (tool_main.c:199) === End of file valgrind1434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1441 ../src/curl -q --include --trace-ascii log/9/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out '%' > log/9/stdout1441 2> log/9/stderr1441 test 1438...[Check if %{scheme} returns HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1438 ../src/curl -q --include --trace-ascii log/16/trace1438 --trace-time http://127.0.0.1:34475/1438 --write-out '%{scheme}' > log/16/stdout1438 2> log/16/stderr1438 1438: stdout FAILED: --- log/16/check-expected 2025-09-11 14:54:32.062198203 +0000 +++ log/16/check-generated 2025-09-11 14:54:32.058864871 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -http == Contents of files in the log/16/ dir after test 1438 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] http === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1438 ../src/curl -q --include --trace-ascii log/16/trace1438 --trace-time http://127.0.0.1:34475/1438 --write-out '%{scheme}' > log/16/stdout1438 2> log/16/stderr1438 === End of file commands.log === Start of file http_server.log 14:54:31.192661 ====> Client connect 14:54:31.192698 accept_connection 3 returned 4 14:54:31.192717 accept_connection 3 returned 0 14:54:31.192735 Read 93 bytes 14:54:31.192748 Process 93 bytes request 14:54:31.192763 Got request: GET /verifiedserver HTTP/1.1 14:54:31.192775 Are-we-friendly question received 14:54:31.192803 Wrote request (93 bytes) input to log/16/server.input 14:54:31.192824 Identifying ourselves as friends 14:54:31.192888 Response sent (56 bytes) and written to log/16/server.response 14:54:31.192903 special request received, no persistency 14:54:31.192914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1438 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1438 ==154820== ==154820== Process terminating with default action of signal 4 (SIGILL) ==154820== Illegal opcode at address 0x4014B6F ==154820== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154820== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154820== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154820== by 0x4004266: main (tool_main.c:199) === End of file valgrind1438 test 1437...[HTTP with duplicated WWW-Authenticate parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1437 ../src/curl -q --output log/11/curl1437.out --include --trace-ascii log/11/trace1437 --trace-time http://127.0.0.1:33503/1437 -u testuser:testpass --digest > log/11/stdout1437 2> log/11/stderr1437 1437: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1437 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1437 ../src/curl -q --output log/11/curl1437.out --include --trace-ascii log/11/trace1437 --trace-time http://127.0.0.1:33503/1437 -u testuser:testpass --digest > log/11/stdout1437 2> log/11/stderr1437 === End of file commands.log === Start of file http_server.log 14:54:31.183733 ====> Client connect 14:54:31.183770 accept_connection 3 returned 4 14:54:31.183787 accept_connection 3 returned 0 14:54:31.183804 Read 93 bytes 14:54:31.183815 Process 93 bytes request 14:54:31.183829 Got request: GET /verifiedserver HTTP/1.1 14:54:31.183839 Are-we-friendly question received 14:54:31.183866 Wrote request (93 bytes) input to log/11/server.input 14:54:31.183883 Identifying ourselves as friends 14:54:31.183938 Response sent (56 bytes) and written to log/11/server.response 14:54:31.183948 special request received, no persistency 14:54:31.183958 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1437 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1437 ==154809== ==154809== Process terminating with default action of signal 4 (SIGILL) ==154809== Illegal opcode at address 0x4014B6F ==154809== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154809== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154809== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154809== by 0x4004266: main (tool_main.c:199) === End of file valgrind1437 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1442 ../src/curl -q --include --trace-ascii log/19/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/non-existent-file.txt --write-out='\' > log/19/stdout1442 2> log/19/stderr1442 test 1441...[Check --write-out with trailing %] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1441 ../src/curl -q --include --trace-ascii log/9/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out '%' > log/9/stdout1441 2> log/9/stderr1441 1441: stdout FAILED: --- log/9/check-expected 2025-09-11 14:54:32.138864872 +0000 +++ log/9/check-generated 2025-09-11 14:54:32.138864872 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/9/ dir after test 1441 === Start of file check-expected % === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1441 ../src/curl -q --include --trace-ascii log/9/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out '%' > log/9/stdout1441 2> log/9/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==154958== ==154958== Process terminating with default action of signal 4 (SIGILL) ==154958== Illegal opcode at address 0x4014B6F ==154958== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154958== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154958== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154958== by 0x4004266: main (tool_main.c:199) === End of file valgrind1441 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 test 1442...[Check --write-out with trailing \] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1442 ../src/curl -q --include --trace-ascii log/19/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/non-existent-file.txt --write-out='\' > log/19/stdout1442 2> log/19/stderr1442 1442: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:32.145531538 +0000 +++ log/19/check-generated 2025-09-11 14:54:32.145531538 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/19/ dir after test 1442 === Start of file check-expected \ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1442 ../src/curl -q --include --trace-ascii log/19/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/19/non-existent-file.txt --write-out='\' > log/19/stdout1442 2> log/19/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==154961== ==154961== Process terminating with default action of signal 4 (SIGILL) ==154961== Illegal opcode at address 0x4014B6F ==154961== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154961== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154961== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154961== by 0x4004266: main (tool_main.c:199) === End of file valgrind1442 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:38851/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 test 1440...[Check --write-out with trailing %{] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 1440: stdout FAILED: --- log/24/check-expected 2025-09-11 14:54:32.152198205 +0000 +++ log/24/check-generated 2025-09-11 14:54:32.152198205 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/24/ dir after test 1440 === Start of file check-expected %{ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==154956== ==154956== Process terminating with default action of signal 4 (SIGILL) ==154956== Illegal opcode at address 0x4014B6F ==154956== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154956== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154956== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154956== by 0x4004266: main (tool_main.c:199) === End of file valgrind1440 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1445 ../src/curl -q --output log/12/curl1445.out --include --trace-ascii log/12/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1445.dir/plainfile.txt --remote-time > log/12/stdout1445 2> log/12/stderr1445 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1443 ../src/curl -q --trace-ascii log/10/trace1443 --trace-time http://127.0.0.1:35893/1443 -O --remote-time --output-dir log/10 > log/10/stdout1443 2> log/10/stderr1443 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1447 ../src/curl -q --output log/7/curl1447.out --include --trace-ascii log/7/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/7/stdout1447 2> log/7/stderr1447 CMD (256): /usr/bin/perl -e 'exit((stat("log/10/1443"))[9] != 960898200)' CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/12/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/12/curl1445.out"))[9] != 946728000)' test 1439...[Check if %{http_version} returns 1.1] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:38851/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 1439: stdout FAILED: --- log/23/check-expected 2025-09-11 14:54:32.158864872 +0000 +++ log/23/check-generated 2025-09-11 14:54:32.158864872 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -1.1 == Contents of files in the log/23/ dir after test 1439 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 1.1 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:38851/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 === End of file commands.log === Start of file http_server.log 14:54:31.279562 ====> Client connect 14:54:31.279588 accept_connection 3 returned 4 14:54:31.279601 accept_connection 3 returned 0 14:54:31.279613 Read 93 bytes 14:54:31.279622 Process 93 bytes request 14:54:31.279634 Got request: GET /verifiedserver HTTP/1.1 14:54:31.279642 Are-we-friendly question received 14:54:31.279676 Wrote request (93 bytes) input to log/23/server.input 14:54:31.279693 Identifying ourselves as friends 14:54:31.279749 Response sent (56 bytes) and written to log/23/server.response 14:54:31.279761 special request received, no persistency 14:54:31.279771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1439 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1439 ==154999== ==154999== Process terminating with default action of signal 4 (SIGILL) ==154999== Illegal opcode at address 0x4014B6F ==154999== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==154999== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==154999== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==154999== by 0x4004266: main (tool_main.c:199) === End of file valgrind1439 test 1447...[Provide illegal proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1447 ../src/curl -q --output log/7/curl1447.out --include --trace-ascii log/7/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/7/stdout1447 2> log/7/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/7/ dir after test 1447 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1447 ../src/curl -q --output log/7/curl1447.out --include --trace-ascii log/7/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/7/stdout1447 2> log/7/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==155190== ==155190== Process terminating with default action of signal 4 (SIGILL) ==155190== Illegal opcode at address 0x4014B6F ==155190== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155190== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155190== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155190== by 0x4004266: main (tool_main.c:199) === End of file valgrind1447 test 1443...[HTTP GET with -O and --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1443 ../src/curl -q --trace-ascii log/10/trace1443 --trace-time http://127.0.0.1:35893/1443 -O --remote-time --output-dir log/10 > log/10/stdout1443 2> log/10/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/10/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/10/ dir after test 1443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1443 ../src/curl -q --trace-ascii log/10/trace1443 --trace-time http://127.0.0.1:35893/1443 -O --remote-time --output-dir log/10 > log/10/stdout1443 2> log/10/stderr1443 === End of file commands.log === Start of file http_server.log 14:54:31.382945 ====> Client connect 14:54:31.382996 accept_connection 3 returned 4 14:54:31.383015 accept_connection 3 returned 0 14:54:31.383032 Read 93 bytes 14:54:31.383043 Process 93 bytes request 14:54:31.383060 Got request: GET /verifiedserver HTTP/1.1 14:54:31.383071 Are-we-friendly question received 14:54:31.383098 Wrote request (93 bytes) input to log/10/server.input 14:54:31.383116 Identifying ourselves as friends 14:54:31.383172 Response sent (56 bytes) and written to log/10/server.response 14:54:31.383183 special request received, no persistency 14:54:31.383193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1443 ==155184== ==155184== Process terminating with default action of signal 4 (SIGILL) ==155184== Illegal opcode at address 0x4014B6F ==155184== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155184== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155184== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155184== by 0x4004266: main (tool_main.c:199) === End of file valgrind1443 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/12/test1445.dir test 1445...[file:// with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1445 ../src/curl -q --output log/12/curl1445.out --include --trace-ascii log/12/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1445.dir/plainfile.txt --remote-time > log/12/stdout1445 2> log/12/stderr1445 postchecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1444 ../src/curl -q --output log/1/curl1444.out --include --trace-ascii log/1/trace1444 --trace-time ftp://127.0.0.1:43113/1444 --remote-time > log/1/stdout1444 2> log/1/stderr1444 CMD (256): /usr/bin/perl -e 'exit((stat("log/1/curl1444.out"))[9] != 1234567890)' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:41533/1448 --resolve xn--4cab6c.se:41533:127.0.0.1 -L --connect-to 127.0.0.1:41533:127.0.0.1:41533 > log/13/stdout1448 2> log/13/stderr1448 k /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/12/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/12/curl1445.out"))[9] != 946728000)' 1445: postcheck FAILED == Contents of files in the log/12/ dir after test 1445 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1445 ../src/curl -q --output log/12/curl1445.out --include --trace-ascii log/12/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1445.dir/plainfile.txt --remote-time > log/12/stdout1445 2> log/12/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==155208== ==155208== Process terminating with default action of signal 4 (SIGILL) ==155208== Illegal opcode at address 0x4014B6F ==155208== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155208== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155208== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155208== by 0x4004266: main (tool_main.c:199) === End of file valgrind1445 test 1444...[FTP with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1444 ../src/curl -q --output log/1/curl1444.out --include --trace-ascii log/1/trace1444 --trace-time ftp://127.0.0.1:43113/1444 --remote-time > log/1/stdout1444 2> log/1/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/1/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/1/ dir after test 1444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1444 ../src/curl -q --output log/1/curl1444.out --include --trace-ascii log/1/trace1444 --trace-time ftp://127.0.0.1:43113/1444 --remote-time > log/1/stdout1444 2> log/1/stderr1444 === End of file commands.log === Start of file ftp_server.log 14:54:31.311246 ====> Client connect 14:54:31.311388 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:31.311671 < "USER anonymous" 14:54:31.311709 > "331 We are happy you popped in![CR][LF]" 14:54:31.311890 < "PASS ftp@example.com" 14:54:31.311918 > "230 Welcome you silly person[CR][LF]" 14:54:31.312083 < "PWD" 14:54:31.312117 > "257 "/" is current directory[CR][LF]" 14:54:31.312293 < "EPSV" 14:54:31.312322 ====> Passive DATA channel requested by client 14:54:31.312337 DATA sockfilt for passive data channel starting... 14:54:31.314059 DATA sockfilt for passive data channel started (pid 155183) 14:54:31.314167 DATA sockfilt for passive data channel listens on port 40267 14:54:31.314213 > "229 Entering Passive Mode (|||40267|)[LF]" 14:54:31.314235 Client has been notified that DATA conn will be accepted on port 40267 14:54:31.314466 Client connects to port 40267 14:54:31.314497 ====> Client established passive DATA connection on port 40267 14:54:31.314569 < "TYPE I" 14:54:31.314599 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:31.314776 < "SIZE verifiedserver" 14:54:31.314813 > "213 17[CR][LF]" 14:54:31.314970 < "RETR verifiedserver" 14:54:31.315002 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:31.315078 =====> Closing passive DATA connection... 14:54:31.315094 Server disconnects passive DATA connection 14:54:31.315329 Server disconnected passive DATA connection 14:54:31.315356 DATA sockfilt for passive data channel quits (pid 155183) 14:54:31.315548 DATA sockfilt for passive data channel quit (pid 155183) 14:54:31.315570 =====> Closed passive DATA connection 14:54:31.315596 > "226 File transfer complete[CR][LF]" 14:54:31.357233 < "QUIT" 14:54:31.357290 > "221 bye bye baby[CR][LF]" 14:54:31.358237 MAIN sockfilt said DISC 14:54:31.358268 ====> Client disconnected 14:54:31.358353 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:30.393962 ====> Client connect 14:54:30.394213 Received DATA (on stdin) 14:54:30.394230 > 160 bytes data, server => client 14:54:30.394244 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:30.394257 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:30.394269 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:30.394347 < 16 bytes data, client => server 14:54:30.394361 'USER anonymous\r\n' 14:54:30.394526 Received DATA (on stdin) 14:54:30.394541 > 33 bytes data, server => client 14:54:30.394553 '331 We are happy you popped in!\r\n' 14:54:30.394607 < 22 bytes data, client => server 14:54:30.394620 'PASS ftp@example.com\r\n' 14:54:30.394730 Received DATA (on stdin) 14:54:30.394744 > 30 bytes data, server => client 14:54:30.394756 '230 Welcome you silly person\r\n' 14:54:30.394807 < 5 bytes data, client => server 14:54:30.394820 'PWD\r\n' 14:54:30.394929 Received DATA (on stdin) 14:54:30.394943 > 30 bytes data, server => client 14:54:30.394955 '257 "/" is current directory\r\n' 14:54:30.395017 < 6 bytes data, client => server 14:54:30.395031 'EPSV\r\n' 14:54:30.397055 Received DATA (on stdin) 14:54:30.397069 > 38 bytes data, server => client 14:54:30.397082 '229 Entering Passive Mode (|||40267|)\n' 14:54:30.397224 < 8 bytes data, client => server 14:54:30.397238 'TYPE I\r\n' 14:54:30.397414 Received DATA (on stdin) 14:54:30.397429 > 33 bytes data, server => client 14:54:30.397441 '200 I modify TYPE as you wanted\r\n' 14:54:30.397496 < 21 bytes data, client => server 14:54:30.397510 'SIZE verifiedserver\r\n' 14:54:30.397624 Received DATA (on stdin) 14:54:30.397637 > 8 bytes data, server => client 14:54:30.397648 '213 17\r\n' 14:54:30.397699 < 21 bytes data, client => server 14:54:30.397711 'RETR verifiedserver\r\n' 14:54:30.397907 Received DATA (on stdin) 14:54:30.397919 > 29 bytes data, server => client 14:54:30.397931 '150 Binary junk (17 bytes).\r\n' 14:54:30.398408 Received DATA (on stdin) 14:54:30.398422 > 28 bytes data, server => client 14:54:30.398433 '226 File transfer complete\r\n' 14:54:30.439808 < 6 bytes data, client => server 14:54:30.439846 'QUIT\r\n' 14:54:30.440110 Received DATA (on stdin) 14:54:30.440125 > 18 bytes data, server => client 14:54:30.440136 '221 bye bye baby\r\n' 14:54:30.440993 ====> Client disconnect 14:54:30.441168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:31.396595 Running IPv4 version 14:54:31.396645 Listening on port 40267 14:54:31.396681 Wrote pid 155183 to log/1/server/ftp_sockdata.pid 14:54:31.396816 Received PING (on stdin) 14:54:31.396894 Received PORT (on stdin) 14:54:31.397193 ====> Client connect 14:54:31.397956 Received DATA (on stdin) 14:54:31.397970 > 17 bytes data, server => client 14:54:31.397982 'WE ROOLZ: 80194\r\n' 14:54:31.398006 Received DISC (on stdin) 14:54:31.398019 ====> Client forcibly disconnected 14:54:31.398173 Received QUIT (on stdin) 14:54:31.398186 quits 14:54:31.398238 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==155331== ==155331== Process terminating with default action of signal 4 (SIGILL) ==155331== Illegal opcode at address 0x4014B6F ==155331== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155331== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155331== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155331== by 0x4004266: main (tool_main.c:199) === End of file valgrind1444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1449 ../src/curl -q --output log/18/curl1449.out --include --trace-ascii log/18/trace1449 --trace-time ftp://127.0.0.1:41069/1449 -r 36893488147419103232- > log/18/stdout1449 2> log/18/stderr1449 setenv LC_ALL = C.UTF-8 test 1448...[Redirect following to UTF-8 IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:41533/1448 --resolve xn--4cab6c.se:41533:127.0.0.1 -L --connect-to 127.0.0.1:41533:127.0.0.1:41533 > log/13/stdout1448 2> log/13/stderr1448 1448: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:32.375531542 +0000 +++ log/13/check-generated 2025-09-11 14:54:32.375531542 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: http://%c3%a5%c3%a4%c3%b6.se:41533/14480001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] == Contents of files in the log/13/ dir after test 1448 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: http://%c3%a5%c3%a4%c3%b6.se:41533/14480001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:41533/1448 --resolve xn--4cab6c.se:41533:127.0.0.1 -L --connect-to 127.0.0.1:41533:127.0.0.1:41533 > log/13/stdout1448 2> log/13/stderr1448 === End of file commands.log === Start of file http_server.log 14:54:31.514935 ====> Client connect 14:54:31.514977 accept_connection 3 returned 4 14:54:31.514997 accept_connection 3 returned 0 14:54:31.515012 Read 93 bytes 14:54:31.515023 Process 93 bytes request 14:54:31.515039 Got request: GET /verifiedserver HTTP/1.1 14:54:31.515050 Are-we-friendly question received 14:54:31.515078 Wrote request (93 bytes) input to log/13/server.input 14:54:31.515097 Identifying ourselves as friends 14:54:31.515156 Response sent (56 bytes) and written to log/13/server.response 14:54:31.515168 special request received, no persistency 14:54:31.515178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1448 ==155416== ==155416== Process terminating with default action of signal 4 (SIGILL) ==155416== Illegal opcode at address 0x4014B6F ==155416== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155416== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155416== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155416== by 0x4004266: main (tool_main.c:199) === End of file valgrind1448 test 1449...[FTP download range with integer overflow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1449 ../src/curl -q --output log/18/curl1449.out --include --trace-ascii log/18/trace1449 --trace-time ftp://127.0.0.1:41069/1449 -r 36893488147419103232- > log/18/stdout1449 2> log/18/stderr1449 1449: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1449 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1449 ../src/curl -q --output log/18/curl1449.out --include --trace-ascii log/18/trace1449 --trace-time ftp://127.0.0.1:41069/1449 -r 36893488147419103232- > log/18/stdout1449 2> log/18/stderr1449 === End of file commands.log === Start of file ftp_server.log 14:54:31.444147 ====> Client connect 14:54:31.444281 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:31.444552 < "USER anonymous" 14:54:31.444584 > "331 We are happy you popped in![CR][LF]" 14:54:31.444740 < "PASS ftp@example.com" 14:54:31.444765 > "230 Welcome you silly person[CR][LF]" 14:54:31.444914 < "PWD" 14:54:31.444944 > "257 "/" is current directory[CR][LF]" 14:54:31.445100 < "EPSV" 14:54:31.445123 ====> Passive DATA channel requested by client 14:54:31.445136 DATA sockfilt for passive data channel starting... 14:54:31.447311 DATA sockfilt for passive data channel started (pid 155414) 14:54:31.447465 DATA sockfilt for passive data channel listens on port 42105 14:54:31.447520 > "229 Entering Passive Mode (|||42105|)[LF]" 14:54:31.447545 Client has been notified that DATA conn will be accepted on port 42105 14:54:31.447859 Client connects to port 42105 14:54:31.447892 ====> Client established passive DATA connection on port 42105 14:54:31.447983 < "TYPE I" 14:54:31.448020 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:31.448203 < "SIZE verifiedserver" 14:54:31.448245 > "213 17[CR][LF]" 14:54:31.448426 < "RETR verifiedserver" 14:54:31.448464 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:31.448553 =====> Closing passive DATA connection... 14:54:31.448572 Server disconnects passive DATA connection 14:54:31.448833 Server disconnected passive DATA connection 14:54:31.448865 DATA sockfilt for passive data channel quits (pid 155414) 14:54:31.449123 DATA sockfilt for passive data channel quit (pid 155414) 14:54:31.449151 =====> Closed passive DATA connection 14:54:31.449181 > "226 File transfer complete[CR][LF]" 14:54:31.497198 < "QUIT" 14:54:31.497251 > "221 bye bye baby[CR][LF]" 14:54:31.498339 MAIN sockfilt said DISC 14:54:31.498404 ====> Client disconnected 14:54:31.498515 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:31.526854 ====> Client connect 14:54:31.527102 Received DATA (on stdin) 14:54:31.527118 > 160 bytes data, server => client 14:54:31.527131 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:31.527143 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:31.527154 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:31.527229 < 16 bytes data, client => server 14:54:31.527242 'USER anonymous\r\n' 14:54:31.527396 Received DATA (on stdin) 14:54:31.527408 > 33 bytes data, server => client 14:54:31.527419 '331 We are happy you popped in!\r\n' 14:54:31.527466 < 22 bytes data, client => server 14:54:31.527477 'PASS ftp@example.com\r\n' 14:54:31.527577 Received DATA (on stdin) 14:54:31.527589 > 30 bytes data, server => client 14:54:31.527600 '230 Welcome you silly person\r\n' 14:54:31.527644 < 5 bytes data, client => server 14:54:31.527655 'PWD\r\n' 14:54:31.527754 Received DATA (on stdin) 14:54:31.527766 > 30 bytes data, server => client 14:54:31.527778 '257 "/" is current directory\r\n' 14:54:31.527834 < 6 bytes data, client => server 14:54:31.527846 'EPSV\r\n' 14:54:31.530368 Received DATA (on stdin) 14:54:31.530389 > 38 bytes data, server =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1453 ../src/curl -q --output log/8/curl1453.out --include --trace-ascii log/8/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/8/stdout1453 2> log/8/stderr1453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1436 ../src/curl -q --include --trace-ascii log/6/trace1436 --trace-time --unix-socket /tmp/curl-http-nLedgn53 http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/6/stdout1436 2> log/6/stderr1436 > client 14:54:31.530402 '229 Entering Passive Mode (|||42105|)\n' 14:54:31.530611 < 8 bytes data, client => server 14:54:31.530626 'TYPE I\r\n' 14:54:31.530837 Received DATA (on stdin) 14:54:31.530852 > 33 bytes data, server => client 14:54:31.530865 '200 I modify TYPE as you wanted\r\n' 14:54:31.530920 < 21 bytes data, client => server 14:54:31.530935 'SIZE verifiedserver\r\n' 14:54:31.531060 Received DATA (on stdin) 14:54:31.531075 > 8 bytes data, server => client 14:54:31.531087 '213 17\r\n' 14:54:31.531142 < 21 bytes data, client => server 14:54:31.531158 'RETR verifiedserver\r\n' 14:54:31.531389 Received DATA (on stdin) 14:54:31.531404 > 29 bytes data, server => client 14:54:31.531417 '150 Binary junk (17 bytes).\r\n' 14:54:31.531997 Received DATA (on stdin) 14:54:31.532012 > 28 bytes data, server => client 14:54:31.532024 '226 File transfer complete\r\n' 14:54:31.579786 < 6 bytes data, client => server 14:54:31.579834 'QUIT\r\n' 14:54:31.580062 Received DATA (on stdin) 14:54:31.580072 > 18 bytes data, server => client 14:54:31.580082 '221 bye bye baby\r\n' 14:54:31.581051 ====> Client disconnect 14:54:31.581330 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:31.529889 Running IPv4 version 14:54:31.529985 Listening on port 42105 14:54:31.530023 Wrote pid 155414 to log/18/server/ftp_sockdata.pid 14:54:31.530048 Received PING (on stdin) 14:54:31.530173 Received PORT (on stdin) 14:54:31.530577 ====> Client connect 14:54:31.531445 Received DATA (on stdin) 14:54:31.531461 > 17 bytes data, server => client 14:54:31.531473 'WE ROOLZ: 80342\r\n' 14:54:31.531499 Received DISC (on stdin) 14:54:31.531513 ====> Client forcibly disconnected 14:54:31.531688 Received QUIT (on stdin) 14:54:31.531703 quits 14:54:31.531762 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==155469== ==155469== Process terminating with default action of signal 4 (SIGILL) ==155469== Illegal opcode at address 0x4014B6F ==155469== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155469== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155469== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155469== by 0x4004266: main (tool_main.c:199) === End of file valgrind1449 test 1453...[Too long tftp filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1453 ../src/curl -q --output log/8/curl1453.out --include --trace-ascii log/8/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/8/stdout1453 2> log/8/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/8/ dir after test 1453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1453 ../src/curl -q --output log/8/curl1453.out --include --trace-ascii log/8/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/8/stdout1453 2> log/8/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==155571== ==155571== Process terminating with default action of signal 4 (SIGILL) ==155571== Illegal opcode at address 0x4014B6F ==155571== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155571== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155571== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155571== by 0x4004266: main (tool_main.c:199) === End of file valgrind1453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_unix_server.pid" --logfile "log/6/http_unix_server.log" --logdir "log/6" --portfile log/6/server/http_unix_server.port --config log/6/server.cmd --unix-socket '/tmp/curl-http-nLedgn53' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 154642 port 8999 * pid http-unix => 154642 154642 test 1436...[HTTP requests with multiple connections over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1436 ../src/curl -q --include --trace-ascii log/6/trace1436 --trace-time --unix-socket /tmp/curl-http-nLedgn53 http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/6/stdout1436 2> log/6/stderr1436 1436: stdout FAILED: --- log/6/check-expected 2025-09-11 14:54:32.882198215 +0000 +++ log/6/check-generated 2025-09-11 14:54:32.882198215 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] -Content-Length: 6[LF] -[LF] -First[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] -Content-Length: 7[LF] -[LF] -Second[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] -Content-Length: 6[LF] -[LF] -Third[LF] == Contents of files in the log/6/ dir after test 1436 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] Content-Length: 6[LF] [LF] First[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] Content-Length: 7[LF] [LF] Second[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] Content-Length: 6[LF] [LF] Third[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1436 ../src/curl -q --include --trace-ascii log/6/trace1436 --trace-time --unix-socket /tmp/curl-http-nLedgn53 http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/6/stdout1436 2> log/6/stderr1436 === End of file commands.log === Start of file http_unix_server.log 14:54:31.177655 Running HTTP unix version on /tmp/curl-http-nLedgn53 14:54:31.177734 Wrote pid 154642 to log/6/server/http_unix_server.pid 14:54:31.177764 Wrote port 8999 to log/6/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1436 === End of file server.cmd === Start of file valgrind1436 ==155967== ==155967== Process terminating with default action of signal 4 (SIGILL) ==155967== Illegal opcode at address 0x4014B6F ==155967== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155967== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155967== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155967== by 0x4004266: main (tool_main.c:199) === End of file valgrind1436 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/6/stdout1477 2> log/6/stderr1477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1462 ../src/curl -q --include --trace-ascii log/17/trace1462 --trace-time --help sdfafdsfadsfsd > log/17/stdout1462 2> log/17/stderr1462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1457 ../src/curl -q --include --trace-ascii log/21/trace1457 --trace-time http://127.0.0.1:34037/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/21/stdout1457 2> log/21/stderr1457 test 1464...[curl file category --help with lower/upper mix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 1464: stdout FAILED: --- log/11/check-expected 2025-09-11 14:54:32.888864882 +0000 +++ log/11/check-generated 2025-09-11 14:54:32.888864882 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/11/ dir after test 1464 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==155869== ==155869== Process terminating with default action of signal 4 (SIGILL) ==155869== Illegal opcode at address 0x4014B6F ==155869== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155869== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155869== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155869== by 0x4004266: main (tool_main.c:199) === End of file valgrind1464 test 1477...[Verify that error codes in headers and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/6/stdout1477 2> log/6/stderr1477 valgrind SKIPPED s------e--- OK (1391 out of 1725, remaining: 00:24, took 0.019s, duration: 01:41) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1455 ../src/curl -q --output log/2/curl1455.out --include --trace-ascii log/2/trace1455 --trace-time http://127.0.0.1:37587/1455 --haproxy-protocol -H "Testno: 1455" > log/2/stdout1455 2> log/2/stderr1455 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/11/stdout1478 2> log/11/stderr1478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /tmp/curl-http-B5EVhpC5 http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1463 ../src/curl -q --include --trace-ascii log/16/trace1463 --trace-time --help file > log/16/stdout1463 2> log/16/stderr1463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1460 ../src/curl -q --trace-ascii log/3/trace1460 --trace-time http://127.0.0.1:38933/1460 -Ji -O --output-dir log/3 > log/3/stdout1460 2> log/3/stderr1460 test 1462...[curl invalid category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1462 ../src/curl -q --include --trace-ascii log/17/trace1462 --trace-time --help sdfafdsfadsfsd > log/17/stdout1462 2> log/17/stderr1462 1462: stdout FAILED: --- log/17/check-expected 2025-09-11 14:54:32.918864882 +0000 +++ log/17/check-generated 2025-09-11 14:54:32.918864882 +0000 @@ -1,27 +0,0 @@ -Unknown category provided, here is a list of all categories:[CR][LF] -[CR][LF] - auth Authentication methods[CR][LF] - connection Manage connections[CR][LF] - curl The command line tool itself[CR][LF] - deprecated Legacy[CR][LF] - dns Names and resolving[CR][LF] - file FILE protocol[CR][LF] - ftp FTP protocol[CR][LF] - global Global options[CR][LF] - http HTTP and HTTPS protocol[CR][LF] - imap IMAP protocol[CR][LF] - ldap LDAP protocol[CR][LF] - output File system output[CR][LF] - pop3 POP3 protocol[CR][LF] - post HTTP POST specific[CR][LF] - proxy Options for proxies[CR][LF] - scp SCP protocol[CR][LF] - sftp SFTP protocol[CR][LF] - smtp SMTP protocol[CR][LF] - ssh SSH protocol[CR][LF] - telnet TELNET protocol[CR][LF] - tftp TFTP protocol[CR][LF] - timeout Timeouts and delays[CR][LF] - tls TLS/SSL related[CR][LF] - upload Upload, sending data[CR][LF] - verbose Tracing, logging etc[CR][LF] == Contents of files in the log/17/ dir after test 1462 === Start of file check-expected Unknown category provided, here is a list of all categories:[CR][LF] [CR][LF] auth Authentication methods[CR][LF] connection Manage connections[CR][LF] curl The command line tool itself[CR][LF] deprecated Legacy[CR][LF] dns Names and resolving[CR][LF] file FILE protocol[CR][LF] ftp FTP protocol[CR][LF] global Global options[CR][LF] http HTTP and HTTPS protocol[CR][LF] imap IMAP protocol[CR][LF] ldap LDAP protocol[CR][LF] output File system output[CR][LF] pop3 POP3 protocol[CR][LF] post HTTP POST specific[CR][LF] proxy Options for proxies[CR][LF] scp SCP protocol[CR][LF] sftp SFTP protocol[CR][LF] smtp SMTP protocol[CR][LF] ssh SSH protocol[CR][LF] telnet TELNET protocol[CR][LF] tftp TFTP protocol[CR][LF] timeout Timeouts and delays[CR][LF] tls TLS/SSL related[CR][LF] upload Upload, sending data[CR][LF] verbose Tracing, logging etc[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1462 ../src/curl -q --include --trace-ascii log/17/trace1462 --trace-time --help sdfafdsfadsfsd > log/17/stdout1462 2> log/17/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==155776== ==155776== Process terminating with default action of signal 4 (SIGILL) ==155776== Illegal opcode at address 0x4014B6F ==155776== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155776== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155776== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155776== by 0x4004266: main (tool_main.c:199) === End of file valgrind1462 test 1455...[HTTP GET when PROXY Protocol enabled] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1455 ../src/curl -q --output log/2/curl1455.out --include --trace-ascii log/2/trace1455 --trace-time http://127.0.0.1:37587/1455 --haproxy-protocol -H "Testno: 1455" > log/2/stdout1455 2> log/2/stderr1455 1455: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1455 ../src/curl -q --output log/2/curl1455.out --include --trace-ascii log/2/trace1455 --trace-time http://127.0.0.1:37587/1455 --haproxy-protocol -H "Testno: 1455" > log/2/stdout1455 2> log/2/stderr1455 === End of file commands.log === Start of file http_server.log 14:54:32.056377 ====> Client connect 14:54:32.056413 accept_connection 3 returned 4 14:54:32.056430 accept_connection 3 returned 0 14:54:32.056445 Read 93 bytes 14:54:32.056456 Process 93 bytes request 14:54:32.056468 Got request: GET /verifiedserver HTTP/1.1 14:54:32.056478 Are-we-friendly question received 14:54:32.056501 Wrote request (93 bytes) input to log/2/server.input 14:54:32.056519 Identifying ourselves as friends 14:54:32.056565 Response sent (56 bytes) and written to log/2/server.response 14:54:32.056574 special request received, no persistency 14:54:32.056582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 50736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1455 ==155640== ==155640== Process terminating with default action of signal 4 (SIGILL) ==155640== Illegal opcode at address 0x4014B6F ==155640== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155640== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155640== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155640== by 0x4004266: main (tool_main.c:199) === End of file valgrind1455 test 1478...[src/tool_listhelp.c is in sync with docs/cmdline-opts] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/11/stdout1478 2> log/11/stderr1478 valgrind SKIPPED s------e--- OK (1392 out of 1725, remaining: 00:24, took 0.048s, duration: 01:41) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_unix_server.pid" --logfile "log/20/http_unix_server.log" --logdir "log/20" --portfile log/20/server/http_unix_server.port --config log/20/server.cmd --unix-socket '/tmp/curl-http-B5EVhpC5' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 154571 port 8999 * pid http-unix => 154571 154571 test 1435...[simple HTTP GET over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /tmp/curl-http-B5EVhpC5 http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 1435: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1435 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /tmp/curl-http-B5EVhpC5 http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 === End of file commands.log === Start of file http_unix_server.log 14:54:31.154312 Running HTTP unix version on /tmp/curl-http-B5EVhpC5 14:54:31.154393 Wrote pid 154571 to log/20/server/http_unix_server.pid 14:54:31.154424 Wrote port 8999 to log/20/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1435 === End of file server.cmd === Start of file valgrind1435 ==155787== ==155787== Process terminating with default action of signal 4 (SIGILL) ==155787== Illegal opcode at address 0x4014B6F ==155787== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155787== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155787== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155787== by 0x4004266: main (tool_main.c:199) === End of file valgrind1435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1458 ../src/curl -q --output log/5/curl1458.out --include --trace-ascii log/5/trace1458 --trace-time --resolve *:46041:127.0.0.1 http://example.com:46041/1458 > log/5/stdout1458 2> log/5/stderr1458 test 1457...[Check if %{stderr} and %{stdout} switch between stdout and stderr.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1457 ../src/curl -q --include --trace-ascii log/21/trace1457 --trace-time http://127.0.0.1:34037/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/21/stdout1457 2> log/21/stderr1457 1457: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:32.938864882 +0000 +++ log/21/check-generated 2025-09-11 14:54:32.938864882 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -line1line3 == Contents of files in the log/21/ dir after test 1457 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] line1line3 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1457 ../src/curl -q --include --trace-ascii log/21/trace1457 --trace-time http://127.0.0.1:34037/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/21/stdout1457 2> log/21/stderr1457 === End of file commands.log === Start of file http_server.log 14:54:32.095528 ====> Client connect 14:54:32.095569 accept_connection 3 returned 4 14:54:32.095589 accept_connection 3 returned 0 14:54:32.095607 Read 93 bytes 14:54:32.095619 Process 93 bytes request 14:54:32.095634 Got request: GET /verifiedserver HTTP/1.1 14:54:32.095645 Are-we-friendly question received 14:54:32.095675 Wrote request (93 bytes) input to log/21/server.input 14:54:32.095694 Identifying ourselves as friends 14:54:32.095770 Response sent (56 bytes) and written to log/21/server.response 14:54:32.095784 special request received, no persistency 14:54:32.095795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1457 ==155700== ==155700== Process terminating with default action of signal 4 (SIGILL) ==155700== Illegal opcode at address 0x4014B6F ==155700== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155700== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155700== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155700== by 0x4004266: main (tool_main.c:199) === End of file valgrind1457 test 1460...[HTTP GET with -Ji and Content-Disposition with existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1460 ../src/curl -q --trace-ascii log/3/trace1460 --trace-time http://127.0.0.1:38933/1460 -Ji -O --output-dir log/3 > log/3/stdout1460 2> log/3/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/3/ dir after test 1460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1460 ../src/curl -q --trace-ascii log/3/trace1460 --trace-time http://127.0.0.1:38933/1460 -Ji -O --output-dir log/3 > log/3/stdout1460 2> log/3/stderr1460 === End of file commands.log === Start of file http_server.log 14:54:32.141228 ====> Client connect 14:54:32.141263 accept_connection 3 returned 4 14:54:32.141318 accept_connection 3 returned 0 14:54:32.141335 Read 93 bytes 14:54:32.141346 Process 93 bytes request 14:54:32.141366 Got request: GET /verifiedserver HTTP/1.1 14:54:32.141376 Are-we-friendly question received 14:54:32.141405 Wrote request (93 bytes) input to log/3/server.input 14:54:32.141424 Identifying ourselves as friends 14:54:32.141482 Response sent (57 bytes) and written to log/3/server.response 14:54:32.141503 special request received, no persistency 14:54:32.141514 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 55724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file name1460 initial content === End of file name1460 === Start of file server.cmd Testnum 1460 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file valgrind1460 ==155854== ==155854== Process terminating with default action of signal 4 (SIGILL) ==155854== Illegal opcode at address 0x4014B6F ==155854== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155854== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155854== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155854== by 0x4004266: main (tool_main.c:199) === End of file valgrind1460 test 1458...[HTTP with wildcard --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1458 ../src/curl -q --output log/5/curl1458.out --include --trace-ascii log/5/trace1458 --trace-time --resolve *:46041:127.0.0.1 http://example.com:46041/1458 > log/5/stdout1458 2> log/5/stderr1458 1458: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1458 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1458 ../src/curl -q --output log/5/curl1458.out --include --trace-ascii log/5/trace1458 --trace-time --resolve *:46041:127.0.0.1 http://example.com:46041/1458 > log/5/stdout1458 2> log/5/stderr1458 === End of file commands.log === Start of file http_server.log 14:54:32.117434 ====> Client connect 14:54:32.117470 accept_connection 3 returned 4 14:54:32.117488 accept_connection 3 returned 0 14:54:32.117504 Read 93 bytes 14:54:32.117516 Process 93 bytes request 14:54:32.117530 Got request: GET /verifiedserver HTTP/1.1 14:54:32.117541 Are-we-friendly question received 14:54:32.117577 Wrote request (93 bytes) input to log/5/server.input 14:54:32.117596 Identifying ourselves as friends 14:54:32.117653 Response sent (56 bytes) and written to log/5/server.response 14:54:32.117664 special request received, no persistency 14:54:32.117674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1458 ==155758== ==155758== Process terminating with default action of signal 4 (SIGILL) ==155758== Illegal opcode at address 0x4014B6F ==155758== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155758== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155758== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155758== by 0x4004266: main (tool_main.c:199) === End of file valgrind1458 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/11/stdout1486 2> log/11/stderr1486 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/11/stdout1488 2> log/11/stderr1488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1466 ../src/curl -q --output log/19/curl1466.out --include --trace-ascii log/19/trace1466 --trace-time http://127.0.0.1:33805/1466 > log/19/stdout1466 2> log/19/stderr1466 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1465 ../src/curl -q --output log/9/curl1465.out --include --trace-ascii log/9/trace1465 --trace-time http://127.0.0.1:34345/we/want/1465 --libcurl log/9/test1465.c --data-binary @log/9/1465-upload > log/9/stdout1465 2> log/9/stderr1465 test 1463...[curl file category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1463 ../src/curl -q --include --trace-ascii log/16/trace1463 --trace-time --help file > log/16/stdout1463 2> log/16/stderr1463 1463: stdout FAILED: --- log/16/check-expected 2025-09-11 14:54:32.945531550 +0000 +++ log/16/check-generated 2025-09-11 14:54:32.945531550 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/16/ dir after test 1463 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1463 ../src/curl -q --include --trace-ascii log/16/trace1463 --trace-time --help file > log/16/stdout1463 2> log/16/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==155887== ==155887== Process terminating with default action of signal 4 (SIGILL) ==155887== Illegal opcode at address 0x4014B6F ==155887== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==155887== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==155887== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==155887== by 0x4004266: main (tool_main.c:199) === End of file valgrind1463 test 1486...[Verify that write-out.md and tool_writeout.c are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/11/stdout1486 2> log/11/stderr1486 valgrind SKIPPED s------e--- OK (1400 out of 1725, remaining: 00:23, took 0.011s, duration: 01:41) test 1488...[symbols-in-versions and manpages agree on added-in versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/11/stdout1488 2> log/11/stderr1488 valgrind SKIPPED s------e--- OK (1402 out of 1725, remaining: 00:23, took 0.022s, duration: 01:41) test 1465...[--libcurl for POST with binary content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1465 ../src/curl -q --output log/9/curl1465.out --include --trace-ascii log/9/trace1465 --trace-time http://127.0.0.1:34345/we/want/1465 --libcurl log/9/test1465.c --data-binary @log/9/1465-upload > log/9/stdout1465 2> log/9/stderr1465 1465: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1465 === Start of file 1465-upload abcde\"? fghi jklm === End of file 1465-upload === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1465 ../src/curl -q --output log/9/curl1465.out --include --trace-ascii log/9/trace1465 --trace-time http://127.0.0.1:34345/we/want/1465 --libcurl log/9/test1465.c --data-binary @log/9/1465-upload > log/9/stdout1465 2> log/9/stderr1465 === End of file commands.log === Start of file http_server.log 14:54:32.250491 ====> Client connect 14:54:32.250532 accept_connection 3 returned 4 14:54:32.250552 accept_connection 3 returned 0 14:54:32.250569 Read 93 bytes 14:54:32.250581 Process 93 bytes request 14:54:32.250598 Got request: GET /verifiedserver HTTP/1.1 14:54:32.250609 Are-we-friendly question received 14:54:32.250637 Wrote request (93 bytes) input to log/9/server.input 14:54:32.250656 Identifying ourselves as friends 14:54:32.250715 Response sent (56 bytes) and written to log/9/server.response 14:54:32.250729 special request received, no persistency 14:54:32.250740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1465 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind1465 ==156195== ==156195== Process terminating with default action of signal 4 (SIGILL) ==156195== Illegal opcode at address 0x4014B6F ==156195== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156195== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156195== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156195== by 0x4004266: main (tool_main.c:199) === End of file valgrind1465 test 1466...[HTTP GET with 3-digit response and only digits in reason] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1466 ../src/curl -q --output log/19/curl1466.out --include --trace-ascii log/19/trace1466 --trace-time http://127.0.0.1:33805/1466 > log/19/stdout1466 2> log/19/stderr1466 1466: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1466 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1466 ../src/curl -q --output log/19/curl1466.out --include --trace-ascii log/19/trace1466 --trace-time http://127.0.0.1:33805/1466 > log/19/stdout1466 2> log/19/stderr1466 === End of file commands.log === Start of file http_server.log 14:54:31.254517 ====> Client connect 14:54:31.254560 accept_connection 3 returned 4 14:54:31.254580 accept_connection 3 returned 0 14:54:31.254596 Read 93 bytes 14:54:31.254608 Process 93 bytes request 14:54:31.254628 Got request: GET /verifiedserver HTTP/1.1 14:54:31.254640 Are-we-friendly question received 14:54:31.254667 Wrote request (93 bytes) input to log/19/server.input 14:54:31.254686 Identifying ourselves as friends 14:54:31.254750 Response sent (56 bytes) and written to log/19/server.response 14:54:31.254764 special request received, no persistency 14:54:31.254774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1472 ../src/curl -q --output log/10/curl1472.out --include --trace-ascii log/10/trace1472 --trace-time tasty.onion. > log/10/stdout1472 2> log/10/stderr1472 r.cmd Testnum 1466 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind1466 ==156187== ==156187== Process terminating with default action of signal 4 (SIGILL) ==156187== Illegal opcode at address 0x4014B6F ==156187== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156187== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156187== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156187== by 0x4004266: main (tool_main.c:199) === End of file valgrind1466 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1469 ../src/curl -q --output log/7/curl1469.out --include --trace-ascii log/7/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/7/irrelevant-file > log/7/stdout1469 2> log/7/stderr1469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1471 ../src/curl -q --output log/12/curl1471.out --include --trace-ascii log/12/trace1471 --trace-time red.onion > log/12/stdout1471 2> log/12/stderr1471 test 1472...[Fail to resolve .onion. TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1472 ../src/curl -q --output log/10/curl1472.out --include --trace-ascii log/10/trace1472 --trace-time tasty.onion. > log/10/stdout1472 2> log/10/stderr1472 1472: stderr FAILED: --- log/10/check-expected 2025-09-11 14:54:33.165531553 +0000 +++ log/10/check-generated 2025-09-11 14:54:33.165531553 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/10/ dir after test 1472 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1472 ../src/curl -q --output log/10/curl1472.out --include --trace-ascii log/10/trace1472 --trace-time tasty.onion. > log/10/stdout1472 2> log/10/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==156301== ==156301== Process terminating with default action of signal 4 (SIGILL) ==156301== Illegal opcode at address 0x4014B6F ==156301== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156301== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156301== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156301== by 0x4004266: main (tool_main.c:199) === End of file valgrind1472 test 1469...[Space in FTP upload URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1469 ../src/curl -q --output log/7/curl1469.out --include --trace-ascii log/7/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/7/irrelevant-file > log/7/stdout1469 2> log/7/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/7/ dir after test 1469 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1469 ../src/curl -q --output log/7/curl1469.out --include --trace-ascii log/7/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/7/irrelevant-file > log/7/stdout1469 2> log/7/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==156295== ==156295== Process terminating with default action of signal 4 (SIGILL) ==156295== Illegal opcode at address 0x4014B6F ==156295== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156295== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156295== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156295== by 0x4004266: main (tool_main.c:199) === End of file valgrind1469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:44029/1473 > log/1/stdout1473 2> log/1/stderr1473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1474 ../src/curl -q --output log/13/curl1474.out --include --trace-ascii log/13/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/13/stdout1474 2> log/13/stderr1474 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1475 ../src/curl -q --output log/18/curl1475.out --include --trace-ascii log/18/trace1475 --trace-time http://127.0.0.1:43297/1475 -C - -f > log/18/stdout1475 2> log/18/stderr1475 RUN: Process with pid 74014 signalled to die RUN: Process with pid 74014 gracefully died test 1471...[Fail to resolve .onion TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1471 ../src/curl -q --output log/12/curl1471.out --include --trace-ascii log/12/trace1471 --trace-time red.onion > log/12/stdout1471 2> log/12/stderr1471 1471: stderr FAILED: --- log/12/check-expected 2025-09-11 14:54:33.172198219 +0000 +++ log/12/check-generated 2025-09-11 14:54:33.172198219 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/12/ dir after test 1471 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1471 ../src/curl -q --output log/12/curl1471.out --include --trace-ascii log/12/trace1471 --trace-time red.onion > log/12/stdout1471 2> log/12/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==156300== ==156300== Process terminating with default action of signal 4 (SIGILL) ==156300== Illegal opcode at address 0x4014B6F ==156300== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156300== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156300== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156300== by 0x4004266: main (tool_main.c:199) === End of file valgrind1471 test 1473...[first HTTP header starts with white space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:44029/1473 > log/1/stdout1473 2> log/1/stderr1473 1473: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:44029/1473 > log/1/stdout1473 2> log/1/stderr1473 === End of file commands.log === Start of file http_server.log 14:54:32.393682 ====> Client connect 14:54:32.393706 accept_connection 3 returned 4 14:54:32.393720 accept_connection 3 returned 0 14:54:32.393732 Read 93 bytes 14:54:32.393741 Process 93 bytes request 14:54:32.393752 Got request: GET /verifiedserver HTTP/1.1 14:54:32.393760 Are-we-friendly question received 14:54:32.393778 Wrote request (93 bytes) input to log/1/server.input 14:54:32.393792 Identifying ourselves as friends 14:54:32.393833 Response sent (56 bytes) and written to log/1/server.response 14:54:32.393841 special request received, no persistency 14:54:32.393849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1473 ==156452== ==156452== Process terminating with default action of signal 4 (SIGILL) ==156452== Illegal opcode at address 0x4014B6F ==156452== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156452== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156452== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156452== by 0x4004266: main (tool_main.c:199) === End of file valgrind1473 test 1474...[--proto -all disables all protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1474 ../src/curl -q --output log/13/curl1474.out --include --trace-ascii log/13/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/13/stdout1474 2> log/13/stderr1474 curl returned 132, when expecting 1 1474: exit FAILED == Contents of files in the log/13/ dir after test 1474 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1474 ../src/curl -q --output log/13/curl1474.out --include --trace-ascii log/13/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/13/stdout1474 2> log/13/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==156506== ==156506== Process terminating with default action of signal 4 (SIGILL) ==156506== Illegal opcode at address 0x4014B6F ==156506== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156506== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156506== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156506== by 0x4004266: main (tool_main.c:199) === End of file valgrind1474 test 1475...[-f and 416 with Content-Range: */size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1475 ../src/curl -q --output log/18/curl1475.out --include --trace-ascii log/18/trace1475 --trace-time http://127.0.0.1:43297/1475 -C - -f > log/18/stdout1475 2> log/18/stderr1475 1475: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1475 ../src/curl -q --output log/18/curl1475.out --include --trace-ascii log/18/trace1475 --trace-time http://127.0.0.1:43297/1475 -C - -f > log/18/stdout1475 2> log/18/stderr1475 === End of file commands.log === Start of file curl1475.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1475.out === Start of file http_server.log 14:54:32.546376 ====> Client connect 14:54:32.546413 accept_connection 3 returned 4 14:54:32.546433 accept_connection 3 returned 0 14:54:32.546449 Read 93 bytes 14:54:32.546460 Process 93 bytes request 14:54:32.546474 Got request: GET /verifiedserver HTTP/1.1 14:54:32.546485 Are-we-friendly question received 14:54:32.546511 Wrote request (93 bytes) input to log/18/server.input 14:54:32.546533 Identifying ourselves as friends 14:54:32.546593 Response sent (56 bytes) and written to log/18/server.response 14:54:32.546605 special request received, no persistency 14:54:32.546616 ====> Client disconnect 0 exit_signal_handler: called 14:54:33.457066 signalled to die 14:54:33.457174 ========> IPv4 sws (port 43297 pid: 74014) exits with signal (15) 14:54:33.457189 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43297... * Established cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:39569/1485 > log/20/stdout1485 2> log/20/stderr1485 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:37085/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:33503/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 onnection to 127.0.0.1 (127.0.0.1 port 43297) from 127.0.0.1 port 44816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43297 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43297 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74014 === End of file http_verify.out === Start of file server.cmd Testnum 1475 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74014 === End of file server.response === Start of file valgrind1475 ==156575== ==156575== Process terminating with default action of signal 4 (SIGILL) ==156575== Illegal opcode at address 0x4014B6F ==156575== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156575== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156575== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156575== by 0x4004266: main (tool_main.c:199) === End of file valgrind1475 test 1485...[get curlinfo on last header in callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:39569/1485 > log/20/stdout1485 2> log/20/stderr1485 1485: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1485 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:39569/1485 > log/20/stdout1485 2> log/20/stderr1485 === End of file commands.log === Start of file http_server.log 14:54:33.075826 ====> Client connect 14:54:33.075861 accept_connection 3 returned 4 14:54:33.075879 accept_connection 3 returned 0 14:54:33.075894 Read 93 bytes 14:54:33.075906 Process 93 bytes request 14:54:33.075918 Got request: GET /verifiedserver HTTP/1.1 14:54:33.075928 Are-we-friendly question received 14:54:33.075955 Wrote request (93 bytes) input to log/20/server.input 14:54:33.075972 Identifying ourselves as friends 14:54:33.076030 Response sent (56 bytes) and written to log/20/server.response 14:54:33.076041 special request received, no persistency 14:54:33.076051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 51012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1485 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:39569/1485 === End of file stderr1485 === Start of file valgrind1485 ==157067== ==157067== Process terminating with default action of signal 4 (SIGILL) ==157067== Illegal opcode at address 0x4028D2D ==157067== at 0x4028D2D: UnknownInlinedFun (string_fortified.h:59) ==157067== by 0x4028D2D: test_lib1485.lto_priv.0 (lib1485.c:96) ==157067== by 0x400347F: main (first.c:281) === End of file valgrind1485 test 1476...[PSL violating cookie with mixed case domain and cookie domain property] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:37085/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 1476: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:37085/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 === End of file commands.log === Start of file http_server.log 14:54:31.905025 ====> Client connect 14:54:31.905059 accept_connection 3 returned 4 14:54:31.905075 accept_connection 3 returned 0 14:54:31.905090 Read 93 bytes 14:54:31.905100 Process 93 bytes request 14:54:31.905114 Got request: GET /verifiedserver HTTP/1.1 14:54:31.905124 Are-we-friendly question received 14:54:31.905148 Wrote request (93 bytes) input to log/8/server.input 14:54:31.905165 Identifying ourselves as friends 14:54:31.905218 Response sent (56 bytes) and written to log/8/server.response 14:54:31.905229 special request received, no persistency 14:54:31.905238 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 58756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1476 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1476 ==156681== ==156681== Process terminating with default action of signal 4 (SIGILL) ==156681== Illegal opcode at address 0x4014B6F ==156681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156681== by 0x4004266: main (tool_main.c:199) === End of file valgrind1476 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1490 ../src/curl -q --output log/19/curl1490.out --trace-ascii log/19/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result1490.txt -T log/19/upload1490.txt > log/19/stdout1490 2> log/19/stderr1490 test 1489...[-D sent to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:33503/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 1489: stderr FAILED: --- log/11/check-expected 2025-09-11 14:54:33.905531564 +0000 +++ log/11/check-generated 2025-09-11 14:54:33.905531564 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] == Contents of files in the log/11/ dir after test 1489 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:33503/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 === End of file commands.log === Start of file http_server.log 14:54:33.116790 ====> Client connect 14:54:33.116835 accept_connection 3 returned 4 14:54:33.116856 accept_connection 3 returned 0 14:54:33.116875 Read 93 bytes 14:54:33.116887 Process 93 bytes request 14:54:33.116903 Got request: GET /verifiedserver HTTP/1.1 14:54:33.116914 Are-we-friendly question received 14:54:33.116940 Wrote request (93 bytes) input to log/11/server.input 14:54:33.116959 Identifying ourselves as friends 14:54:33.117038 Response sent (56 bytes) and written to log/11/server.response 14:54:33.117051 special request received, no persistency 14:54:33.117061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1489 ==157308== ==157308== Process terminating with default action of signal 4 (SIGILL) ==157308== Illegal opcode at address 0x4014B6F ==157308== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157308== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157308== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157308== by 0x4004266: main (tool_main.c:199) === End of file valgrind1489 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1491 ../src/curl -q --include --trace-ascii log/9/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/test1491.txt -o log/9/test1491.txt --skip-existing > log/9/stdout1491 2> log/9/stderr1491 test 1490...["upload" with file:// overwriting existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1490 ../src/curl -q --output log/19/curl1490.out --trace-ascii log/19/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result1490.txt -T log/19/upload1490.txt > log/19/stdout1490 2> log/19/stderr1490 1490: output (log/19/result1490.txt) FAILED: --- log/19/check-expected 2025-09-11 14:54:33.912198231 +0000 +++ log/19/check-generated 2025-09-11 14:54:33.912198231 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/19/ dir after test 1490 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file check-generated already existing[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1490 ../src/curl -q --output log/19/curl1490.out --trace-ascii log/19/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result1490.txt -T log/19/upload1490.txt > log/19/stdout1490 2> log/19/stderr1490 === End of file commands.log === Start of file result1490.txt already existing === End of file result1490.txt === Start of file server.cmd Testnum 1490 === End of file server.cmd === Start of file upload1490.txt data in file to write === End of file upload1490.txt === Start of file valgrind1490 ==157344== ==157344== Process terminating with default action of signal 4 (SIGILL) ==157344== Illegal opcode at address 0x4014B6F ==157344== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157344== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157344== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157344== by 0x4004266: main (tool_main.c:199) === End of file valgrind1490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1479 ../src/curl -q --output log/6/curl1479.out --include --trace-ascii log/6/trace1479 --trace-time http://127.0.0.1:38791/1479 http://127.0.0.1:38791/14790002 > log/6/stdout1479 2> log/6/stderr1479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1481 ../src/curl -q --output log/21/curl1481.out --include --trace-ascii log/21/trace1481 --trace-time http://moo/ --libcurl log/21/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:34037 > log/21/stdout1481 2> log/21/stderr1481 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1482 ../src/curl -q --output log/16/curl1482.out --include --trace-ascii log/16/trace1482 --trace-time http://127.0.0.1:34475/1482 -D log/16/heads1482 > log/16/stdout1482 2> log/16/stderr1482 test 1491...[file:// don't overwrite self with --skip-existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1491 ../src/curl -q --include --trace-ascii log/9/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/test1491.txt -o log/9/test1491.txt --skip-existing > log/9/stdout1491 2> log/9/stderr1491 1491: stderr FAILED: --- log/9/check-expected 2025-09-11 14:54:33.918864898 +0000 +++ log/9/check-generated 2025-09-11 14:54:33.918864898 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/9/test1491.txt" exists locally[CR][LF] == Contents of files in the log/9/ dir after test 1491 === Start of file check-expected Note: skips transfer, "log/9/test1491.txt" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1491 ../src/curl -q --include --trace-ascii log/9/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/9/test1491.txt -o log/9/test1491.txt --skip-existing > log/9/stdout1491 2> log/9/stderr1491 === End of file commands.log === Start of file server.cmd Testnum 1491 === End of file server.cmd === Start of file test1491.txt foo bar bar foo moo === End of file test1491.txt === Start of file valgrind1491 ==157353== ==157353== Process terminating with default action of signal 4 (SIGILL) ==157353== Illegal opcode at address 0x4014B6F ==157353== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157353== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157353== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157353== by 0x4004266: main (tool_main.c:199) === End of file valgrind1491 test 1479...[HTTP/1.1 response followed by an HTTP/0.9 response over the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1479 ../src/curl -q --output log/6/curl1479.out --include --trace-ascii log/6/trace1479 --trace-time http://127.0.0.1:38791/1479 http://127.0.0.1:38791/14790002 > log/6/stdout1479 2> log/6/stderr1479 1479: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1479 ../src/curl -q --output log/6/curl1479.out --include --trace-ascii log/6/trace1479 --trace-time http://127.0.0.1:38791/1479 http://127.0.0.1:38791/14790002 > log/6/stdout1479 2> log/6/stderr1479 === End of file commands.log === Start of file http_server.log 14:54:33.009366 ====> Client connect 14:54:33.009393 accept_connection 3 returned 4 14:54:33.009407 accept_connection 3 returned 0 14:54:33.009419 Read 93 bytes 14:54:33.009428 Process 93 bytes request 14:54:33.009440 Got request: GET /verifiedserver HTTP/1.1 14:54:33.009448 Are-we-friendly question received 14:54:33.009466 Wrote request (93 bytes) input to log/6/server.input 14:54:33.009479 Identifying ourselves as friends 14:54:33.009521 Response sent (56 bytes) and written to log/6/server.response 14:54:33.009529 special request received, no persistency 14:54:33.009537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 34674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1479 ==156784== ==156784== Process terminating with default action of signal 4 (SIGILL) ==156784== Illegal opcode at address 0x4014B6F ==156784== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156784== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156784== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156784== by 0x4004266: main (tool_main.c:199) === End of file valgrind1479 test 1481...[--libcurl with TLS version options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1481 ../src/curl -q --output log/21/curl1481.out --include --trace-ascii log/21/trace1481 --trace-time http://moo/ --libcurl log/21/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:34037 > log/21/stdout1481 2> log/21/stderr1481 1481: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1481 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1481 ../src/curl -q --output log/21/curl1481.out --include --trace-ascii log/21/trace1481 --trace-time http://moo/ --libcurl log/21/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:34037 > log/21/stdout1481 2> log/21/stderr1481 === End of file commands.log === Start of file http_server.log 14:54:33.045801 ====> Client connect 14:54:33.045827 accept_connection 3 returned 4 14:54:33.045841 accept_connection 3 returned 0 14:54:33.045872 Read 93 bytes 14:54:33.045885 Process 93 bytes request 14:54:33.045897 Got request: GET /verifiedserver HTTP/1.1 14:54:33.045905 Are-we-friendly question received 14:54:33.045929 Wrote request (93 bytes) input to log/21/server.input 14:54:33.045944 Identifying ourselves as friends 14:54:33.046000 Response sent (56 bytes) and written to log/21/server.response 14:54:33.046008 special request received, no persistency 14:54:33.046016 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind1481 ==156889== ==156889== Process terminating with default action of signal 4 (SIGILL) ==156889== Illegal opcode at address 0x4014B6F ==156889== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156889== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156889== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156889== by 0x4004266: main (tool_main.c:199) === End of file valgrind1481 test 1482...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1482 ../src/curl -q --output log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1483 ../src/curl -q --output log/5/curl1483.out --include --trace-ascii log/5/trace1483 --trace-time http://127.0.0.1:46041/1483 -D log/5/heads1483 > log/5/stdout1483 2> log/5/stderr1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1456 ../src/curl -q --output log/15/curl1456.out --include --trace-ascii log/15/trace1456 --trace-time -g "http://[::1]:33549/1456" --haproxy-protocol > log/15/stdout1456 2> log/15/stderr1456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1480 ../src/curl -q --output log/17/curl1480.out --include --trace-ascii log/17/trace1480 --trace-time http://127.0.0.1:45171/1480 > log/17/stdout1480 2> log/17/stderr1480 16/curl1482.out --include --trace-ascii log/16/trace1482 --trace-time http://127.0.0.1:34475/1482 -D log/16/heads1482 > log/16/stdout1482 2> log/16/stderr1482 1482: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1482 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1482 ../src/curl -q --output log/16/curl1482.out --include --trace-ascii log/16/trace1482 --trace-time http://127.0.0.1:34475/1482 -D log/16/heads1482 > log/16/stdout1482 2> log/16/stderr1482 === End of file commands.log === Start of file http_server.log 14:54:33.051155 ====> Client connect 14:54:33.051211 accept_connection 3 returned 4 14:54:33.051227 accept_connection 3 returned 0 14:54:33.051239 Read 93 bytes 14:54:33.051247 Process 93 bytes request 14:54:33.051257 Got request: GET /verifiedserver HTTP/1.1 14:54:33.051265 Are-we-friendly question received 14:54:33.051284 Wrote request (93 bytes) input to log/16/server.input 14:54:33.051297 Identifying ourselves as friends 14:54:33.051344 Response sent (56 bytes) and written to log/16/server.response 14:54:33.051353 special request received, no persistency 14:54:33.051361 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind1482 ==156914== ==156914== Process terminating with default action of signal 4 (SIGILL) ==156914== Illegal opcode at address 0x4014B6F ==156914== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156914== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156914== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156914== by 0x4004266: main (tool_main.c:199) === End of file valgrind1482 test 1483...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1483 ../src/curl -q --output log/5/curl1483.out --include --trace-ascii log/5/trace1483 --trace-time http://127.0.0.1:46041/1483 -D log/5/heads1483 > log/5/stdout1483 2> log/5/stderr1483 1483: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1483 ../src/curl -q --output log/5/curl1483.out --include --trace-ascii log/5/trace1483 --trace-time http://127.0.0.1:46041/1483 -D log/5/heads1483 > log/5/stdout1483 2> log/5/stderr1483 === End of file commands.log === Start of file http_server.log 14:54:33.054288 ====> Client connect 14:54:33.054321 accept_connection 3 returned 4 14:54:33.054339 accept_connection 3 returned 0 14:54:33.054354 Read 93 bytes 14:54:33.054365 Process 93 bytes request 14:54:33.054377 Got request: GET /verifiedserver HTTP/1.1 14:54:33.054387 Are-we-friendly question received 14:54:33.054432 Wrote request (93 bytes) input to log/5/server.input 14:54:33.054451 Identifying ourselves as friends 14:54:33.054509 Response sent (56 bytes) and written to log/5/server.response 14:54:33.054522 special request received, no persistency 14:54:33.054532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file valgrind1483 ==156950== ==156950== Process terminating with default action of signal 4 (SIGILL) ==156950== Illegal opcode at address 0x4014B6F ==156950== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156950== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156950== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156950== by 0x4004266: main (tool_main.c:199) === End of file valgrind1483 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_ipv6_server.pid" --logfile "log/15/http_ipv6_server.log" --logdir "log/15" --portfile log/15/server/http_ipv6_server.port --config log/15/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 155637 port 33549 * pid http-ipv6 => 155637 155637 test 1456...[HTTP-IPv6 GET with PROXY protocol] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1456 ../src/curl -q --output log/15/curl1456.out --include --trace-ascii log/15/trace1456 --trace-time -g "http://[::1]:33549/1456" --haproxy-protocol > log/15/stdout1456 2> log/15/stderr1456 1456: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1456 ../src/curl -q --output log/15/curl1456.out --include --trace-ascii log/15/trace1456 --trace-time -g "http://[::1]:33549/1456" --haproxy-protocol > log/15/stdout1456 2> log/15/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 14:54:31.071311 Running HTTP IPv6 version on port 33549 14:54:31.071404 Wrote pid 155637 to log/15/server/http_ipv6_server.pid 14:54:31.071432 Wrote port 33549 to log/15/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1456 === End of file server.cmd === Start of file valgrind1456 ==156965== ==156965== Process terminating with default action of signal 4 (SIGILL) ==156965== Illegal opcode at address 0x4014B6F ==156965== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156965== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156965== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156965== by 0x4004266: main (tool_main.c:199) === End of file valgrind1456 test 1480...[HTTP Continue response without final response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1480 ../src/curl -q --output log/17/curl1480.out --include --trace-ascii log/17/tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1487 ../src/curl -q --trace-ascii log/2/trace1487 --trace-time http://127.0.0.1:37587/1487 -J -O --output-dir log/2 > log/2/stdout1487 2> log/2/stderr1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1484 ../src/curl -q --output log/3/curl1484.out --include --trace-ascii log/3/trace1484 --trace-time -I http://127.0.0.1:38933/1484 --http1.1 > log/3/stdout1484 2> log/3/stderr1484 race1480 --trace-time http://127.0.0.1:45171/1480 > log/17/stdout1480 2> log/17/stderr1480 1480: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1480 ../src/curl -q --output log/17/curl1480.out --include --trace-ascii log/17/trace1480 --trace-time http://127.0.0.1:45171/1480 > log/17/stdout1480 2> log/17/stderr1480 === End of file commands.log === Start of file http_server.log 14:54:33.029313 ====> Client connect 14:54:33.029340 accept_connection 3 returned 4 14:54:33.029354 accept_connection 3 returned 0 14:54:33.029365 Read 93 bytes 14:54:33.029374 Process 93 bytes request 14:54:33.029385 Got request: GET /verifiedserver HTTP/1.1 14:54:33.029393 Are-we-friendly question received 14:54:33.029413 Wrote request (93 bytes) input to log/17/server.input 14:54:33.029426 Identifying ourselves as friends 14:54:33.029481 Response sent (56 bytes) and written to log/17/server.response 14:54:33.029493 special request received, no persistency 14:54:33.029503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 38544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1480 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1480 ==156808== ==156808== Process terminating with default action of signal 4 (SIGILL) ==156808== Illegal opcode at address 0x4014B6F ==156808== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==156808== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==156808== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==156808== by 0x4004266: main (tool_main.c:199) === End of file valgrind1480 test 1487...[HTTP GET with -J and Content-Disposition on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1487 ../src/curl -q --trace-ascii log/2/trace1487 --trace-time http://127.0.0.1:37587/1487 -J -O --output-dir log/2 > log/2/stdout1487 2> log/2/stderr1487 1487: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1487 ../src/curl -q --trace-ascii log/2/trace1487 --trace-time http://127.0.0.1:37587/1487 -J -O --output-dir log/2 > log/2/stdout1487 2> log/2/stderr1487 === End of file commands.log === Start of file http_server.log 14:54:33.086095 ====> Client connect 14:54:33.086131 accept_connection 3 returned 4 14:54:33.086149 accept_connection 3 returned 0 14:54:33.086165 Read 93 bytes 14:54:33.086176 Process 93 bytes request 14:54:33.086193 Got request: GET /verifiedserver HTTP/1.1 14:54:33.086204 Are-we-friendly question received 14:54:33.086228 Wrote request (93 bytes) input to log/2/server.input 14:54:33.086246 Identifying ourselves as friends 14:54:33.086300 Response sent (56 bytes) and written to log/2/server.response 14:54:33.086311 special request received, no persistency 14:54:33.086524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 50748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1487 ==157178== ==157178== Process terminating with default action of signal 4 (SIGILL) ==157178== Illegal opcode at address 0x4014B6F ==157178== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157178== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157178== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157178== by 0x4004266: main (tool_main.c:199) === End of file valgrind1487 test 1484...[HTTP HEAD with response body to ignore] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1484 ../src/curl -q --output log/3/curl1484.out --include --trace-ascii log/3/trace1484 --trace-time -I http://127.0.0.1:38933/1484 --http1.1 > log/3/stdout1484 2> log/3/stderr1484 1484: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1484 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1484 ../src/curl -q --output log/3/curl1484.out --include --trace-ascii log/3/trace1484 --trace-time -I http://127.0.0.1:38933/1484 --http1.1 > log/3/stdout1484 2> log/3/stderr1484 === End of file commands.log === Start of file http_server.log 14:54:33.072482 ====> Client connect 14:54:33.072511 accept_connection 3 returned 4 14:54:33.072528 accept_connection 3 returned 0 14:54:33.072544 Read 93 bytes 14:54:33.072554 Process 93 bytes request 14:54:33.072567 Got request: GET /verifiedserver HTTP/1.1 14:54:33.072577 Are-we-friendly question received 14:54:33.072603 Wrote request (93 bytes) input to log/3/server.input 14:54:33.072621 Identifying ourselves as friends 14:54:33.072677 Response sent (57 bytes) and written to log/3/server.response 14:54:33.072688 special request received, no persistency 14:54:33.072699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 55728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd Testnum 1484 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file valgrind1484 ==157060== ==157060== Process terminating with default action of signal 4 (SIGILL) ==157060== Illegal opcode at address 0x4014B6F ==157060== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157060== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157060== by 0x4004266: UnknowCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1468 ../src/curl -q --output log/23/curl1468.out --include --trace-ascii log/23/trace1468 --trace-time http://this.is.a.host.name:38851/1468 --proxy socks5h://localhost/tmp/curl-socksd-fyP8BKJc > log/23/stdout1468 2> log/23/stderr1468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1495 ../src/curl -q --output log/7/curl1495.out --include --trace-ascii log/7/trace1495 --trace-time http://127.0.0.1:40545/1495 -D log/7/heads1495 > log/7/stdout1495 2> log/7/stderr1495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1467 ../src/curl -q --output log/24/curl1467.out --include --trace-ascii log/24/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-opDNd3eP http://127.0.0.1:34449/1467 > log/24/stdout1467 2> log/24/stderr1467 nInlinedFun (tool_operate.c:2160) ==157060== by 0x4004266: main (tool_main.c:199) === End of file valgrind1484 startnew: ./server/servers socksd --pidfile log/23/server/socks2_server.pid --reqfile log/23/socksd-request.log --logfile log/23/socks2_server.log --unix-socket /tmp/curl-socksd-fyP8BKJc --backend 127.0.0.1 --config log/23/server.cmd RUN: SOCKS2 server is now running PID 156193 * pid socks5unix => 156193 156193 test 1468...[HTTP GET with host name using SOCKS5h via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1468 ../src/curl -q --output log/23/curl1468.out --include --trace-ascii log/23/trace1468 --trace-time http://this.is.a.host.name:38851/1468 --proxy socks5h://localhost/tmp/curl-socksd-fyP8BKJc > log/23/stdout1468 2> log/23/stderr1468 1468: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1468 ../src/curl -q --output log/23/curl1468.out --include --trace-ascii log/23/trace1468 --trace-time http://this.is.a.host.name:38851/1468 --proxy socks5h://localhost/tmp/curl-socksd-fyP8BKJc > log/23/stdout1468 2> log/23/stderr1468 === End of file commands.log === Start of file http_server.log 14:54:32.266792 ====> Client connect 14:54:32.266830 accept_connection 3 returned 4 14:54:32.266849 accept_connection 3 returned 0 14:54:32.266865 Read 93 bytes 14:54:32.266877 Process 93 bytes request 14:54:32.266891 Got request: GET /verifiedserver HTTP/1.1 14:54:32.266902 Are-we-friendly question received 14:54:32.266930 Wrote request (93 bytes) input to log/23/server.input 14:54:32.266949 Identifying ourselves as friends 14:54:32.267013 Response sent (56 bytes) and written to log/23/server.response 14:54:32.267026 special request received, no persistency 14:54:32.267036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file socks2_server.log 14:54:32.271074 Running unix version 14:54:32.271134 Listening on Unix socket /tmp/curl-socksd-fyP8BKJc 14:54:32.271173 Wrote pid 156193 to log/23/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==157524== ==157524== Process terminating with default action of signal 4 (SIGILL) ==157524== Illegal opcode at address 0x4014B6F ==157524== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157524== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157524== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157524== by 0x4004266: main (tool_main.c:199) === End of file valgrind1468 test 1495...[HTTP GET with chunked + identity in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1495 ../src/curl -q --output log/7/curl1495.out --include --trace-ascii log/7/trace1495 --trace-time http://127.0.0.1:40545/1495 -D log/7/heads1495 > log/7/stdout1495 2> log/7/stderr1495 1495: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1495 ../src/curl -q --output log/7/curl1495.out --include --trace-ascii log/7/trace1495 --trace-time http://127.0.0.1:40545/1495 -D log/7/heads1495 > log/7/stdout1495 2> log/7/stderr1495 === End of file commands.log === Start of file http_server.log 14:54:33.295257 ====> Client connect 14:54:33.295291 accept_connection 3 returned 4 14:54:33.295308 accept_connection 3 returned 0 14:54:33.295324 Read 93 bytes 14:54:33.295335 Process 93 bytes request 14:54:33.295349 Got request: GET /verifiedserver HTTP/1.1 14:54:33.295360 Are-we-friendly question received 14:54:33.295383 Wrote request (93 bytes) input to log/7/server.input 14:54:33.295401 Identifying ourselves as friends 14:54:33.295454 Response sent (56 bytes) and written to log/7/server.response 14:54:33.295465 special request received, no persistency 14:54:33.295475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind1495 ==157654== ==157654== Process terminating with default action of signal 4 (SIGILL) ==157654== Illegal opcode at address 0x4014B6F ==157654== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157654== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157654== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157654== by 0x4004266: main (tool_main.c:199) === End of file valgrind1495 startnew: ./server/servers socksd --pidfile log/24/server/socks2_server.pid --reqfile log/24/socksd-request.log --logfile log/24/socks2_server.log --unix-socket /tmp/curl-socksd-opDNd3eP --backend 127.0.0.1 --config log/24/server.cmd RUN: SOCKS2 server is now running PID 156188 * pid socks5unix => 156188 156188 test 1467...[HTTP GET via SOCKS5 proxy via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1467 ../src/curl -q --output log/24/curl1467.out --include --trace-ascii log/24/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-opDNd3eP http://127.0.0.1:34449/1467 > log/24/stdout1467 2> log/24/stderr1467 1467: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1467 ../src/curl -q --output log/24/curl1467.out --include --trace-ascii log/24/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-opDNd3eP http://127.0.0.1:34449/1467 > log/24/stdout1467 2> log/24/stderr1467 === End of file commands.log === Start of file http_server.log 14:54:32.263544 ====> Client connect 14:54:32.263576 accept_connection 3 returned 4 14:54:32.263598 accept_connection 3 returCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1494 ../src/curl -q --output log/1/curl1494.out --include --trace-ascii log/1/trace1494 --trace-time http://127.0.0.1:44029/1494 -D log/1/heads1494 > log/1/stdout1494 2> log/1/stderr1494 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:35893/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/stderr1492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1493 ../src/curl -q --output log/12/curl1493.out --include --trace-ascii log/12/trace1493 --trace-time http://127.0.0.1:43359/1493 -D log/12/heads1493 > log/12/stdout1493 2> log/12/stderr1493 ned 0 14:54:32.263614 Read 93 bytes 14:54:32.263625 Process 93 bytes request 14:54:32.263638 Got request: GET /verifiedserver HTTP/1.1 14:54:32.263649 Are-we-friendly question received 14:54:32.263674 Wrote request (93 bytes) input to log/24/server.input 14:54:32.263693 Identifying ourselves as friends 14:54:32.263749 Response sent (56 bytes) and written to log/24/server.response 14:54:32.263762 special request received, no persistency 14:54:32.263772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1467 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file socks2_server.log 14:54:32.267817 Running unix version 14:54:32.267885 Listening on Unix socket /tmp/curl-socksd-opDNd3eP 14:54:32.267922 Wrote pid 156188 to log/24/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==157520== ==157520== Process terminating with default action of signal 4 (SIGILL) ==157520== Illegal opcode at address 0x4014B6F ==157520== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157520== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157520== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157520== by 0x4004266: main (tool_main.c:199) === End of file valgrind1467 test 1494...[HTTP GET with identity twice in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1494 ../src/curl -q --output log/1/curl1494.out --include --trace-ascii log/1/trace1494 --trace-time http://127.0.0.1:44029/1494 -D log/1/heads1494 > log/1/stdout1494 2> log/1/stderr1494 1494: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1494 ../src/curl -q --output log/1/curl1494.out --include --trace-ascii log/1/trace1494 --trace-time http://127.0.0.1:44029/1494 -D log/1/heads1494 > log/1/stdout1494 2> log/1/stderr1494 === End of file commands.log === Start of file http_server.log 14:54:33.291495 ====> Client connect 14:54:33.291520 accept_connection 3 returned 4 14:54:33.291534 accept_connection 3 returned 0 14:54:33.291547 Read 93 bytes 14:54:33.291556 Process 93 bytes request 14:54:33.291567 Got request: GET /verifiedserver HTTP/1.1 14:54:33.291576 Are-we-friendly question received 14:54:33.291596 Wrote request (93 bytes) input to log/1/server.input 14:54:33.291610 Identifying ourselves as friends 14:54:33.291653 Response sent (56 bytes) and written to log/1/server.response 14:54:33.291662 special request received, no persistency 14:54:33.291670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1494 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind1494 ==157630== ==157630== Process terminating with default action of signal 4 (SIGILL) ==157630== Illegal opcode at address 0x4014B6F ==157630== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157630== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157630== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157630== by 0x4004266: main (tool_main.c:199) === End of file valgrind1494 test 1492...[HTTP GET with -J + --show-headers but no Content-Disposition:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:35893/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/stderr1492 1492: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:35893/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/stderr1492 === End of file commands.log === Start of file http_server.log 14:54:33.274806 ====> Client connect 14:54:33.274838 accept_connection 3 returned 4 14:54:33.274856 accept_connection 3 returned 0 14:54:33.274872 Read 93 bytes 14:54:33.274884 Process 93 bytes request 14:54:33.274900 Got request: GET /verifiedserver HTTP/1.1 14:54:33.274911 Are-we-friendly question received 14:54:33.274935 Wrote request (93 bytes) input to log/10/server.input 14:54:33.274953 Identifying ourselves as friends 14:54:33.275011 Response sent (56 bytes) and written to log/10/server.response 14:54:33.275024 special request received, no persistency 14:54:33.275034 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind1492 ==157555== ==157555== Process terminating with default action of signal 4 (SIGILL) ==157555== Illegal opcode at address 0x4014B6F ==157555== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157555== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157555== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157555== by 0x4004266: main (tool_main.c:199) === End of file valgrind1492 test 1493...[HTTP GET with identity + chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1493 ../src/curl -q --output log/12/curl1493.out --include --trace-ascii log/12/trace1493 --trace-time http://127.0.0.1:43359/1493 -D log/12/heads1493 > log/12/stdout1493 2> log/12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1496 ../src/curl -q --output log/13/curl1496.out --include --trace-ascii log/13/trace1496 --trace-time http://127.0.0.1:41533/1496 -D log/13/heads1496 > log/13/stdout1496 2> log/13/stderr1496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1498 ../src/curl -q --output log/20/curl1498.out --include --trace-ascii log/20/trace1498 --trace-time http://127.0.0.1:39569/bzz/1498 -T . log/20/stdout1498 2> log/20/stderr1498 /stderr1493 1493: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1493 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1493 ../src/curl -q --output log/12/curl1493.out --include --trace-ascii log/12/trace1493 --trace-time http://127.0.0.1:43359/1493 -D log/12/heads1493 > log/12/stdout1493 2> log/12/stderr1493 === End of file commands.log === Start of file http_server.log 14:54:33.280745 ====> Client connect 14:54:33.280778 accept_connection 3 returned 4 14:54:33.280794 accept_connection 3 returned 0 14:54:33.280809 Read 93 bytes 14:54:33.280820 Process 93 bytes request 14:54:33.280834 Got request: GET /verifiedserver HTTP/1.1 14:54:33.280844 Are-we-friendly question received 14:54:33.280879 Wrote request (93 bytes) input to log/12/server.input 14:54:33.280896 Identifying ourselves as friends 14:54:33.280950 Response sent (56 bytes) and written to log/12/server.response 14:54:33.280962 special request received, no persistency 14:54:33.280971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1493 ==157596== ==157596== Process terminating with default action of signal 4 (SIGILL) ==157596== Illegal opcode at address 0x4014B6F ==157596== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157596== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157596== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157596== by 0x4004266: main (tool_main.c:199) === End of file valgrind1493 test 1496...[HTTP GET with gzip + chunked transfer-encoding without being asked] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1496 ../src/curl -q --output log/13/curl1496.out --include --trace-ascii log/13/trace1496 --trace-time http://127.0.0.1:41533/1496 -D log/13/heads1496 > log/13/stdout1496 2> log/13/stderr1496 1496: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1496 ../src/curl -q --output log/13/curl1496.out --include --trace-ascii log/13/trace1496 --trace-time http://127.0.0.1:41533/1496 -D log/13/heads1496 > log/13/stdout1496 2> log/13/stderr1496 === End of file commands.log === Start of file http_server.log 14:54:33.386154 ====> Client connect 14:54:33.386191 accept_connection 3 returned 4 14:54:33.386208 accept_connection 3 returned 0 14:54:33.386224 Read 93 bytes 14:54:33.386235 Process 93 bytes request 14:54:33.386251 Got request: GET /verifiedserver HTTP/1.1 14:54:33.386262 Are-we-friendly question received 14:54:33.386287 Wrote request (93 bytes) input to log/13/server.input 14:54:33.386304 Identifying ourselves as friends 14:54:33.386392 Response sent (56 bytes) and written to log/13/server.response 14:54:33.386404 special request received, no persistency 14:54:33.386415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1496 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind1496 ==157851== ==157851== Process terminating with default action of signal 4 (SIGILL) ==157851== Illegal opcode at address 0x4014B6F ==157851== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157851== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157851== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157851== by 0x4004266: main (tool_main.c:199) === End of file valgrind1496 test 1498...[HTTP PUT from stdin using period] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1498 ../src/curl -q --output log/20/curl1498.out --include --trace-ascii log/20/trace1498 --trace-time http://127.0.0.1:39569/bzz/1498 -T . log/20/stdout1498 2> log/20/stderr1498 1498: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1498 ../src/curl -q --output log/20/curl1498.out --include --trace-ascii log/20/trace1498 --trace-time http://127.0.0.1:39569/bzz/1498 -T . log/20/stdout1498 2> log/20/stderr1498 === End of file commands.log === Start of file http_server.log 14:54:33.731685 ====> Client connect 14:54:33.731714 accept_connection 3 returned 4 14:54:33.731730 accept_connection 3 returned 0 14:54:33.731743 Read 93 bytes 14:54:33.731752 Process 93 bytes request 14:54:33.731765 Got request: GET /verifiedserver HTTP/1.1 14:54:33.731773 Are-we-friendly question received 14:54:33.731793 Wrote request (93 bytes) input to log/20/server.input 14:54:33.731808 Identifying ourselves as friends 14:54:33.731851 Response sent (56 bytes) and written to log/20/server.response 14:54:33.731860 special request received, no persistency 14:54:33.731868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 51022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:37085/1499 http://127.0.0.1:37085/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==157955== ==157955== Process terminating with default action of signal 4 (SIGILL) ==157955== Illegal opcode at address 0x4014B6F ==157955== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==157955== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==157955== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==157955== by 0x4004266: main (tool_main.c:199) === End of file valgrind1498 test 1499...[HTTP chunked encoding and chunked trailer, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:37085/1499 http://127.0.0.1:37085/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 1499: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:37085/1499 http://127.0.0.1:37085/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 === End of file commands.log === Start of file http_server.log 14:54:32.852887 ====> Client connect 14:54:32.852924 accept_connection 3 returned 4 14:54:32.852943 accept_connection 3 returned 0 14:54:32.852959 Read 93 bytes 14:54:32.852969 Process 93 bytes request 14:54:32.852995 Got request: GET /verifiedserver HTTP/1.1 14:54:32.853006 Are-we-friendly question received 14:54:32.853032 Wrote request (93 bytes) input to log/8/server.input 14:54:32.853050 Identifying ourselves as friends 14:54:32.853105 Response sent (56 bytes) and written to log/8/server.response 14:54:32.853115 special request received, no persistency 14:54:32.853125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:34475/1505 34475 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:37587/1509 127.0.0.1:36829 > log/2/stdout1509 2> log/2/stderr1509 27.0.0.1 port 58760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind1499 ==158032== ==158032== Process terminating with default action of signal 4 (SIGILL) ==158032== Illegal opcode at address 0x4014B6F ==158032== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==158032== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==158032== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==158032== by 0x4004266: main (tool_main.c:199) === End of file valgrind1499 test 1505...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:34475/1505 34475 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 1505: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:34475/1505 34475 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 === End of file commands.log === Start of file http_server.log 14:54:34.054211 ====> Client connect 14:54:34.054236 accept_connection 3 returned 4 14:54:34.054250 accept_connection 3 returned 0 14:54:34.054261 Read 93 bytes 14:54:34.054270 Process 93 bytes request 14:54:34.054280 Got request: GET /verifiedserver HTTP/1.1 14:54:34.054288 Are-we-friendly question received 14:54:34.054307 Wrote request (93 bytes) input to log/16/server.input 14:54:34.054320 Identifying ourselves as friends 14:54:34.054362 Response sent (56 bytes) and written to log/16/server.response 14:54:34.054371 special request received, no persistency 14:54:34.054379 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 38118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1505 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr1505 URL: http://google.com:34475/1505 === End of file stderr1505 === Start of file valgrind1505 ==158372== ==158372== Process terminating with default action of signal 4 (SIGILL) ==158372== Illegal opcode at address 0x51D42F3 ==158372== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158372== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158372== by 0x51D42F3: Curl_open (url.c:551) ==158372== by 0x514CA2F: curl_easy_init (easy.c:372) ==158372== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158372== by 0x400347F: main (first.c:281) ==158372== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 527 of 641 ==158372== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==158372== by 0x51BDC29: UnknownInlinedFun (slist.c:68) ==158372== by 0x51BDC29: curl_slist_append (slist.c:99) ==158372== by 0x405D50F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==158372== by 0x400347F: main (first.c:281) ==158372== ==158372== 5,408 bytes in 1 blocks are definitely lost in loss record 639 of 641 ==158372== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158372== by 0x51D4243: Curl_open (url.c:530) ==158372== by 0x514CA2F: curl_easy_init (easy.c:372) ==158372== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158372== by 0x400347F: main (first.c:281) ==158372== === End of file valgrind1505 test 1509...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:37587/1509 127.0.0.1:36829 > log/2/stdout1509 2> log/2/stderr1509 1509: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1509 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:37587/1509 127.0.0.1:36829 > log/2/stdout1509 2> log/2/stderr1509 === End of file commands.log === Start of file http2_server.log 14:54:34.086864 ====> Client connect 14:54:34.086896 accept_connection 3 returned 4 14:54:34.086915 accept_connection 3 returned 0 14:54:34.086931 Read 93 bytes 14:54:34.086945 Process 93 bytes request 14:54:34.086961 Got request: GET /verifiedserver HTTP/1.1 14:54:34.086972 Are-we-friendly question received 14:54:34.086997 Wrote request (93 bytes) input to log/2/proxy.input 14:54:34.087020 Identifying ourselves as friends 14:54:34.087081 Response sent (57 bytes) and written to log/2/proxy.response 14:54:34.087097 special request received, no persistency 14:54:34.087107 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36829... * Established connection to 127.0.0.1 (127.0.0.1 port 36829) from 127.0.0.1 port 54560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36829 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:36829 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 115099 === End of file http2_verify.out === Start of file http_server.log 14:54:34.069045 ====> Client connect 14:54:34.069084 accept_connection 3 returned 4 14:54:34.069101 accept_connection 3 returned 0 14:54:34.069116 Read 93 bytes 14:54:34.069128 Process 93 bytes request 14:54:34.069141 Got request: GET /verifiedserver HTTP/1.1 14:54:34.069152 Are-we-friendly question received 14:54:34.069175 Wrote request (93 bytes) input to log/2/server.input 14:54:34.069193 Identifying ourselves as friends 14:54:34.069247 Response sent (56 bytes) and written to log/2/server.response 14:54:34.069258 special request received, no persistency 14:54:34.069268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 50754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.outCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 46041 > log/5/stdout1506 2> log/5/stderr1506 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1508 ./libtest/libtests lib1508 - > log/17/stdout1508 2> log/17/stderr1508 WE ROOLZ: 74490 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 115099 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 1509 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:37587/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==158651== ==158651== Process terminating with default action of signal 4 (SIGILL) ==158651== Illegal opcode at address 0x51D42F3 ==158651== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158651== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158651== by 0x51D42F3: Curl_open (url.c:551) ==158651== by 0x514CA2F: curl_easy_init (easy.c:372) ==158651== by 0x402F499: UnknownInlinedFun (lib1509.c:42) ==158651== by 0x402F499: test_lib1509.lto_priv.0 (lib1509.c:33) ==158651== by 0x400347F: main (first.c:281) ==158651== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158651== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158651== by 0x51D4243: Curl_open (url.c:530) ==158651== by 0x514CA2F: curl_easy_init (easy.c:372) ==158651== by 0x402F499: UnknownInlinedFun (lib1509.c:42) ==158651== by 0x402F499: test_lib1509.lto_priv.0 (lib1509.c:33) ==158651== by 0x400347F: main (first.c:281) ==158651== === End of file valgrind1509 test 1506...[HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 46041 > log/5/stdout1506 2> log/5/stderr1506 1506: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1506 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 46041 > log/5/stdout1506 2> log/5/stderr1506 === End of file commands.log === Start of file http_server.log 14:54:34.057018 ====> Client connect 14:54:34.057051 accept_connection 3 returned 4 14:54:34.057065 accept_connection 3 returned 0 14:54:34.057076 Read 93 bytes 14:54:34.057085 Process 93 bytes request 14:54:34.057095 Got request: GET /verifiedserver HTTP/1.1 14:54:34.057103 Are-we-friendly question received 14:54:34.057122 Wrote request (93 bytes) input to log/5/server.input 14:54:34.057135 Identifying ourselves as friends 14:54:34.057177 Response sent (56 bytes) and written to log/5/server.response 14:54:34.057185 special request received, no persistency 14:54:34.057192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd Testnum 1506 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr1506 URL: - === End of file stderr1506 === Start of file valgrind1506 ==158417== ==158417== Process terminating with default action of signal 4 (SIGILL) ==158417== Illegal opcode at address 0x519C257 ==158417== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==158417== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==158417== by 0x519C257: Curl_multi_handle (multi.c:236) ==158417== by 0x402BE1B: test_lib1506.lto_priv.0 (lib1506.c:60) ==158417== by 0x400347F: main (first.c:281) ==158417== 656 bytes in 1 blocks are possibly lost in loss record 609 of 642 ==158417== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158417== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==158417== by 0x402BE1B: test_lib1506.lto_priv.0 (lib1506.c:60) ==158417== by 0x400347F: main (first.c:281) ==158417== === End of file valgrind1506 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43909/1507 log/15/stdout1507 2> log/15/stderr1507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:33503/1500 > log/11/stdout1500 2> log/11/stderr1500 test 1508...[Close a multi handle without using it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1508 ./libtest/libtests lib1508 - > log/17/stdout1508 2> log/17/stderr1508 1508: output (log/17/stdout1508) FAILED: --- log/17/check-expected 2025-09-11 14:54:34.905531578 +0000 +++ log/17/check-generated 2025-09-11 14:54:34.905531578 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/17/ dir after test 1508 === Start of file check-expected We are done[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1508 ./libtest/libtests lib1508 - > log/17/stdout1508 2> log/17/stderr1508 === End of file commands.log === Start of file server.cmd Testnum 1508 === End of file server.cmd === Start of file stderr1508 URL: - === End of file stderr1508 === Start of file valgrind1508 ==158270== ==158270== Process terminating with default action of signal 4 (SIGILL) ==158270== Illegal opcode at address 0x519C257 ==158270== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==158270== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==158270== by 0x519C257: Curl_multi_handle (multi.c:236) ==158270== by 0x402BB43: UnknownInlinedFun (lib1508.c:37) ==158270== by 0x402BB43: test_lib1508.lto_priv.0 (lib1508.c:28) ==158270== by 0x400347F: main (first.c:281) ==158270== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==158270== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158270== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==158270== by 0x402BB43: UnknownInlinedFun (lib1508.c:37) ==158270== by 0x402BB43: test_lib1508.lto_priv.0 (lib1508.c:28) ==158270== by 0x400347F: main (first.c:281) ==158270== === End of file valgrind1508 test 1507...[SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43909/1507 log/15/stdout1507 2> log/15/stderr1507 1507: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43909/1507 log/15/stdout1507 2> log/15/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 14:54:33.978902 ====> Client connect 14:54:33.979004 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:33.979252 < "EHLO verifiedserver" 14:54:33.979295 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:33.979484 < "HELP" 14:54:33.979515 > "214 WE ROOLZ: 122938[CR][LF]" 14:54:33.979527 return proof we are we 14:54:33.979691 < "QUIT" 14:54:33.979712 > "221 curl ESMTP server signing off[CR][LF]" 14:54:33.980472 MAIN sockfilt said DISC 14:54:33.980496 ====> Client disconnected 14:54:33.980543 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:34.061631 ====> Client connect 14:54:34.061819 Received DATA (on stdin) 14:54:34.061832 > 160 bytes data, server => client 14:54:34.061842 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:34.061852 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:34.061860 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:34.061922 < 21 bytes data, client => server 14:54:34.061936 'EHLO verifiedserver\r\n' 14:54:34.062110 Received DATA (on stdin) 14:54:34.062125 > 53 bytes data, server => client 14:54:34.062138 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:34.062195 < 6 bytes data, client => server 14:54:34.062210 'HELP\r\n' 14:54:34.062333 Received DATA (on stdin) 14:54:34.062345 > 22 bytes data, server => client 14:54:34.062354 '214 WE ROOLZ: 122938\r\n' 14:54:34.062426 < 6 bytes data, client => server 14:54:34.062437 'QUIT\r\n' 14:54:34.062518 Received DATA (on stdin) 14:54:34.062527 > 35 bytes data, server => client 14:54:34.062536 '221 curl ESMTP server signing off\r\n' 14:54:34.063234 ====> Client disconnect 14:54:34.063355 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:43909/1507 === End of file stderr1507 === Start of file stdin-for-1507 From: different To: another body === End of file stdin-for-1507 === Start of file valgrind1507 ==158412== ==158412== Process terminating with default action of signal 4 (SIGILL) ==158412== Illegal opcode at address 0x51D42F3 ==158412== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158412== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158412== by 0x51D42F3: Curl_open (url.c:551) ==158412== by 0x514CA2F: curl_easy_init (easy.c:372) ==158412== by 0x402C74B: test_lib1507.lto_priv.0 (lib1507.c:50) ==158412== by 0x400347F: main (first.c:281) ==158412== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158412== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158412== by 0x51D4243: Curl_open (url.c:530) ==158412== by 0x514CA2F: curl_easy_init (easy.c:372) ==158412== by 0x402C74B: test_lib1507.lto_priv.0 (lib1507.c:50) ==158412== by 0x400347F: main (first.c:281) ==158412== === End of file valgrind1507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1502 ./libtest/libtests lib1502 http://google.com:34345/1502 34345 127.0.0.1 > log/9/stdout1502 2> log/9/stderr1502 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46729/1501/ > log/19/stdout1501 2> log/19/stderr1501 * kill pid for ftp-ctrl => 80259 RUN: Process with pid 80256 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1503 ./libtest/libtests lib1502 http://google.com:38791/1503 38791 127.0.0.1 > log/6/stdout1503 2> log/6/stderr1503 test 1500...[curl_multi_wait] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:33503/1500 > log/11/stdout1500 2> log/11/stderr1500 1500: data FAILED: --- log/11/check-expected 2025-09-11 14:54:34.922198245 +0000 +++ log/11/check-generated 2025-09-11 14:54:34.922198245 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 all good![CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/11/ dir after test 1500 === Start of file check-expected HTTP/1.1 200 all good![CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:33503/1500 > log/11/stdout1500 2> log/11/stderr1500 === End of file commands.log === Start of file http_server.log 14:54:34.014390 ====> Client connect 14:54:34.014422 accept_connection 3 returned 4 14:54:34.014440 accept_connection 3 returned 0 14:54:34.014456 Read 93 bytes 14:54:34.014467 Process 93 bytes request 14:54:34.014481 Got request: GET /verifiedserver HTTP/1.1 14:54:34.014491 Are-we-friendly question received 14:54:34.014516 Wrote request (93 bytes) input to log/11/server.input 14:54:34.014532 Identifying ourselves as friends 14:54:34.014583 Response sent (56 bytes) and written to log/11/server.response 14:54:34.014594 special request received, no persistency 14:54:34.014605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr1500 URL: http://127.0.0.1:33503/1500 === End of file stderr1500 === Start of file valgrind1500 ==158144== ==158144== Process terminating with default action of signal 4 (SIGILL) ==158144== Illegal opcode at address 0x519C257 ==158144== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==158144== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==158144== by 0x519C257: Curl_multi_handle (multi.c:236) ==158144== by 0x40280C0: UnknownInlinedFun (lib1500.c:41) ==158144== by 0x40280C0: test_lib1500.lto_priv.0 (lib1500.c:28) ==158144== by 0x400347F: main (first.c:281) ==158144== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==158144== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158144== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==158144== by 0x40280C0: UnknownInlinedFun (lib1500.c:41) ==158144== by 0x40280C0: test_lib1500.lto_priv.0 (lib1500.c:28) ==158144== by 0x400347F: main (first.c:281) ==158144== === End of file valgrind1500 test 1502...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1502 ./libtest/libtests lib1502 http://google.com:34345/1502 34345 127.0.0.1 > log/9/stdout1502 2> log/9/stderr1502 1502: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1502 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1502 ./libtest/libtests lib1502 http://google.com:34345/1502 34345 127.0.0.1 > log/9/stdout1502 2> log/9/stderr1502 === End of file commands.log === Start of file http_server.log 14:54:34.021620 ====> Client connect 14:54:34.021652 accept_connection 3 returned 4 14:54:34.021668 accept_connection 3 returned 0 14:54:34.021683 Read 93 bytes 14:54:34.021694 Process 93 bytes request 14:54:34.021707 Got request: GET /verifiedserver HTTP/1.1 14:54:34.021717 Are-we-friendly question received 14:54:34.021741 Wrote request (93 bytes) input to log/9/server.input 14:54:34.021758 Identifying ourselves as friends 14:54:34.021811 Response sent (56 bytes) and written to log/9/server.response 14:54:34.021822 special request received, no persistency 14:54:34.021831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1502 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr1502 URL: http://google.com:34345/1502 === End of file stderr1502 === Start of file valgrind1502 ==158159== ==158159== Process terminating with default action of signal 4 (SIGILL) ==158159== Illegal opcode at address 0x51D42F3 ==158159== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158159== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158159== by 0x51D42F3: Curl_open (url.c:551) ==158159== by 0x514CA2F: curl_easy_init (easy.c:372) ==158159== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158159== by 0x400347F: main (first.c:281) ==158159== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 527 of 641 ==158159== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==158159== by 0x51BDC29: UnknownInlinedFun (slist.c:68) ==158159== by 0x51BDC29: curl_slist_append (slist.c:99) ==158159== by 0x405D50F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==158159== by 0x400347F: main (first.c:281) ==158159== ==158159== 5,408 bytes in 1 blocks are definitely lost in loss record 639 of 641 ==158159== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158159== by 0x51D4243: Curl_open (url.c:530) ==158159== by 0x514CA2F: curl_easy_init (easy.c:372) ==158159== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158159== by 0x400347F: main (first.c:281) ==158159== === End of file valgrind1502 test 1503...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1503 ./libtest/libtests lib1502 http://google.com:38791/1503 38791 127.0.0.1 > log/6/stdout1503 2> log/6/stderr1503 1503: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1504 ./libtest/libtests lib1502 http://google.com:34037/1504 34037 127.0.0.1 > log/21/stdout1504 2> log/21/stderr1504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 38933 > log/3/stdout1510 2> log/3/stderr1510 1503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1503 ./libtest/libtests lib1502 http://google.com:38791/1503 38791 127.0.0.1 > log/6/stdout1503 2> log/6/stderr1503 === End of file commands.log === Start of file http_server.log 14:54:34.045152 ====> Client connect 14:54:34.045186 accept_connection 3 returned 4 14:54:34.045205 accept_connection 3 returned 0 14:54:34.045222 Read 93 bytes 14:54:34.045233 Process 93 bytes request 14:54:34.045248 Got request: GET /verifiedserver HTTP/1.1 14:54:34.045259 Are-we-friendly question received 14:54:34.045287 Wrote request (93 bytes) input to log/6/server.input 14:54:34.045306 Identifying ourselves as friends 14:54:34.045390 Response sent (56 bytes) and written to log/6/server.response 14:54:34.045404 special request received, no persistency 14:54:34.045490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 34684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr1503 URL: http://google.com:38791/1503 === End of file stderr1503 === Start of file valgrind1503 ==158319== ==158319== Process terminating with default action of signal 4 (SIGILL) ==158319== Illegal opcode at address 0x51D42F3 ==158319== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158319== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158319== by 0x51D42F3: Curl_open (url.c:551) ==158319== by 0x514CA2F: curl_easy_init (easy.c:372) ==158319== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158319== by 0x400347F: main (first.c:281) ==158319== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 527 of 641 ==158319== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==158319== by 0x51BDC29: UnknownInlinedFun (slist.c:68) ==158319== by 0x51BDC29: curl_slist_append (slist.c:99) ==158319== by 0x405D50F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==158319== by 0x400347F: main (first.c:281) ==158319== ==158319== 5,408 bytes in 1 blocks are definitely lost in loss record 639 of 641 ==158319== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158319== by 0x51D4243: Curl_open (url.c:530) ==158319== by 0x514CA2F: curl_easy_init (easy.c:372) ==158319== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158319== by 0x400347F: main (first.c:281) ==158319== === End of file valgrind1503 test 1504...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1504 ./libtest/libtests lib1502 http://google.com:34037/1504 34037 127.0.0.1 > log/21/stdout1504 2> log/21/stderr1504 1504: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1504 ./libtest/libtests lib1502 http://google.com:34037/1504 34037 127.0.0.1 > log/21/stdout1504 2> log/21/stderr1504 === End of file commands.log === Start of file http_server.log 14:54:34.051942 ====> Client connect 14:54:34.051969 accept_connection 3 returned 4 14:54:34.051995 accept_connection 3 returned 0 14:54:34.052008 Read 93 bytes 14:54:34.052016 Process 93 bytes request 14:54:34.052027 Got request: GET /verifiedserver HTTP/1.1 14:54:34.052036 Are-we-friendly question received 14:54:34.052063 Wrote request (93 bytes) input to log/21/server.input 14:54:34.052078 Identifying ourselves as friends 14:54:34.052139 Response sent (56 bytes) and written to log/21/server.response 14:54:34.052151 special request received, no persistency 14:54:34.052162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1504 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr1504 URL: http://google.com:34037/1504 === End of file stderr1504 === Start of file valgrind1504 ==158359== ==158359== Process terminating with default action of signal 4 (SIGILL) ==158359== Illegal opcode at address 0x51D42F3 ==158359== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158359== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158359== by 0x51D42F3: Curl_open (url.c:551) ==158359== by 0x514CA2F: curl_easy_init (easy.c:372) ==158359== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158359== by 0x400347F: main (first.c:281) ==158359== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 527 of 641 ==158359== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==158359== by 0x51BDC29: UnknownInlinedFun (slist.c:68) ==158359== by 0x51BDC29: curl_slist_append (slist.c:99) ==158359== by 0x405D50F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==158359== by 0x400347F: main (first.c:281) ==158359== ==158359== 5,408 bytes in 1 blocks are definitely lost in loss record 639 of 641 ==158359== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158359== by 0x51D4243: Curl_open (url.c:530) ==158359== by 0x514CA2F: curl_easy_init (easy.c:372) ==158359== by 0x405D521: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==158359== by 0x400347F: main (first.c:281) ==158359== === End of file valgrind1504 test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 38933 > log/3/stdout1510 2> log/3/stderr1510 1510: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 38933 > log/3/stdout1510 2> log/3/stderr1510 === End of file commands.log === Start of file http_server.log 14:54:34.068410 ====> Client connect 14:54:34.068444 accept_connection 3 returned 4 14:54:34.068463 accept_connection 3 returned 0 14:54:34.068479 Read 93 bytes 14:54:34.068491 Process 93 bytes request 14:54:34.068506 Got request: GET /verifiedserver HTTP/1.1 1RUN: Process with pid 80256 gracefully died 4:54:34.068517 Are-we-friendly question received 14:54:34.068545 Wrote request (93 bytes) input to log/3/server.input 14:54:34.068565 Identifying ourselves as friends 14:54:34.068623 Response sent (57 bytes) and written to log/3/server.response 14:54:34.068635 special request received, no persistency 14:54:34.068646 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 55744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd Testnum 1510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file stderr1510 URL: - === End of file stderr1510 === Start of file valgrind1510 ==158503== ==158503== Process terminating with default action of signal 4 (SIGILL) ==158503== Illegal opcode at address 0x51D42F3 ==158503== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158503== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158503== by 0x51D42F3: Curl_open (url.c:551) ==158503== by 0x514CA2F: curl_easy_init (easy.c:372) ==158503== by 0x402CE1E: test_lib1510.lto_priv.0 (lib1510.c:61) ==158503== by 0x400347F: main (first.c:281) ==158503== 5,408 bytes in 1 blocks are definitely lost in loss record 640 of 642 ==158503== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158503== by 0x51D4243: Curl_open (url.c:530) ==158503== by 0x514CA2F: curl_easy_init (easy.c:372) ==158503== by 0x402CE1E: test_lib1510.lto_priv.0 (lib1510.c:61) ==158503== by 0x400347F: main (first.c:281) ==158503== === End of file valgrind1510 test 1501...[FTP with multi interface and slow LIST response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46729/1501/ > log/19/stdout1501 2> log/19/stderr1501 1501: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46729/1501/ > log/19/stdout1501 2> log/19/stderr1501 === End of file commands.log === Start of file ftp_server.log 14:54:33.937328 ====> Client connect 14:54:33.937454 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:33.937672 < "USER anonymous" 14:54:33.937701 > "331 We are happy you popped in![CR][LF]" 14:54:33.937828 < "PASS ftp@example.com" 14:54:33.937848 > "230 Welcome you silly person[CR][LF]" 14:54:33.937964 < "PWD" 14:54:33.937985 > "257 "/" is current directory[CR][LF]" 14:54:33.938106 < "EPSV" 14:54:33.938125 ====> Passive DATA channel requested by client 14:54:33.938136 DATA sockfilt for passive data channel starting... 14:54:33.940600 DATA sockfilt for passive data channel started (pid 158142) 14:54:33.940726 DATA sockfilt for passive data channel listens on port 40979 14:54:33.940770 > "229 Entering Passive Mode (|||40979|)[LF]" 14:54:33.940792 Client has been notified that DATA conn will be accepted on port 40979 14:54:33.941037 Client connects to port 40979 14:54:33.941068 ====> Client established passive DATA connection on port 40979 14:54:33.941150 < "TYPE I" 14:54:33.941181 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:33.941406 < "SIZE verifiedserver" 14:54:33.941469 > "213 17[CR][LF]" 14:54:33.941704 < "RETR verifiedserver" 14:54:33.941738 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:33.941913 =====> Closing passive DATA connection... 14:54:33.941946 Server disconnects passive DATA connection 14:54:33.942519 Server disconnected passive DATA connection 14:54:33.942578 DATA sockfilt for passive data channel quits (pid 158142) 14:54:33.942795 DATA sockfilt for passive data channel quit (pid 158142) 14:54:33.942820 =====> Closed passive DATA connection 14:54:33.942850 > "226 File transfer complete[CR][LF]" 14:54:33.983850 < "QUIT" 14:54:33.983902 > "221 bye bye baby[CR][LF]" 14:54:33.984149 MAIN sockfilt said DISC 14:54:33.984194 ====> Client disconnected 14:54:33.984261 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:34.020043 ====> Client connect 14:54:34.020270 Received DATA (on stdin) 14:54:34.020282 > 160 bytes data, server => client 14:54:34.020292 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:34.020301 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:34.020310 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:34.020365 < 16 bytes data, client => server 14:54:34.020375 'USER anonymous\r\n' 14:54:34.020509 Received DATA (on stdin) 14:54:34.020519 > 33 bytes data, server => client 14:54:34.020528 '331 We are happy you popped in!\r\n' 14:54:34.020568 < 22 bytes data, client => server 14:54:34.020577 'PASS ftp@example.com\r\n' 14:54:34.020654 Received DATA (on stdin) 14:54:34.020664 > 30 bytes data, server => client 14:54:34.020672 '230 Welcome you silly person\r\n' 14:54:34.020708 < 5 bytes data, client => server 14:54:34.020716 'PWD\r\n' 14:54:34.020792 Received DATA (on stdin) 14:54:34.020801 > 30 bytes data, server => client 14:54:34.020809 '257 "/" is current directory\r\n' 14:54:34.020851 < 6 bytes data, client => server 14:54:34.020860 'EPSV\r\n' 14:54:34.023615 Received DATA (on stdin) 14:54:34.023631 > 38 bytes data, server => client 14:54:34.023645 '229 Entering Passive Mode (|||40979|)\n' 14:54:34.023761 < 8 bytes data, client => server 14:54:34.023777 'TYPE I\r\n' 14:54:34.023996 Received DATA (on stdin) 14:54:34.024010 > 33 bytes data, server => client 14:54:34.024023 '200 I modify TYPE as you wanted\r\n' 14:54:34.024075 < 21 bytes data, client => server 14:54:34.024088 'SIZE verifiedserver\r\n' 14:54:34.024293 Received DATA (on stdin) 14:54:34.024314 > 8 bytes data, server => client 14:54:34.024326 '213 17\r\n' 14:54:34.024418 < 21 bytes data, client => server 14:54:34.024434 'RETR verifiedserver\r\n' 14:54:34.024624 Received DATA (on stdin) 14:54:34.024640 > 29 bytes data, server => client 14:54:34.024654 '150 Binary junk (17 bytes).\r\n' 14:54:34.026328 Received DATA (on stdin) 14:54:34.026349 > 28 bytes data, server => client 14:54:34.026363 '226 File transfer complete\r\n' 14:54:34.066496 < 6 bytes data, client => server 14:54:34.066522 'QUIT\r\n' 14:54:34.066719 Received DATA (on stdin) 14:54:34.066734 > 18 bytes data, server => client 14:54:34.066746 '221 bye bye baby\r\n' 14:54:34.066891 ====> Client disconnect 14:54:34.067505 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:33.023207 Running IPv4 version 14:54:33.023263 Listening on port 40979 14:54:33.023301 Wrote pid 158142 to log/19/server/ftp_sockdata.pid 14:54:33.023324 Received PING (on stdin) 14:54:33.023451 Received PORT (on stdin) 14:54:33.023799 ====> Client connect 14:54:33.024620 Received DATA (on stdin) 14:54:33.024643 > 17 bytes data, server => client 14:54:33.024656 'WE ROOLZ: 80256\r\n' 14:54:33.024771 Received DISC (on stdin) 14:54:33.024802 ====> Client forcibly disconnected 14:54:33.025403 Received QUIT (on stdin) 14:54:33.025418 quits 14:54:33.025479 ============> sockfilt quits === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:38851/1511 > log/23/stdout1511 2> log/23/stderr1511 nd of file ftp_sockdata.log === Start of file server.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === End of file server.cmd === Start of file stderr1501 URL: ftp://127.0.0.1:46729/1501/ === End of file stderr1501 === Start of file valgrind1501 ==158469== ==158469== Process terminating with default action of signal 4 (SIGILL) ==158469== Illegal opcode at address 0x51D42F3 ==158469== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158469== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158469== by 0x51D42F3: Curl_open (url.c:551) ==158469== by 0x514CA2F: curl_easy_init (easy.c:372) ==158469== by 0x402AA79: test_lib1501.lto_priv.0 (lib1501.c:44) ==158469== by 0x400347F: main (first.c:281) ==158469== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158469== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158469== by 0x51D4243: Curl_open (url.c:530) ==158469== by 0x514CA2F: curl_easy_init (easy.c:372) ==158469== by 0x402AA79: test_lib1501.lto_priv.0 (lib1501.c:44) ==158469== by 0x400347F: main (first.c:281) ==158469== === End of file valgrind1501 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35893 > log/10/stdout1516 2> log/10/stderr1516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:43359/1517 > log/12/stdout1517 2> log/12/stderr1517 test 1511...[HTTP GET time conditions in repeated requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:38851/1511 > log/23/stdout1511 2> log/23/stderr1511 1511: data FAILED: --- log/23/check-expected 2025-09-11 14:54:35.045531579 +0000 +++ log/23/check-generated 2025-09-11 14:54:35.045531579 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/23/ dir after test 1511 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:38851/1511 > log/23/stdout1511 2> log/23/stderr1511 === End of file commands.log === Start of file http_server.log 14:54:34.202485 ====> Client connect 14:54:34.202511 accept_connection 3 returned 4 14:54:34.202525 accept_connection 3 returned 0 14:54:34.202538 Read 93 bytes 14:54:34.202547 Process 93 bytes request 14:54:34.202559 Got request: GET /verifiedserver HTTP/1.1 14:54:34.202567 Are-we-friendly question received 14:54:34.202587 Wrote request (93 bytes) input to log/23/server.input 14:54:34.202601 Identifying ourselves as friends 14:54:34.202642 Response sent (56 bytes) and written to log/23/server.response 14:54:34.202651 special request received, no persistency 14:54:34.202659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1511 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:38851/1511 === End of file stderr1511 === Start of file valgrind1511 ==158803== ==158803== Process terminating with default action of signal 4 (SIGILL) ==158803== Illegal opcode at address 0x51D42F3 ==158803== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158803== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158803== by 0x51D42F3: Curl_open (url.c:551) ==158803== by 0x514CA2F: curl_easy_init (easy.c:372) ==158803== by 0x402F7F9: UnknownInlinedFun (lib1511.c:36) ==158803== by 0x402F7F9: test_lib1511.lto_priv.0 (lib1511.c:28) ==158803== by 0x400347F: main (first.c:281) ==158803== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158803== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158803== by 0x51D4243: Curl_open (url.c:530) ==158803== by 0x514CA2F: curl_easy_init (easy.c:372) ==158803== by 0x402F7F9: UnknownInlinedFun (lib1511.c:36) ==158803== by 0x402F7F9: test_lib1511.lto_priv.0 (lib1511.c:28) ==158803== by 0x400347F: main (first.c:281) ==158803== === End of file valgrind1511 test 1516...[caching of manual libcurl DNS entries after dead connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35893 > log/10/stdout1516 2> log/10/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/10/ dir after test 1516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35893 > log/10/stdout1516 2> log/10/stderr1516 === End of file commands.log === Start of file http_server.log 14:54:34.239883 ====> Client connect 14:54:34.239917 accept_connection 3 returned 4 14:54:34.239934 accept_connection 3 returned 0 14:54:34.239949 Read 93 bytes 14:54:34.239960 Process 93 bytes request 14:54:34.239974 Got request: GET /verifiedserver HTTP/1.1 14:54:34.239985 Are-we-friendly question received 14:54:34.240010 Wrote request (93 bytes) input to log/10/server.input 14:54:34.240028 Identifying ourselves as friends 14:54:34.240086 Response sent (56 bytes) and written to log/10/server.response 14:54:34.240098 special request received, no persistency 14:54:34.240109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr1516 URL: path/1516 === End of file stderr1516 === Start of file valgrind1516 ==158953== ==158953== Process terminating with default action of signal 4 (SIGILL) ==158953== Illegal opcode at address 0x519C257 ==158953== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==158953== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==158953== by 0x519C257: Curl_multi_handle (multi.c:236) ==158953== by 0x4030121: test_lib1515.lto_priv.0 (lib1515.c:121) ==158953== by 0x400347F: main (first.c:281) ==158953== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==158953== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158953== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==158953== by 0x4030121: test_lib1515.lto_priv.0 (lib1515.c:121) ==158953== by 0x400347F: main (first.c:281) ==158953== === End of file valgrind1516 test 1517...[HTTP POST, server responds before completed send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:43359/1517 > log/12/stdout1517 2> log/12/stderr1517 1517: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34449/1514 > log/24/stdout1514 2> log/24/stderr1514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40545/1513 > log/7/stdout1513 2> log/7/stderr1513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44029 > log/1/stdout1515 2> log/1/stderr1515 failure? Returned: 132 == Contents of files in the log/12/ dir after test 1517 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:43359/1517 > log/12/stdout1517 2> log/12/stderr1517 === End of file commands.log === Start of file http_server.log 14:54:34.244526 ====> Client connect 14:54:34.244567 accept_connection 3 returned 4 14:54:34.244586 accept_connection 3 returned 0 14:54:34.244603 Read 93 bytes 14:54:34.244614 Process 93 bytes request 14:54:34.244629 Got request: GET /verifiedserver HTTP/1.1 14:54:34.244640 Are-we-friendly question received 14:54:34.244667 Wrote request (93 bytes) input to log/12/server.input 14:54:34.244684 Identifying ourselves as friends 14:54:34.244759 Response sent (56 bytes) and written to log/12/server.response 14:54:34.244770 special request received, no persistency 14:54:34.244780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd skip: 45 Testnum 1517 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:43359/1517 === End of file stderr1517 === Start of file valgrind1517 ==158992== ==158992== Process terminating with default action of signal 4 (SIGILL) ==158992== Illegal opcode at address 0x51D42F3 ==158992== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158992== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158992== by 0x51D42F3: Curl_open (url.c:551) ==158992== by 0x514CA2F: curl_easy_init (easy.c:372) ==158992== by 0x402DAAA: test_lib1517.lto_priv.0 (lib1517.c:72) ==158992== by 0x400347F: main (first.c:281) ==158992== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158992== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158992== by 0x51D4243: Curl_open (url.c:530) ==158992== by 0x514CA2F: curl_easy_init (easy.c:372) ==158992== by 0x402DAAA: test_lib1517.lto_priv.0 (lib1517.c:72) ==158992== by 0x400347F: main (first.c:281) ==158992== === End of file valgrind1517 test 1514...[HTTP POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34449/1514 > log/24/stdout1514 2> log/24/stderr1514 1514: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34449/1514 > log/24/stdout1514 2> log/24/stderr1514 === End of file commands.log === Start of file http_server.log 14:54:34.229296 ====> Client connect 14:54:34.229326 accept_connection 3 returned 4 14:54:34.229343 accept_connection 3 returned 0 14:54:34.229362 Read 93 bytes 14:54:34.229374 Process 93 bytes request 14:54:34.229387 Got request: GET /verifiedserver HTTP/1.1 14:54:34.229398 Are-we-friendly question received 14:54:34.229421 Wrote request (93 bytes) input to log/24/server.input 14:54:34.229437 Identifying ourselves as friends 14:54:34.229486 Response sent (56 bytes) and written to log/24/server.response 14:54:34.229497 special request received, no persistency 14:54:34.229507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:34449/1514 === End of file stderr1514 === Start of file valgrind1514 ==158911== ==158911== Process terminating with default action of signal 4 (SIGILL) ==158911== Illegal opcode at address 0x51D42F3 ==158911== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158911== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158911== by 0x51D42F3: Curl_open (url.c:551) ==158911== by 0x514CA2F: curl_easy_init (easy.c:372) ==158911== by 0x402D84E: test_lib1514.lto_priv.0 (lib1514.c:67) ==158911== by 0x400347F: main (first.c:281) ==158911== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158911== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158911== by 0x51D4243: Curl_open (url.c:530) ==158911== by 0x514CA2F: curl_easy_init (easy.c:372) ==158911== by 0x402D84E: test_lib1514.lto_priv.0 (lib1514.c:67) ==158911== by 0x400347F: main (first.c:281) ==158911== === End of file valgrind1514 test 1515...[caching of manual libcurl DNS entries after DNS cache timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44029 > log/1/stdout1515 2> log/1/stderr1515 1515: data FAILED: --- log/1/check-expected 2025-09-11 14:54:35.138864914 +0000 +++ log/1/check-generated 2025-09-11 14:54:35.138864914 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/1/ dir after test 1515 === Start of file check-expected hello[LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44029 > log/1/stdout1515 2> log/1/stderr1515 === End of file commands.log === Start of file http_server.log 14:54:34.233143 ====> Client connect 14:54:34.233168 accept_connection 3 returned 4 14:54:34.233182 accept_connection 3 returned 0 14:54:34.233194 Read 93 bytes 14:54:34.233202 Process 93 bytes request 14:54:34.233212 Got request: GET /verifiedserver HTTP/1.1 14:54:34.233220 Are-we-friendly question received 14:54:34.233240 Wrote request (93 bytes) input to log/1/server.input 14:54:34.233255 Identifying ourselves as friends 14:54:34.233297 Response sent (56 bytes) and written to log/1/server.response 14:54:34.233306 special request received, no persistency 14:54:34.233313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 37300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==158919== ==158919== Process terminating with default action of signal 4 (SIGILL) ==158919== Illegal opcode at address 0x519C257 ==158919== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==158919== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==158919== by 0x519C257: Curl_multi_handle (multi.c:236) ==158919== by 0x4030121: test_lib1515.lto_priv.0 (lib1515.c:121) ==158919== by 0x400347F: main (first.c:281) ==158919== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==158919== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158919== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==158919== by 0x4030121: test_lib1515.lto_priv.0 (lib1515.c:121) ==158919== by 0x400347F: main (first.c:281) ==158919== === End of file valgrind1515 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41533/1518 > log/13/stdout1518 2> log/13/stderr1518 test 1513...[return failure immediately from progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40545/1513 > log/7/stdout1513 2> log/7/stderr1513 1513: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:35.145531581 +0000 +++ log/7/check-generated 2025-09-11 14:54:35.145531581 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/7/ dir after test 1513 === Start of file check-expected PROGRESSFUNCTION called[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40545/1513 > log/7/stdout1513 2> log/7/stderr1513 === End of file commands.log === Start of file http_server.log 14:54:34.230622 ====> Client connect 14:54:34.230652 accept_connection 3 returned 4 14:54:34.230669 accept_connection 3 returned 0 14:54:34.230683 Read 93 bytes 14:54:34.230694 Process 93 bytes request 14:54:34.230706 Got request: GET /verifiedserver HTTP/1.1 14:54:34.230716 Are-we-friendly question received 14:54:34.230739 Wrote request (93 bytes) input to log/7/server.input 14:54:34.230756 Identifying ourselves as friends 14:54:34.230810 Response sent (56 bytes) and written to log/7/server.response 14:54:34.230821 special request received, no persistency 14:54:34.230831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:40545/1513 === End of file stderr1513 === Start of file valgrind1513 ==158910== ==158910== Process terminating with default action of signal 4 (SIGILL) ==158910== Illegal opcode at address 0x51D42F3 ==158910== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==158910== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==158910== by 0x51D42F3: Curl_open (url.c:551) ==158910== by 0x514CA2F: curl_easy_init (easy.c:372) ==158910== by 0x402D5CC: UnknownInlinedFun (lib1513.c:57) ==158910== by 0x402D5CC: test_lib1513.lto_priv.0 (lib1513.c:50) ==158910== by 0x400347F: main (first.c:281) ==158910== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==158910== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==158910== by 0x51D4243: Curl_open (url.c:530) ==158910== by 0x514CA2F: curl_easy_init (easy.c:372) ==158910== by 0x402D5CC: UnknownInlinedFun (lib1513.c:57) ==158910== by 0x402D5CC: test_lib1513.lto_priv.0 (lib1513.c:50) ==158910== by 0x400347F: main (first.c:281) ==158910== === End of file valgrind1513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1497 ../src/curl -q --output log/18/curl1497.out --include --trace-ascii log/18/trace1497 --trace-time http://127.0.0.1:46275/1497 --retry 3 -o /dev/null > log/18/stdout1497 2> log/18/stderr1497 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:39569/1519 > log/20/stdout1519 2> log/20/stderr1519 test 1518...[Extract Location: with broken URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41533/1518 > log/13/stdout1518 2> log/13/stderr1518 1518: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:35.155531581 +0000 +++ log/13/check-generated 2025-09-11 14:54:35.155531581 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:41533/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/13/ dir after test 1518 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:41533/1518[LF] redirecturl http://1.2 .4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41533/1518 > log/13/stdout1518 2> log/13/stderr1518 === End of file commands.log === Start of file http_server.log 14:54:34.339195 ====> Client connect 14:54:34.339236 accept_connection 3 returned 4 14:54:34.339256 accept_connection 3 returned 0 14:54:34.339273 Read 93 bytes 14:54:34.339284 Process 93 bytes request 14:54:34.339301 Got request: GET /verifiedserver HTTP/1.1 14:54:34.339312 Are-we-friendly question received 14:54:34.339340 Wrote request (93 bytes) input to log/13/server.input 14:54:34.339360 Identifying ourselves as friends 14:54:34.339421 Response sent (56 bytes) and written to log/13/server.response 14:54:34.339435 special request received, no persistency 14:54:34.339446 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 48106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1518 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:41533/1518 === End of file stderr1518 === Start of file valgrind1518 ==159181== ==159181== Process terminating with default action of signal 4 (SIGILL) ==159181== Illegal opcode at address 0x51D42F3 ==159181== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159181== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159181== by 0x51D42F3: Curl_open (url.c:551) ==159181== by 0x514CA2F: curl_easy_init (easy.c:372) ==159181== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==159181== by 0x400347F: main (first.c:281) ==159181== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159181== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159181== by 0x51D4243: Curl_open (url.c:530) ==159181== by 0x514CA2F: curl_easy_init (easy.c:372) ==159181== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==159181== by 0x400347F: main (first.c:281) ==159181== === End of file valgrind1518 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_server.pid" --logfile "log/18/http_server.log" --logdir "log/18" --portfile log/18/server/http_server.port --config log/18/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 157920 port 46275 * pid http => 157920 157920 test 1497...[HTTP GET --retry on 503 error with output to /dev/null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1497 ../src/curl -q --output log/18/curl1497.out --include --trace-ascii log/18/trace1497 --trace-time http://127.0.0.1:46275/1497 --retry 3 -o /dev/null > log/18/stdout1497 2> log/18/stderr1497 1497: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 1497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1497 ../src/curl -q --output log/18/curl1497.out --include --trace-ascii log/18/trace1497 --trace-time http://127.0.0.1:46275/1497 --retry 3 -o /dev/null > log/18/stdout1497 2> log/18/stderr1497 === End of file commands.log === Start of file http_server.log 14:54:33.582317 Running HTTP IPv4 version on port 46275 14:54:33.582427 Wrote pid 157920 to log/18/server/http_server.pid 14:54:33.582462 Wrote port 46275 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1497 === End of file server.cmd === Start of file valgrind1497 ==159248== ==159248== Process terminating with default action of signal 4 (SIGILL) ==159248== Illegal opcode at address 0x4014B6F ==159248== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==159248== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==159248== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==159248== by 0x4004266: main (tool_main.c:199) === End of file valgrind1497 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:43299/1520 log/8/stdout1520 2> log/8/stderr1520 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1538 ./libtest/libtests lib1538 - > log/1/stdout1538 2> log/1/stderr1538 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1530 ./libtest/libtests lib1530 - > log/3/stdout1530 2> log/3/stderr1530 test 1519...[Extract Location: with broken absolute URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:39569/1519 > log/20/stdout1519 2> log/20/stderr1519 1519: stdout FAILED: --- log/20/check-expected 2025-09-11 14:54:35.425531585 +0000 +++ log/20/check-generated 2025-09-11 14:54:35.425531585 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:39569/1519[LF] -redirecturl http://127.0.0.1:39569/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/20/ dir after test 1519 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:39569/1519[LF] redirecturl http://127.0.0.1:39569/h%20ttp://1.2.4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:39569/1519 > log/20/stdout1519 2> log/20/stderr1519 === End of file commands.log === Start of file http_server.log 14:54:34.639125 ====> Client connect 14:54:34.639155 accept_connection 3 returned 4 14:54:34.639169 accept_connection 3 returned 0 14:54:34.639182 Read 93 bytes 14:54:34.639191 Process 93 bytes request 14:54:34.639204 Got request: GET /verifiedserver HTTP/1.1 14:54:34.639212 Are-we-friendly question received 14:54:34.639232 Wrote request (93 bytes) input to log/20/server.input 14:54:34.639247 Identifying ourselves as friends 14:54:34.639290 Response sent (56 bytes) and written to log/20/server.response 14:54:34.639299 special request received, no persistency 14:54:34.639307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 51030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:39569/1519 === End of file stderr1519 === Start of file valgrind1519 ==159319== ==159319== Process terminating with default action of signal 4 (SIGILL) ==159319== Illegal opcode at address 0x51D42F3 ==159319== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159319== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159319== by 0x51D42F3: Curl_open (url.c:551) ==159319== by 0x514CA2F: curl_easy_init (easy.c:372) ==159319== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==159319== by 0x400347F: main (first.c:281) ==159319== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159319== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159319== by 0x51D4243: Curl_open (url.c:530) ==159319== by 0x514CA2F: curl_easy_init (easy.c:372) ==159319== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==159319== by 0x400347F: main (first.c:281) ==159319== === End of file valgrind1519 test 1520...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:43299/1520 log/8/stdout1520 2> log/8/stderr1520 1520: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:43299/1520 log/8/stdout1520 2> log/8/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 14:54:34.773539 ====> Client connect 14:54:34.773698 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:34.774002 < "EHLO verifiedserver" 14:54:34.774043 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:34.774220 < "HELP" 14:54:34.774249 > "214 WE ROOLZ: 123220[CR][LF]" 14:54:34.774264 return proof we are we 14:54:34.774503 < "QUIT" 14:54:34.774530 > "221 curl ESMTP server signing off[CR][LF]" 14:54:34.775410 MAIN sockfilt said DISC 14:54:34.775437 ====> Client disconnected 14:54:34.775495 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:34.856210 ====> Client connect 14:54:34.856523 Received DATA (on stdin) 14:54:34.856540 > 160 bytes data, server => client 14:54:34.856553 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:34.856566 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:34.856578 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:34.856658 < 21 bytes data, client => server 14:54:34.856672 'EHLO verifiedserver\r\n' 14:54:34.856859 Received DATA (on stdin) 14:54:34.856872 > 53 bytes data, server => client 14:54:34.856885 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:34.856941 < 6 bytes data, client => server 14:54:34.856953 'HELP\r\n' 14:54:34.857074 Received DATA (on stdin) 14:54:34.857086 > 22 bytes data, server => client 14:54:34.857098 '214 WE ROOLZ: 123220\r\n' 14:54:34.857225 < 6 bytes data, client => server 14:54:34.857239 'QUIT\r\n' 14:54:34.857341 Received DATA (on stdin) 14:54:34.857353 > 35 bytes data, server => client 14:54:34.857366 '221 curl ESMTP server signing off\r\n' 14:54:34.858172 ====> Client disconnect 14:54:34.858308 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:43299/1520 === End of file stderr1520 === Start of file stdin-for-1520 From: different To: another . . . body === End of file stdin-for-1520 === Start of file valgrind1520 ==159408== ==159408== Process terminating with default action of signal 4 (SIGILL) ==159408== Illegal opcode at address 0x51D42F3 ==159408== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159408== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159408== by 0x51D42F3: Curl_open (url.c:551) ==159408== by 0x514CA2F: curl_easy_init (easy.c:372) ==159408== by 0x402DC40: test_lib1520.lto_priv.0 (lib1520.c:80) ==159408== by 0x400347F: main (first.c:281) ==159408== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159408== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159408== by 0x51D4243: Curl_open (url.c:530) ==159408== by 0x514CA2F: curl_easy_init (easy.c:372) ==159408== by 0x402DC40: test_lib1520.lto_priv.0 (lib1520.c:80) ==159408== by 0x400347F: main (first.c:281) ==159408== === End of file valgrind1520 test 1538...[libcurl strerror API call tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1538 ./libtest/libtests lib1538 - > log/1/stdout1538 2> log/1/stderr1538 s------e-v- OK (1451 out of 1725, remaining: 00:19, took 0.605s, duration: 01:44) test 1530...[CUCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1521 ./libtest/libtests lib1521 - > log/16/stdout1521 2> log/16/stderr1521 RLOPT_OPENSOCKETFUNCTION returns bad socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1530 ./libtest/libtests lib1530 - > log/3/stdout1530 2> log/3/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/3/ dir after test 1530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1530 ./libtest/libtests lib1530 - > log/3/stdout1530 2> log/3/stderr1530 === End of file commands.log === Start of file server.cmd Testnum 1530 === End of file server.cmd === Start of file stderr1530 URL: - === End of file stderr1530 === Start of file valgrind1530 ==159696== ==159696== Process terminating with default action of signal 4 (SIGILL) ==159696== Illegal opcode at address 0x51D42F3 ==159696== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159696== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159696== by 0x51D42F3: Curl_open (url.c:551) ==159696== by 0x514CA2F: curl_easy_init (easy.c:372) ==159696== by 0x402EAC5: test_lib1530.lto_priv.0 (lib1530.c:50) ==159696== by 0x400347F: main (first.c:281) ==159696== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159696== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159696== by 0x51D4243: Curl_open (url.c:530) ==159696== by 0x514CA2F: curl_easy_init (easy.c:372) ==159696== by 0x402EAC5: test_lib1530.lto_priv.0 (lib1530.c:50) ==159696== by 0x400347F: main (first.c:281) ==159696== === End of file valgrind1530 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/16/stdout1544 2> log/16/stderr1544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37587/1522 > log/2/stdout1522 2> log/2/stderr1522 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:45171/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 test 1521...[Test all curl_easy_setopt and curl_easy_getinfo options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1521 ./libtest/libtests lib1521 - > log/16/stdout1521 2> log/16/stderr1521 1521: stdout FAILED: --- log/16/check-expected 2025-09-11 14:54:35.798864924 +0000 +++ log/16/check-generated 2025-09-11 14:54:35.798864924 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/16/ dir after test 1521 === Start of file check-expected ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1521 ./libtest/libtests lib1521 - > log/16/stdout1521 2> log/16/stderr1521 === End of file commands.log === Start of file server.cmd Testnum 1521 === End of file server.cmd === Start of file stderr1521 URL: - === End of file stderr1521 === Start of file valgrind1521 ==159461== ==159461== Process terminating with default action of signal 4 (SIGILL) ==159461== Illegal opcode at address 0x51D42F3 ==159461== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159461== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159461== by 0x51D42F3: Curl_open (url.c:551) ==159461== by 0x514CA2F: curl_easy_init (easy.c:372) ==159461== by 0x4048AFA: test_lib1521.lto_priv.0 (lib1521.c:217) ==159461== by 0x400347F: main (first.c:281) ==159461== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159461== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159461== by 0x51D4243: Curl_open (url.c:530) ==159461== by 0x514CA2F: curl_easy_init (easy.c:372) ==159461== by 0x4048AFA: test_lib1521.lto_priv.0 (lib1521.c:217) ==159461== by 0x400347F: main (first.c:281) ==159461== === End of file valgrind1521 test 1544...[Verify all string options are translated by OS/400 wrapper] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/16/stdout1544 2> log/16/stderr1544 valgrind SKIPPED -------e--- OK (1457 out of 1725, remaining: 00:19, took 0.043s, duration: 01:44) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46041/1523 > log/5/stdout1523 2> log/5/stderr1523 RUN: Process with pid 78152 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:34037/1529" 127.0.0.1:35037 > log/21/stdout1529 2> log/21/stderr1529 test 1522...[CURLINFO_SIZE_UPLOAD with small SO_SNDBUF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37587/1522 > log/2/stdout1522 2> log/2/stderr1522 1522: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:35.855531591 +0000 +++ log/2/check-generated 2025-09-11 14:54:35.855531591 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/2/ dir after test 1522 === Start of file check-expected -foo-[LF] uploadSize = 40960[LF] !!!!!!!!!! PASS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37587/1522 > log/2/stdout1522 2> log/2/stderr1522 === End of file commands.log === Start of file http_server.log 14:54:34.996235 ====> Client connect 14:54:34.996266 accept_connection 3 returned 4 14:54:34.996283 accept_connection 3 returned 0 14:54:34.996298 Read 93 bytes 14:54:34.996310 Process 93 bytes request 14:54:34.996341 Got request: GET /verifiedserver HTTP/1.1 14:54:34.996352 Are-we-friendly question received 14:54:34.996378 Wrote request (93 bytes) input to log/2/server.input 14:54:34.996397 Identifying ourselves as friends 14:54:34.996455 Response sent (56 bytes) and written to log/2/server.response 14:54:34.996468 special request received, no persistency 14:54:34.996478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 50768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:37587/1522 === End of file stderr1522 === Start of file valgrind1522 ==159562== ==159562== Process terminating with default action of signal 4 (SIGILL) ==159562== Illegal opcode at address 0x51D42F3 ==159562== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159562== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159562== by 0x51D42F3: Curl_open (url.c:551) ==159562== by 0x514CA2F: curl_easy_init (easy.c:372) ==159562== by 0x4031126: test_lib1522.lto_priv.0 (lib1522.c:55) ==159562== by 0x400347F: main (first.c:281) ==159562== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159562== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159562== by 0x51D4243: Curl_open (url.c:530) ==159562== by 0x514CA2F: curl_easy_init (easy.c:372) ==159562== by 0x4031126: test_lib1522.lto_priv.0 (lib1522.c:55) ==159562== by 0x400347F: main (first.c:281) ==159562== === End of file valgrind1522 test 1524...[HTTP PUT with 303 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:45171/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 1524: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:45171/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 === End of file commands.log === Start of file http_server.log 14:54:35.012708 ====> Client connect 14:54:35.012741 accept_connection 3 returned 4 14:54:35.012758 accept_connection 3 returned 0 14:54:35.012774 Read 93 bytes 14:54:35.012786 Process 93 bytes request 14:54:35.012801 Got request: GET /verifiedserver HTTP/1.1 14:54:35.012811 Are-we-friendly question received 14:54:35.012838 Wrote request (93 bytes) input to log/17/server.input 14:54:35.012861 Identifying ourselves as friends 14:54:35.012917 Response sent (56 bytes) and written to log/17/server.response 14:54:35.012929 special request received, no persistency 14:54:35.012939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 38558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1524 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==159652== ==159652== Process terminating with default action of signal 4 (SIGILL) ==159652== Illegal opcode at address 0x4014B6F ==159652== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==159652== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==159652== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==159652== by 0x4004266: main (tool_main.c:199) === End of file valgrind1524 test 1529...[HTTP request-injection in URL sent over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:34037/1529" 127.0.0.1:35037 > log/21/stdout1529 2> log/21/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/21/ dir after test 1529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:34037/1529" 127.0.0.1:35037 > log/21/stdout1529 2> log/21/stderr1529 === End of file commands.log === Start of file http2_server.log 14:54:35.061922 ====> Client connect 14:54:35.061954 accept_connection 3 returned 4 14:54:35.061970 accept_connection 3 returned 0 14:54:35.061985 Read 93 bytes 14:54:35.062004 Process 93 bytes request 14:54:35.062017 Got request: GET /verifiedserver HTTP/1.1 14:54:35.062027 Are-we-friendly question received 14:54:35.062050 Wrote request (93 bytes) input to log/21/proxy.input 14:54:35.062069 Identifying ourselves as friends 14:54:35.062130 Response sent (56 bytes) and written to log/21/proxy.response 14:54:35.062142 special request received, no persistency 14:54:35.062152 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35037... * Established connection to 127.0.0.1 (127.0.0.1 port 35037) from 127.0.0.1 port 37278CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:38791/1528 127.0.0.1:35269 > log/6/stdout1528 2> log/6/stderr1528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35037 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91329 === End of file http2_verify.out === Start of file http_server.log 14:54:35.042877 ====> Client connect 14:54:35.042912 accept_connection 3 returned 4 14:54:35.042929 accept_connection 3 returned 0 14:54:35.042943 Read 93 bytes 14:54:35.042954 Process 93 bytes request 14:54:35.042967 Got request: GET /verifiedserver HTTP/1.1 14:54:35.042977 Are-we-friendly question received 14:54:35.043008 Wrote request (93 bytes) input to log/21/server.input 14:54:35.043025 Identifying ourselves as friends 14:54:35.043079 Response sent (56 bytes) and written to log/21/server.response 14:54:35.043090 special request received, no persistency 14:54:35.043100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 42878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91329 === End of file proxy.response === Start of file server.cmd Testnum 1529 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:34037/1529 === End of file stderr1529 === Start of file valgrind1529 ==159892== ==159892== Process terminating with default action of signal 4 (SIGILL) ==159892== Illegal opcode at address 0x51D42F3 ==159892== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159892== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159892== by 0x51D42F3: Curl_open (url.c:551) ==159892== by 0x514CA2F: curl_easy_init (easy.c:372) ==159892== by 0x402E955: test_lib1529.lto_priv.0 (lib1529.c:41) ==159892== by 0x400347F: main (first.c:281) ==159892== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159892== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159892== by 0x51D4243: Curl_open (url.c:530) ==159892== by 0x514CA2F: curl_easy_init (easy.c:372) ==159892== by 0x402E955: test_lib1529.lto_priv.0 (lib1529.c:41) ==159892== by 0x400347F: main (first.c:281) ==159892== === End of file valgrind1529 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:42107/1525 127.0.0.1:33761 > log/15/stdout1525 2> log/15/stderr1525 test 1528...[Separately specified proxy/server headers sent in a proxy GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:38791/1528 127.0.0.1:35269 > log/6/stdout1528 2> log/6/stderr1528 1528: data FAILED: --- log/6/check-expected 2025-09-11 14:54:35.888864926 +0000 +++ log/6/check-generated 2025-09-11 14:54:35.888864926 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Content-Length: 5[CR][LF] -[CR][LF] -stop[LF] == Contents of files in the log/6/ dir after test 1528 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Content-Length: 5[CR][LF] [CR][LF] stop[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:38791/1528 127.0.0.1:35269 > log/6/stdout1528 2> log/6/stderr1528 === End of file commands.log === Start of file http2_server.log 14:54:35.060337 ====> Client connect 14:54:35.060372 accept_connection 3 returned 4 14:54:35.060391 accept_connection 3 returned 0 14:54:35.060405 Read 93 bytes 14:54:35.060414 Process 93 bytes request 14:54:35.060429 Got request: GET /verifiedserver HTTP/1.1 14:54:35.060440 Are-we-friendly question received 14:54:35.060466 Wrote request (93 bytes) input to log/6/proxy.input 14:54:35.060485 Identifying ourselves as friends 14:54:35.060545 Response sent (57 bytes) and written to log/6/proxy.response 14:54:35.060557 special request received, no persistency 14:54:35.060567 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35269... * Established connection to 127.0.0.1 (127.0.0.1 port 35269) from 127.0.0.1 port 52168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35269 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:35269 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 142331 === End of file http2_verify.out === Start of file http_server.log 14:54:35.038376 ====> Client connect 14:54:35.038407 accept_connection 3 returned 4 14:54:35.038424 accept_connection 3 returned 0 14:54:35.038440 Read 93 bytes 14:54:35.038452 Process 93 bytes request 14:54:35.038465 Got request: GET /verifiedserver HTTP/1.1 14:54:35.038476 Are-we-friendly question received 14:54:35.038501 Wrote request (93 bytes) input to log/6/server.input 14:54:35.038519 Identifying ourselves as friends 14:54:35.038577 Response sent (56 bytes) and written to log/6/server.response 14:54:35.038590 special request received, no persistency 14:54:35.038600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 34690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 142331 === End of file proxy.response === Start of file server.cmd Testnum 1528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:38791/1528 === End of file stderr1528 === Start of file valgrind1528 ==159886== ==159886== Process terminating with default action of signal 4 (SIGILL) ==159886== Illegal opcode at address 0x51D42F3 ==159886== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159886== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159886== by 0x51D42F3: Curl_open (url.c:551) ==159886== by 0x514CA2F: curl_easy_init (easy.c:372) ==159886== by 0x402E74E: test_lib1528.lto_priv.0 (lib1528.c:41) ==159886== by 0x400347F: main (first.c:281) ==159886== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159886== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159886== by 0x51D4243: Curl_open (url.c:530) ==159886== by 0x514CA2F: curl_easy_init (easy.c:372) ==159886== by 0x402E74E: test_lib1528.lto_priv.0 (lib1528.c:41) ==159886== by 0x400347F: main (first.c:281) ==159886== === End of file valgrind1528 test 1525...[CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:42107/1525 127.0.0.1:33761 > log/15/stdout1525 2> log/15/stderr1525 1525: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:42107/1525 127.0.0.1:33761 > log/15/stdout1525 2> log/15/stderr1525 === End of file commands.log === Start of file http2_server.log 14:54:35.040591 ====> Client connect 14:54:35.040624 accept_connection 3 returned 4 14:54:35.040641 accept_connection 3 returned 0 14:54:35.040655 Read 93 bytes 14:54:35.040666 Process 93 bytes request 14:54:35.040679 Got request: GET /verifiedserver HTTP/1.1 14:54:35.040689 Are-we-friendly question received 14:54:35.040714 Wrote request (93 bytes) input to log/15/proxy.input 14:54:35.040732 Identifying ourselves as friends 14:54:35.040784 Response sent (57 bytes) and written to log/15/proxy.response 14:54:35.040794 special request received, no persistency 14:54:35.040805 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33761... * Established connection to 127.0.0.1 (127.0.0.1 port 33761) from 127.0.0.1 port 56168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33761 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:33761 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 103138 === End of file http2_verify.out === Start of file http_server.log 14:54:35.022241 ====> Client connect 14:54:35.022277 accept_connection 3 returned 4 14:54:35.022295 accept_connection 3 returned 0 14:54:35.022310 Read 93 bytes 14:54:35.022322 Process 93 bytes request 14:54:35.022337 Got request: GET /verifiedserver HTTP/1.1 14:54:35.022345 Are-we-friendly question received 14:54:35.022367 Wrote request (93 bytes) input to log/15/server.input 14:54:35.022381 Identifying ourselves as friends 14:54:35.022433 Response sent (56 bytes) and written to log/15/server.response 14:54:35.022444 special request received, no persistency 14:54:35.022454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:33805/1531 > log/19/stdout1531 2> log/19/stderr1531 RUN: Process with pid 78152 gracefully died .0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 46678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 103138 === End of file proxy.response === Start of file server.cmd Testnum 1525 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:42107/1525 === End of file stderr1525 === Start of file valgrind1525 ==159805== ==159805== Process terminating with default action of signal 4 (SIGILL) ==159805== Illegal opcode at address 0x51D42F3 ==159805== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159805== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159805== by 0x51D42F3: Curl_open (url.c:551) ==159805== by 0x514CA2F: curl_easy_init (easy.c:372) ==159805== by 0x402DFAC: test_lib1525.lto_priv.0 (lib1525.c:60) ==159805== by 0x400347F: main (first.c:281) ==159805== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==159805== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159805== by 0x51D4243: Curl_open (url.c:530) ==159805== by 0x514CA2F: curl_easy_init (easy.c:372) ==159805== by 0x402DFAC: test_lib1525.lto_priv.0 (lib1525.c:60) ==159805== by 0x400347F: main (first.c:281) ==159805== === End of file valgrind1525 test 1531...[CURLOPT_POSTFIELDS with binary data set after multi_add_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:33805/1531 > log/19/stdout1531 2> log/19/stderr1531 1531: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:33805/1531 > log/19/stdout1531 2> log/19/stderr1531 === End of file commands.log === Start of file http_server.log 14:54:34.137873 ====> Client connect 14:54:34.137906 accept_connection 3 returned 4 14:54:34.137921 accept_connection 3 returned 0 14:54:34.137933 Read 93 bytes 14:54:34.137942 Process 93 bytes request 14:54:34.137952 Got request: GET /verifiedserver HTTP/1.1 14:54:34.137960 Are-we-friendly question received 14:54:34.137979 Wrote request (93 bytes) input to log/19/server.input 14:54:34.137992 Identifying ourselves as friends 14:54:34.138039 Response sent (56 bytes) and written to log/19/server.response 14:54:34.138048 special request received, no persistency 14:54:34.138056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 47658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1531 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:33805/1531 === End of file stderr1531 === Start of file valgrind1531 ==160037== ==160037== Process terminating with default action of signal 4 (SIGILL) ==160037== Illegal opcode at address 0x51D42F3 ==160037== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160037== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160037== by 0x51D42F3: Curl_open (url.c:551) ==160037== by 0x514CA2F: curl_easy_init (easy.c:372) ==160037== by 0x405CE15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==160037== by 0x400347F: main (first.c:281) ==160037== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160037== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160037== by 0x51D4243: Curl_open (url.c:530) ==160037== by 0x514CA2F: curl_easy_init (easy.c:372) ==160037== by 0x405CE15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==160037== by 0x400347F: main (first.c:281) ==160037== === End of file valgrind1531 test 1523...[CURLINFO_LOW_SPEED_LIMIT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46041/1523 > log/5/stdout1523 2> log/5/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/5/ dir after test 1523 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46041/1523 > log/5/stdout1523 2> log/5/stderr1523 === End of file commands.log === Start of file http_server.log 14:54:35.001795 ====> Client connect 14:54:35.001829 accept_connection 3 returned 4 14:54:35.001851 accept_connection 3 returned 0 14:54:35.001866 Read 93 bytes 14:54:35.001876 Process 93 bytes request 14:54:35.001888 Got request: GET /verifiedserver HTTP/1.1 14:54:35.001906 Are-we-friendly question received 14:54:35.001935 Wrote request (93 bytes) input to log/5/server.input 14:54:35.001954 Identifying ourselves as friends 14:54:35.002071 Response sent (56 bytes) and written to log/5/server.response 14:54:35.002082 special request received, no persistency 14:54:35.002090 ====> Client disconnect 0 exit_signal_handler: called 14:54:35.943539 signalled to die 14:54:35.943649 ========> IPv4 sws (port 46041 pid: 78152) exits with signal (15) 14:54:35.943664 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46041... * Established connection to 127.0.0.1 (127.0.0.1 port 46041) from 127.0.0.1 port 45524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46041 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78152 === End of file http_verify.out === Start of file server.cmd writedelay: 1000 Testnum 1523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78152 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:46041/1523 === End of file stderr1523 === Start of file valgrind1523 ==159580== ==159580== Process terminating with default action of signal 4 (SIGILL) ==159580== Illegal opcode at address 0x51D42F3 ==159580== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==159580== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==159580== by 0x51D42F3: Curl_open (url.c:551) ==159580== by 0x514CA2F: curl_easy_init (easy.c:372) ==159580== by 0x402DDF4: test_lib1523.lto_priv.0 (lib1523.c:62) ==159580== by 0x400347F: main (first.c:281) ==159580== 5,408 bytes in 1 blocks areCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:38851/1532 > log/23/stdout1532 2> log/23/stderr1532 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:34449/1535 > log/24/stdout1535 2> log/24/stderr1535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:43359/1534 > log/12/stdout1534 2> log/12/stderr1534 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40545/1536 > log/7/stdout1536 2> log/7/stderr1536 definitely lost in loss record 637 of 639 ==159580== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==159580== by 0x51D4243: Curl_open (url.c:530) ==159580== by 0x514CA2F: curl_easy_init (easy.c:372) ==159580== by 0x402DDF4: test_lib1523.lto_priv.0 (lib1523.c:62) ==159580== by 0x400347F: main (first.c:281) ==159580== === End of file valgrind1523 test 1532...[Test CURLINFO_RESPONSE_CODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:38851/1532 > log/23/stdout1532 2> log/23/stderr1532 1532: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:38851/1532 > log/23/stdout1532 2> log/23/stderr1532 === End of file commands.log === Start of file http_server.log 14:54:35.153676 ====> Client connect 14:54:35.153710 accept_connection 3 returned 4 14:54:35.153728 accept_connection 3 returned 0 14:54:35.153743 Read 93 bytes 14:54:35.153753 Process 93 bytes request 14:54:35.153768 Got request: GET /verifiedserver HTTP/1.1 14:54:35.153778 Are-we-friendly question received 14:54:35.153815 Wrote request (93 bytes) input to log/23/server.input 14:54:35.153833 Identifying ourselves as friends 14:54:35.153884 Response sent (56 bytes) and written to log/23/server.response 14:54:35.153896 special request received, no persistency 14:54:35.153905 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 48968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1532 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:38851/1532 === End of file stderr1532 === Start of file valgrind1532 ==160070== ==160070== Process terminating with default action of signal 4 (SIGILL) ==160070== Illegal opcode at address 0x51D42F3 ==160070== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160070== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160070== by 0x51D42F3: Curl_open (url.c:551) ==160070== by 0x514CA2F: curl_easy_init (easy.c:372) ==160070== by 0x4031899: UnknownInlinedFun (lib1532.c:38) ==160070== by 0x4031899: test_lib1532.lto_priv.0 (lib1532.c:30) ==160070== by 0x400347F: main (first.c:281) ==160070== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160070== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160070== by 0x51D4243: Curl_open (url.c:530) ==160070== by 0x514CA2F: curl_easy_init (easy.c:372) ==160070== by 0x4031899: UnknownInlinedFun (lib1532.c:38) ==160070== by 0x4031899: test_lib1532.lto_priv.0 (lib1532.c:30) ==160070== by 0x400347F: main (first.c:281) ==160070== === End of file valgrind1532 test 1535...[Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:34449/1535 > log/24/stdout1535 2> log/24/stderr1535 1535: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:34449/1535 > log/24/stdout1535 2> log/24/stderr1535 === End of file commands.log === Start of file http_server.log 14:54:35.240606 ====> Client connect 14:54:35.240636 accept_connection 3 returned 4 14:54:35.240650 accept_connection 3 returned 0 14:54:35.240662 Read 93 bytes 14:54:35.240671 Process 93 bytes request 14:54:35.240681 Got request: GET /verifiedserver HTTP/1.1 14:54:35.240689 Are-we-friendly question received 14:54:35.240708 Wrote request (93 bytes) input to log/24/server.input 14:54:35.240721 Identifying ourselves as friends 14:54:35.240763 Response sent (56 bytes) and written to log/24/server.response 14:54:35.240772 special request received, no persistency 14:54:35.240780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 59452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:34449/1535 === End of file stderr1535 === Start of file valgrind1535 ==160214== ==160214== Process terminating with default action of signal 4 (SIGILL) ==160214== Illegal opcode at address 0x51D42F3 ==160214== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160214== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160214== by 0x51D42F3: Curl_open (url.c:551) ==160214== by 0x514CA2F: curl_easy_init (easy.c:372) ==160214== by 0x403207B: UnknownInlinedFun (lib1535.c:38) ==160214== by 0x403207B: test_lib1535.lto_priv.0 (lib1535.c:30) ==160214== by 0x400347F: main (first.c:281) ==160214== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160214== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160214== by 0x51D4243: Curl_open (url.c:530) ==160214== by 0x514CA2F: curl_easy_init (easy.c:372) ==160214== by 0x403207B: UnknownInlinedFun (lib1535.c:38) ==160214== by 0x403207B: test_lib1535.lto_priv.0 (lib1535.c:30) ==160214== by 0x400347F: main (first.c:281) ==160214== === End of file valgrind1535 test 1534...[CURLINFO_FILETIME init and reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:43359/1534 > log/12/stdout1534 2> log/12/stderr1534 1534: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:43359/1534 > log/12/stdout1534 2> log/12/stderr1534 === End of file commands.log === Start of file http_server.log 14:54:35.233323 ====> Client connect 14:54:35.233355 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35893/1533 > log/10/stdout1533 2> log/10/stderr1533 accept_connection 3 returned 4 14:54:35.233372 accept_connection 3 returned 0 14:54:35.233387 Read 93 bytes 14:54:35.233398 Process 93 bytes request 14:54:35.233411 Got request: GET /verifiedserver HTTP/1.1 14:54:35.233421 Are-we-friendly question received 14:54:35.233448 Wrote request (93 bytes) input to log/12/server.input 14:54:35.233466 Identifying ourselves as friends 14:54:35.233521 Response sent (56 bytes) and written to log/12/server.response 14:54:35.233532 special request received, no persistency 14:54:35.233543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 34764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1534 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr1534 URL: http://127.0.0.1:43359/1534 === End of file stderr1534 === Start of file valgrind1534 ==160215== ==160215== Process terminating with default action of signal 4 (SIGILL) ==160215== Illegal opcode at address 0x51D42F3 ==160215== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160215== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160215== by 0x51D42F3: Curl_open (url.c:551) ==160215== by 0x514CA2F: curl_easy_init (easy.c:372) ==160215== by 0x4031C5B: UnknownInlinedFun (lib1534.c:38) ==160215== by 0x4031C5B: test_lib1534.lto_priv.0 (lib1534.c:30) ==160215== by 0x400347F: main (first.c:281) ==160215== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160215== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160215== by 0x51D4243: Curl_open (url.c:530) ==160215== by 0x514CA2F: curl_easy_init (easy.c:372) ==160215== by 0x4031C5B: UnknownInlinedFun (lib1534.c:38) ==160215== by 0x4031C5B: test_lib1534.lto_priv.0 (lib1534.c:30) ==160215== by 0x400347F: main (first.c:281) ==160215== === End of file valgrind1534 test 1536...[Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40545/1536 > log/7/stdout1536 2> log/7/stderr1536 1536: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1536 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40545/1536 > log/7/stdout1536 2> log/7/stderr1536 === End of file commands.log === Start of file http_server.log 14:54:35.254802 ====> Client connect 14:54:35.254844 accept_connection 3 returned 4 14:54:35.254863 accept_connection 3 returned 0 14:54:35.254880 Read 93 bytes 14:54:35.254891 Process 93 bytes request 14:54:35.254906 Got request: GET /verifiedserver HTTP/1.1 14:54:35.254916 Are-we-friendly question received 14:54:35.254941 Wrote request (93 bytes) input to log/7/server.input 14:54:35.254959 Identifying ourselves as friends 14:54:35.255014 Response sent (56 bytes) and written to log/7/server.response 14:54:35.255025 special request received, no persistency 14:54:35.255035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 47724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:40545/1536 === End of file stderr1536 === Start of file valgrind1536 ==160278== ==160278== Process terminating with default action of signal 4 (SIGILL) ==160278== Illegal opcode at address 0x51D42F3 ==160278== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160278== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160278== by 0x51D42F3: Curl_open (url.c:551) ==160278== by 0x514CA2F: curl_easy_init (easy.c:372) ==160278== by 0x403243D: UnknownInlinedFun (lib1536.c:38) ==160278== by 0x403243D: test_lib1536.lto_priv.0 (lib1536.c:30) ==160278== by 0x400347F: main (first.c:281) ==160278== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160278== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160278== by 0x51D4243: Curl_open (url.c:530) ==160278== by 0x514CA2F: curl_easy_init (easy.c:372) ==160278== by 0x403243D: UnknownInlinedFun (lib1536.c:38) ==160278== by 0x403243D: test_lib1536.lto_priv.0 (lib1536.c:30) ==160278== by 0x400347F: main (first.c:281) ==160278== === End of file valgrind1536 test 1533...[HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35893/1533 > log/10/stdout1533 2> log/10/stderr1533 1533: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35893/1533 > log/10/stdout1533 2> log/10/stderr1533 === End of file commands.log === Start of file http_server.log 14:54:35.231882 ====> Client connect 14:54:35.231907 accept_connection 3 returned 4 14:54:35.231921 accept_connection 3 returned 0 14:54:35.231934 Read 93 bytes 14:54:35.231943 Process 93 bytes request 14:54:35.231955 Got request: GET /verifiedserver HTTP/1.1 14:54:35.231963 Are-we-friendly question received 14:54:35.231981 Wrote request (93 bytes) input to log/10/server.input 14:54:35.231995 Identifying ourselves as friends 14:54:35.232037 Response sent (56 bytes) and written to log/10/server.response 14:54:35.232046 special request received, no persistency 14:54:35.232053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 40636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1533 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ:CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1537 ./libtest/libtests lib1537 - > log/13/stdout1537 2> log/13/stderr1537 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:46275/1539 > log/18/stdout1539 2> log/18/stderr1539 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39569/1540 > log/20/stdout1540 2> log/20/stderr1540 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37085/1541 > log/8/stdout1541 2> log/8/stderr1541 74170 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:35893/1533 === End of file stderr1533 === Start of file valgrind1533 ==160213== ==160213== Process terminating with default action of signal 4 (SIGILL) ==160213== Illegal opcode at address 0x51D42F3 ==160213== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160213== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160213== by 0x51D42F3: Curl_open (url.c:551) ==160213== by 0x514CA2F: curl_easy_init (easy.c:372) ==160213== by 0x402FB77: test_lib1533.lto_priv.0 (lib1533.c:137) ==160213== by 0x400347F: main (first.c:281) ==160213== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160213== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160213== by 0x51D4243: Curl_open (url.c:530) ==160213== by 0x514CA2F: curl_easy_init (easy.c:372) ==160213== by 0x402FB77: test_lib1533.lto_priv.0 (lib1533.c:137) ==160213== by 0x400347F: main (first.c:281) ==160213== === End of file valgrind1533 test 1537...[libcurl URL escape/unescape tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1537 ./libtest/libtests lib1537 - > log/13/stdout1537 2> log/13/stderr1537 s------e-v- OK (1450 out of 1725, remaining: 00:19, took 0.940s, duration: 01:44) test 1539...[HTTP 1.0 POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:46275/1539 > log/18/stdout1539 2> log/18/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/18/ dir after test 1539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:46275/1539 > log/18/stdout1539 2> log/18/stderr1539 === End of file commands.log === Start of file http_server.log 14:54:35.530585 ====> Client connect 14:54:35.530620 accept_connection 3 returned 4 14:54:35.530639 accept_connection 3 returned 0 14:54:35.530656 Read 93 bytes 14:54:35.530672 Process 93 bytes request 14:54:35.530690 Got request: GET /verifiedserver HTTP/1.1 14:54:35.530701 Are-we-friendly question received 14:54:35.530729 Wrote request (93 bytes) input to log/18/server.input 14:54:35.530752 Identifying ourselves as friends 14:54:35.530818 Response sent (57 bytes) and written to log/18/server.response 14:54:35.530835 special request received, no persistency 14:54:35.530846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 1539 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:46275/1539 === End of file stderr1539 === Start of file valgrind1539 ==160541== ==160541== Process terminating with default action of signal 4 (SIGILL) ==160541== Illegal opcode at address 0x51D42F3 ==160541== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160541== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160541== by 0x51D42F3: Curl_open (url.c:551) ==160541== by 0x514CA2F: curl_easy_init (easy.c:372) ==160541== by 0x402D84E: test_lib1514.lto_priv.0 (lib1514.c:67) ==160541== by 0x400347F: main (first.c:281) ==160541== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160541== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160541== by 0x51D4243: Curl_open (url.c:530) ==160541== by 0x514CA2F: curl_easy_init (easy.c:372) ==160541== by 0x402D84E: test_lib1514.lto_priv.0 (lib1514.c:67) ==160541== by 0x400347F: main (first.c:281) ==160541== === End of file valgrind1539 test 1540...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39569/1540 > log/20/stdout1540 2> log/20/stderr1540 1540: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39569/1540 > log/20/stdout1540 2> log/20/stderr1540 === End of file commands.log === Start of file http_server.log 14:54:35.535258 ====> Client connect 14:54:35.535290 accept_connection 3 returned 4 14:54:35.535308 accept_connection 3 returned 0 14:54:35.535323 Read 93 bytes 14:54:35.535333 Process 93 bytes request 14:54:35.535345 Got request: GET /verifiedserver HTTP/1.1 14:54:35.535356 Are-we-friendly question received 14:54:35.535384 Wrote request (93 bytes) input to log/20/server.input 14:54:35.535403 Identifying ourselves as friends 14:54:35.535458 Response sent (56 bytes) and written to log/20/server.response 14:54:35.535470 special request received, no persistency 14:54:35.535480 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:39569/1540 === End of file stderr1540 === Start of file valgrind1540 ==160551== ==160551== Process terminating with default action of signal 4 (SIGILL) ==160551== Illegal opcode at address 0x51D42F3 ==160551== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160551== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160551== by 0x51D42F3: Curl_open (url.c:551) ==160551== by 0x514CA2F: curl_easy_init (easy.c:372) ==160551== by 0x4031391: test_lib1540.lto_priv.0 (lib1540.c:96) ==160551== by 0x400347F: main (first.c:281) ==160551== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160551== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160551== by 0x51D4243: Curl_open (url.c:530) ==160551== by 0x514CA2F: curl_easy_init (easy.c:372) ==160551== by 0x4031391: test_lib1540.lto_priv.0 (lib1540.c:96) ==160551== by 0x400347F: main (first.c:281) ==160551== === End of file valgrind1540 test 1541...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:44029/1542 > log/1/stdout1542 2> log/1/stderr1542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38933/ /with/ space/ /file" > log/3/stdout1543 2> log/3/stderr1543 ions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37085/1541 > log/8/stdout1541 2> log/8/stderr1541 1541: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37085/1541 > log/8/stdout1541 2> log/8/stderr1541 === End of file commands.log === Start of file http_server.log 14:54:34.803440 ====> Client connect 14:54:34.803466 accept_connection 3 returned 4 14:54:34.803480 accept_connection 3 returned 0 14:54:34.803493 Read 93 bytes 14:54:34.803502 Process 93 bytes request 14:54:34.803514 Got request: GET /verifiedserver HTTP/1.1 14:54:34.803522 Are-we-friendly question received 14:54:34.803542 Wrote request (93 bytes) input to log/8/server.input 14:54:34.803555 Identifying ourselves as friends 14:54:34.803607 Response sent (56 bytes) and written to log/8/server.response 14:54:34.803617 special request received, no persistency 14:54:34.803627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 37426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1541 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:37085/1541 === End of file stderr1541 === Start of file valgrind1541 ==160677== ==160677== Process terminating with default action of signal 4 (SIGILL) ==160677== Illegal opcode at address 0x51D42F3 ==160677== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160677== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160677== by 0x51D42F3: Curl_open (url.c:551) ==160677== by 0x514CA2F: curl_easy_init (easy.c:372) ==160677== by 0x4033034: test_lib1541.lto_priv.0 (lib1541.c:122) ==160677== by 0x400347F: main (first.c:281) ==160677== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160677== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160677== by 0x51D4243: Curl_open (url.c:530) ==160677== by 0x514CA2F: curl_easy_init (easy.c:372) ==160677== by 0x4033034: test_lib1541.lto_priv.0 (lib1541.c:122) ==160677== by 0x400347F: main (first.c:281) ==160677== === End of file valgrind1541 test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:44029/1542 > log/1/stdout1542 2> log/1/stderr1542 1542: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:44029/1542 > log/1/stdout1542 2> log/1/stderr1542 === End of file commands.log === Start of file http_server.log 14:54:35.872637 ====> Client connect 14:54:35.872682 accept_connection 3 returned 4 14:54:35.872703 accept_connection 3 returned 0 14:54:35.872722 Read 93 bytes 14:54:35.872734 Process 93 bytes request 14:54:35.872749 Got request: GET /verifiedserver HTTP/1.1 14:54:35.872761 Are-we-friendly question received 14:54:35.872790 Wrote request (93 bytes) input to log/1/server.input 14:54:35.872814 Identifying ourselves as friends 14:54:35.872896 Response sent (56 bytes) and written to log/1/server.response 14:54:35.872911 special request received, no persistency 14:54:35.872923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 46564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1542 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:44029/1542 === End of file stderr1542 === Start of file valgrind1542 ==160744== ==160744== Process terminating with default action of signal 4 (SIGILL) ==160744== Illegal opcode at address 0x51D42F3 ==160744== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160744== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160744== by 0x51D42F3: Curl_open (url.c:551) ==160744== by 0x514CA2F: curl_easy_init (easy.c:372) ==160744== by 0x402EBDB: UnknownInlinedFun (lib1542.c:45) ==160744== by 0x402EBDB: test_lib1542.lto_priv.0 (lib1542.c:38) ==160744== by 0x400347F: main (first.c:281) ==160744== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160744== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160744== by 0x51D4243: Curl_open (url.c:530) ==160744== by 0x514CA2F: curl_easy_init (easy.c:372) ==160744== by 0x402EBDB: UnknownInlinedFun (lib1542.c:45) ==160744== by 0x402EBDB: test_lib1542.lto_priv.0 (lib1542.c:38) ==160744== by 0x400347F: main (first.c:281) ==160744== === End of file valgrind1542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1550 ./libtest/libtests lib1550 - > log/15/stdout1550 2> log/15/stderr1550 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1548 ../src/curl -q --output log/2/curl1548.out --include --trace-ascii log/2/trace1548 --trace-time -m 1 telnet://127.0.0.1:37587 log/2/stdout1548 2> log/2/stderr1548 test 1543...[CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38933/ /with/ space/ /file" > log/3/stdout1543 2> log/3/stderr1543 1543: stdout FAILED: --- log/3/check-expected 2025-09-11 14:54:36.805531605 +0000 +++ log/3/check-generated 2025-09-11 14:54:36.805531605 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:38933/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/3/ dir after test 1543 === Start of file check-expected res 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:38933/%20/with/%20space/15430002[LF] redirecturl blank[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38933/ /with/ space/ /file" > log/3/stdout1543 2> log/3/stderr1543 === End of file commands.log === Start of file http_server.log 14:54:35.900487 ====> Client connect 14:54:35.900519 accept_connection 3 returned 4 14:54:35.900540 accept_connection 3 returned 0 14:54:35.900556 Read 93 bytes 14:54:35.900567 Process 93 bytes request 14:54:35.900581 Got request: GET /verifiedserver HTTP/1.1 14:54:35.900592 Are-we-friendly question received 14:54:35.900616 Wrote request (93 bytes) input to log/3/server.input 14:54:35.900633 Identifying ourselves as friends 14:54:35.900686 Response sent (57 bytes) and written to log/3/server.response 14:54:35.900696 special request received, no persistency 14:54:35.900706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 44134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd Testnum 1543 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:38933/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==160789== ==160789== Process terminating with default action of signal 4 (SIGILL) ==160789== Illegal opcode at address 0x51D42F3 ==160789== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160789== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160789== by 0x51D42F3: Curl_open (url.c:551) ==160789== by 0x514CA2F: curl_easy_init (easy.c:372) ==160789== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==160789== by 0x400347F: main (first.c:281) ==160789== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160789== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160789== by 0x51D4243: Curl_open (url.c:530) ==160789== by 0x514CA2F: curl_easy_init (easy.c:372) ==160789== by 0x4030E18: test_lib1518.lto_priv.0 (lib1518.c:49) ==160789== by 0x400347F: main (first.c:281) ==160789== === End of file valgrind1543 test 1550...[verify setting pipelining blocklisting options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1550 ./libtest/libtests lib1550 - > log/15/stdout1550 2> log/15/stderr1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/15/ dir after test 1550 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1550 ./libtest/libtests lib1550 - > log/15/stdout1550 2> log/15/stderr1550 === End of file commands.log === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file stderr1550 URL: - === End of file stderr1550 === Start of file valgrind1550 ==160992== ==160992== Process terminating with default action of signal 4 (SIGILL) ==160992== Illegal opcode at address 0x519C257 ==160992== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==160992== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==160992== by 0x519C257: Curl_multi_handle (multi.c:236) ==160992== by 0x402B601: UnknownInlinedFun (lib1550.c:40) ==160992== by 0x402B601: test_lib1550.lto_priv.0 (lib1550.c:30) ==160992== by 0x400347F: main (first.c:281) ==160992== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==160992== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160992== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==160992== by 0x402B601: UnknownInlinedFun (lib1550.c:40) ==160992== by 0x402B601: test_lib1550.lto_priv.0 (lib1550.c:30) ==160992== by 0x400347F: main (first.c:281) ==160992== === End of file valgrind1550 test 1548...[TELNET read stdin without upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1548 ../src/curl -q --output log/2/curl1548.out --include --trace-ascii log/2/trace1548 --trace-time -m 1 telnet://127.0.0.1:37587 log/2/stdout1548 2> log/2/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/2/ dir after test 1548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1548 ../src/curl -q --output log/2/curl1548.out --include --trace-ascii log/2/trace1548 --trace-time -m 1 telnet://127.0.0.1:37587 log/2/stdout1548 2> log/2/stderr1548 === End of file commands.log === Start of file http_server.log 14:54:35.973392 ====> Client connect 14:54:35.973426 accept_connection 3 returned 4 14:54:35.973446 accept_connection 3 returned 0 14:54:35.973463 Read 93 bytes 14:54:35.973475 Process 93 bytes request 14:54:35.973489 Got request: GET /verifiedserver HTTP/1.1 14:54:35.973500 Are-we-friendly question received 14:54:35.973524 Wrote request (93 bytes) input to log/2/server.input 14:54:35.973542 Identifying ourselves as friends 14:54:35.973616 Response sent (56 bytes) and written to log/2/server.response 14:54:35.973630 special request received, no persistency 14:54:35.973642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stdin-for-1548 GET /we/want/1548 HTTP/1.0 === End of file stdin-for-1548 === Start of file valgrind1548 ==160972== ==160972== Process terminating with default action of signal 4 (SIGILL) ==160972== IllegCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1546 ../src/curl -q --output log/17/curl1546.out --include --trace-ascii log/17/trace1546 --trace-time http://127.0.0.1:45171/1546 --tr-encoding > log/17/stdout1546 2> log/17/stderr1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:38791/1549 > log/6/stdout1549 2> log/6/stderr1549 al opcode at address 0x4014B6F ==160972== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==160972== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==160972== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==160972== by 0x4004266: main (tool_main.c:199) === End of file valgrind1548 test 1546...[HTTP transfer-encoding wrong order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1546 ../src/curl -q --output log/17/curl1546.out --include --trace-ascii log/17/trace1546 --trace-time http://127.0.0.1:45171/1546 --tr-encoding > log/17/stdout1546 2> log/17/stderr1546 1546: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1546 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1546 ../src/curl -q --output log/17/curl1546.out --include --trace-ascii log/17/trace1546 --trace-time http://127.0.0.1:45171/1546 --tr-encoding > log/17/stdout1546 2> log/17/stderr1546 === End of file commands.log === Start of file http_server.log 14:54:35.965126 ====> Client connect 14:54:35.965159 accept_connection 3 returned 4 14:54:35.965176 accept_connection 3 returned 0 14:54:35.965192 Read 93 bytes 14:54:35.965204 Process 93 bytes request 14:54:35.965219 Got request: GET /verifiedserver HTTP/1.1 14:54:35.965229 Are-we-friendly question received 14:54:35.965257 Wrote request (93 bytes) input to log/17/server.input 14:54:35.965277 Identifying ourselves as friends 14:54:35.965332 Response sent (56 bytes) and written to log/17/server.response 14:54:35.965343 special request received, no persistency 14:54:35.965354 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1546 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1546 ==160943== ==160943== Process terminating with default action of signal 4 (SIGILL) ==160943== Illegal opcode at address 0x4014B6F ==160943== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==160943== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==160943== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==160943== by 0x4004266: main (tool_main.c:199) === End of file valgrind1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:34345/1527 127.0.0.1:41305 > log/9/stdout1527 2> log/9/stderr1527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34475/1545 > log/16/stdout1545 2> log/16/stderr1545 test 1549...[Receive expired cookies and CURLINFO_COOKIELIST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:38791/1549 > log/6/stdout1549 2> log/6/stderr1549 1549: stderr FAILED: --- log/6/check-expected 2025-09-11 14:54:36.842198272 +0000 +++ log/6/check-generated 2025-09-11 14:54:36.842198272 +0000 @@ -1,3 +1 @@ URL: http://127.0.0.1:38791/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/6/ dir after test 1549 === Start of file check-expected URL: http://127.0.0.1:38791/1549[CR][LF] 0 cookies[CR][LF] Test ended with result 0[CR][LF] === End of file check-expected === Start of file check-generated URL: http://127.0.0.1:38791/1549[CR][LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:38791/1549 > log/6/stdout1549 2> log/6/stderr1549 === End of file commands.log === Start of file http_server.log 14:54:35.996555 ====> Client connect 14:54:35.996582 accept_connection 3 returned 4 14:54:35.996595 accept_connection 3 returned 0 14:54:35.996607 Read 93 bytes 14:54:35.996616 Process 93 bytes request 14:54:35.996626 Got request: GET /verifiedserver HTTP/1.1 14:54:35.996634 Are-we-friendly question received 14:54:35.996666 Wrote request (93 bytes) input to log/6/server.input 14:54:35.996679 Identifying ourselves as friends 14:54:35.996721 Response sent (56 bytes) and written to log/6/server.response 14:54:35.996729 special request received, no persistency 14:54:35.996737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 40328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1549 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr1549 URL: http://127.0.0.1:38791/1549 === End of file stderr1549 === Start of file valgrind1549 ==161090== ==161090== Process terminating with default action of signal 4 (SIGILL) ==161090== Illegal opcode at address 0x51D42F3 ==161090== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161090== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161090== by 0x51D42F3: Curl_open (url.c:551) ==161090== by 0x514CA2F: curl_easy_init (easy.c:372) ==161090== by 0x4033877: test_lib1549.lto_priv.0 (lib1549.c:39) ==161090== by 0x400347F: main (first.c:281) ==161090== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161090== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161090== by 0x51D4243: Curl_open (url.c:530) ==161090== by 0x514CA2F: curl_easy_init (easy.c:372) ==161090== by 0x4033877: test_lib1549.lto_priv.0 (lib1549.c:39) ==161090== by 0x400347F: main (first.c:281) ==161090== === End of file valgrind1549 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/9/server/http2_server.pid" --logfile "log/9/http2_server.log" --logdir "log/9" --portfile log/9/server/http2_server.port --config log/9/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 159714 port 41305 * pid http-proxy => 159714 159714 test 1527...[Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:34345/1527 127.0.0.1:41305 > log/9/stdout1527 2> log/9/stderr1527 1527: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:34345/1527 127.0.0.1:41305 > log/9/stdout1527 2> log/9/stderr1527 === End of file commands.log === Start of file http2_server.log 14:54:34.056713 Run as proxy, CONNECT to host 127.0.0.1 14:54:34.056800 Running HTTP IPv4 version on port 41305 14:54:34.056837 Wrote pid 159714 to log/9/server/http2_server.pid 14:54:34.056866 Wrote port 41305 to log/9/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:35.034800 ====> Client connect 14:54:35.034833 accept_connection 3 returned 4 14:54:35.034850 accept_connection 3 returned 0 14:54:35.034864 Read 93 bytes 14:54:35.034875 Process 93 bytes request 14:54:35.034887 Got request: GET /verifiedserver HTTP/1.1 14:54:35.034898 Are-we-friendly question received 14:54:35.034923 Wrote request (93 bytes) input to log/9/server.input 14:54:35.034940 Identifying ourselves as friends 14:54:35.034994 Response sent (56 bytes) and written to log/9/server.response 14:54:35.035005 special request received, no persistency 14:54:35.035015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1527 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:34345/1527 === End of file stderr1527 === Start of file valgrind1527 ==161257== ==161257== Process terminating with default action of signal 4 (SIGILL) ==161257== Illegal opcode at address 0x51D42F3 ==161257== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161257== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161257== by 0x51D42F3: Curl_open (url.c:551) ==161257== by 0x514CA2F: curl_easy_init (easy.c:372) ==161257== by 0x402E4B0: test_lib1527.lto_priv.0 (lib1527.c:59) ==161257== by 0x400347F: main (first.c:281) ==161257== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161257== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161257== by 0x51D4243: Curl_open (url.c:530) ==161257== by 0x514CA2F: curl_easy_init (easy.c:372) ==161257== by 0x402E4B0: test_lib1527.lto_priv.0 (lib1527.c:59) ==161257== by 0x400347F: main (first.c:281) ==161257== === End of file valgrind1527 test 1545...[use curl_formadd() data twice with unreadable file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34475/1545 > log/16/stdout1545 2> log/16/stderr1545 libtests returned 132, wheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:33805/1551 > log/19/stdout1551 2> log/19/stderr1551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1547 ../src/curl -q --output log/21/curl1547.out --include --trace-ascii log/21/trace1547 --trace-time ftp://127.0.0.1:43281/test-1547/ -P 127.0.0.1 --ftp-pasv > log/21/stdout1547 2> log/21/stderr1547 n expecting 0 1545: exit FAILED == Contents of files in the log/16/ dir after test 1545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34475/1545 > log/16/stdout1545 2> log/16/stderr1545 === End of file commands.log === Start of file http_server.log 14:54:35.950680 ====> Client connect 14:54:35.950712 accept_connection 3 returned 4 14:54:35.950726 accept_connection 3 returned 0 14:54:35.950737 Read 93 bytes 14:54:35.950746 Process 93 bytes request 14:54:35.950757 Got request: GET /verifiedserver HTTP/1.1 14:54:35.950765 Are-we-friendly question received 14:54:35.950784 Wrote request (93 bytes) input to log/16/server.input 14:54:35.950797 Identifying ourselves as friends 14:54:35.950839 Response sent (56 bytes) and written to log/16/server.response 14:54:35.950847 special request received, no persistency 14:54:35.950856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:34475/1545 === End of file stderr1545 === Start of file valgrind1545 ==160892== ==160892== Process terminating with default action of signal 4 (SIGILL) ==160892== Illegal opcode at address 0x51D42F3 ==160892== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==160892== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==160892== by 0x51D42F3: Curl_open (url.c:551) ==160892== by 0x514CA2F: curl_easy_init (easy.c:372) ==160892== by 0x40336C9: test_lib1545.lto_priv.0 (lib1545.c:35) ==160892== by 0x400347F: main (first.c:281) ==160892== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==160892== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==160892== by 0x51D4243: Curl_open (url.c:530) ==160892== by 0x514CA2F: curl_easy_init (easy.c:372) ==160892== by 0x40336C9: test_lib1545.lto_priv.0 (lib1545.c:35) ==160892== by 0x400347F: main (first.c:281) ==160892== === End of file valgrind1545 startnew: /startdir/src/curl/tests/dictserver.py --port 44481 --pidfile "log/22/server/dict_server.pid" --logfile "log/22/dict_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the DICT server test 1450 SKIPPED: failed starting DICT server startnew: /startdir/src/curl/tests/smbserver.py --port 38055 --pidfile "log/4/server/smb_server.pid" --logfile "log/4/smb_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the SMB server test 1451 SKIPPED: failed starting SMB server startnew: /startdir/src/curl/tests/negtelnetserver.py --port 42597 --pidfile "log/14/server/telnet_server.pid" --logfile "log/14/telnet_server.log" --srcdir "/startdir/src/curl/tests" startnew: child process has died, server might start up RUN: failed to start the TELNET server test 1452 SKIPPED: failed starting neg TELNET server test 1551...[re-run redirected transfer without setting URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:33805/1551 > log/19/stdout1551 2> log/19/stderr1551 1551: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:33805/1551 > log/19/stdout1551 2> log/19/stderr1551 === End of file commands.log === Start of file http_server.log 14:54:35.008239 ====> Client connect 14:54:35.008268 accept_connection 3 returned 4 14:54:35.008282 accept_connection 3 returned 0 14:54:35.008294 Read 93 bytes 14:54:35.008303 Process 93 bytes request 14:54:35.008313 Got request: GET /verifiedserver HTTP/1.1 14:54:35.008321 Are-we-friendly question received 14:54:35.008340 Wrote request (93 bytes) input to log/19/server.input 14:54:35.008354 Identifying ourselves as friends 14:54:35.008396 Response sent (56 bytes) and written to log/19/server.response 14:54:35.008404 special request received, no persistency 14:54:35.008412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:33805/1551 === End of file stderr1551 === Start of file valgrind1551 ==161156== ==161156== Process terminating with default action of signal 4 (SIGILL) ==161156== Illegal opcode at address 0x51D42F3 ==161156== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161156== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161156== by 0x51D42F3: Curl_open (url.c:551) ==161156== by 0x514CA2F: curl_easy_init (easy.c:372) ==161156== by 0x402EEAA: UnknownInlinedFun (lib1551.c:36) ==161156== by 0x402EEAA: test_lib1551.lto_priv.0 (lib1551.c:30) ==161156== by 0x400347F: main (first.c:281) ==161156== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161156== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161156== by 0x51D4243: Curl_open (url.c:530) ==161156== by 0x514CA2F: curl_easy_init (easy.c:372) ==161156== by 0x402EEAA: UnknownInlinedFun (lib1551.c:36) ==161156== by 0x402EEAA: test_lib1551.lto_priv.0 (lib1551.c:30) ==161156== by 0x400347F: main (first.c:281) ==161156== === End of file valgrind1551 test 1547...[FTP dir list PASV overriding PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1547 ../src/curl -q --output log/21/curl1547.out --include --trace-ascii log/21/trace1547 --trace-time ftp://127.0.0.1:43281/test-1547/ -P 127.0.0.1 --ftp-pasv > log/21/stdout1547 2> log/21/stderr1547 1547: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1547 ../src/curl -q --output log/21/curl1547.oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:33503/1526 127.0.0.1:44275 > log/11/stdout1526 2> log/11/stderr1526 ut --include --trace-ascii log/21/trace1547 --trace-time ftp://127.0.0.1:43281/test-1547/ -P 127.0.0.1 --ftp-pasv > log/21/stdout1547 2> log/21/stderr1547 === End of file commands.log === Start of file ftp_server.log 14:54:35.889107 ====> Client connect 14:54:35.889282 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:35.889599 < "USER anonymous" 14:54:35.889645 > "331 We are happy you popped in![CR][LF]" 14:54:35.889848 < "PASS ftp@example.com" 14:54:35.889880 > "230 Welcome you silly person[CR][LF]" 14:54:35.890045 < "PWD" 14:54:35.890075 > "257 "/" is current directory[CR][LF]" 14:54:35.890257 < "EPSV" 14:54:35.890282 ====> Passive DATA channel requested by client 14:54:35.890296 DATA sockfilt for passive data channel starting... 14:54:35.891896 DATA sockfilt for passive data channel started (pid 160937) 14:54:35.892013 DATA sockfilt for passive data channel listens on port 46731 14:54:35.892068 > "229 Entering Passive Mode (|||46731|)[LF]" 14:54:35.892091 Client has been notified that DATA conn will be accepted on port 46731 14:54:35.892330 Client connects to port 46731 14:54:35.892361 ====> Client established passive DATA connection on port 46731 14:54:35.892439 < "TYPE I" 14:54:35.892468 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:35.892675 < "SIZE verifiedserver" 14:54:35.892717 > "213 17[CR][LF]" 14:54:35.893820 < "RETR verifiedserver" 14:54:35.893858 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:35.893948 =====> Closing passive DATA connection... 14:54:35.893967 Server disconnects passive DATA connection 14:54:35.894222 Server disconnected passive DATA connection 14:54:35.894252 DATA sockfilt for passive data channel quits (pid 160937) 14:54:35.894745 DATA sockfilt for passive data channel quit (pid 160937) 14:54:35.894772 =====> Closed passive DATA connection 14:54:35.894802 > "226 File transfer complete[CR][LF]" 14:54:35.940767 < "QUIT" 14:54:35.940815 > "221 bye bye baby[CR][LF]" 14:54:35.941647 MAIN sockfilt said DISC 14:54:35.941681 ====> Client disconnected 14:54:35.941766 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:35.971805 ====> Client connect 14:54:35.972112 Received DATA (on stdin) 14:54:35.972131 > 160 bytes data, server => client 14:54:35.972146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:35.972158 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:35.972169 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:35.972251 < 16 bytes data, client => server 14:54:35.972266 'USER anonymous\r\n' 14:54:35.972461 Received DATA (on stdin) 14:54:35.972476 > 33 bytes data, server => client 14:54:35.972487 '331 We are happy you popped in!\r\n' 14:54:35.972545 < 22 bytes data, client => server 14:54:35.972559 'PASS ftp@example.com\r\n' 14:54:35.972692 Received DATA (on stdin) 14:54:35.972704 > 30 bytes data, server => client 14:54:35.972716 '230 Welcome you silly person\r\n' 14:54:35.972765 < 5 bytes data, client => server 14:54:35.972778 'PWD\r\n' 14:54:35.972885 Received DATA (on stdin) 14:54:35.972897 > 30 bytes data, server => client 14:54:35.972909 '257 "/" is current directory\r\n' 14:54:35.972965 < 6 bytes data, client => server 14:54:35.972991 'EPSV\r\n' 14:54:35.974911 Received DATA (on stdin) 14:54:35.974926 > 38 bytes data, server => client 14:54:35.974939 '229 Entering Passive Mode (|||46731|)\n' 14:54:35.975086 < 8 bytes data, client => server 14:54:35.975099 'TYPE I\r\n' 14:54:35.975283 Received DATA (on stdin) 14:54:35.975297 > 33 bytes data, server => client 14:54:35.975308 '200 I modify TYPE as you wanted\r\n' 14:54:35.975361 < 21 bytes data, client => server 14:54:35.975402 'SIZE verifiedserver\r\n' 14:54:35.976450 Received DATA (on stdin) 14:54:35.976468 > 8 bytes data, server => client 14:54:35.976480 '213 17\r\n' 14:54:35.976536 < 21 bytes data, client => server 14:54:35.976549 'RETR verifiedserver\r\n' 14:54:35.976780 Received DATA (on stdin) 14:54:35.976794 > 29 bytes data, server => client 14:54:35.976806 '150 Binary junk (17 bytes).\r\n' 14:54:35.977615 Received DATA (on stdin) 14:54:35.977629 > 28 bytes data, server => client 14:54:35.977641 '226 File transfer complete\r\n' 14:54:36.023408 < 6 bytes data, client => server 14:54:36.023433 'QUIT\r\n' 14:54:36.023624 Received DATA (on stdin) 14:54:36.023634 > 18 bytes data, server => client 14:54:36.023643 '221 bye bye baby\r\n' 14:54:36.024404 ====> Client disconnect 14:54:36.024581 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:35.974549 Running IPv4 version 14:54:35.974599 Listening on port 46731 14:54:35.974633 Wrote pid 160937 to log/21/server/ftp_sockdata.pid 14:54:35.974652 Received PING (on stdin) 14:54:35.974734 Received PORT (on stdin) 14:54:35.975056 ====> Client connect 14:54:35.976864 Received DATA (on stdin) 14:54:35.976880 > 17 bytes data, server => client 14:54:35.976891 'WE ROOLZ: 80269\r\n' 14:54:35.976918 Received DISC (on stdin) 14:54:35.976932 ====> Client forcibly disconnected 14:54:35.977072 Received QUIT (on stdin) 14:54:35.977085 quits 14:54:35.977139 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==161198== ==161198== Process terminating with default action of signal 4 (SIGILL) ==161198== Illegal opcode at address 0x4014B6F ==161198== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==161198== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==161198== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==161198== by 0x4004266: main (tool_main.c:199) === End of file valgrind1547 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/11/server/http2_server.pid" --logfile "log/11/http2_server.log" --logdir "log/11" --portfile log/11/server/http2_server.port --config log/11/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 159706 port 44275 * pid http-proxy => 159706 159706 test 1526...[CURLOPT_PROXYHEADER: separate host/proxy headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:33503/1526 127.0.0.1:44275 > log/11/stdout1526 2> log/11/stderr1526 1526: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:33503/1526 127.0.0.1:44275 > log/11/stdout1526 2> log/11/stderr1526 === End of file commands.log === Start of file http2_server.log 14:54:34.057092 Run as proxy, CONNECT to host 127.0.0.1 14:54:34.057191 Running HTTP IPv4 version on port 44275 14:54:34.057235 Wrote pid 159706 to log/11/server/http2_server.pid 14:54:34.057268 Wrote port 44275 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:35.034803 ====> Client connect 14:54:35.034832 accept_connection 3 returned 4 14:54:35.034848 accept_connection 3 returned 0 14:54:35.034863 Read 93 bytes 14:54:35.034874 Process 93 bytes request 14:54:35.034887 Got request: GET /verifiedserver HTTP/1.1 14:54:35.034898 Are-we-friendly question received 14:54:35.034919 Wrote request (93 bytes) input to log/11/server.input 14:54:35.034935 Identifying ourselves as friends 14:54:35.034984 Response sent (56 bytes) and written to log/11/server.response 14:54:35.034995 spCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/10/stdout1557 2> log/10/stderr1557 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:45443/1552/;MAILINDEX=1' > log/5/stdout1552 2> log/5/stderr1552 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36801/1553 > log/23/stdout1553 2> log/23/stderr1553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:43359/1555 > log/12/stdout1555 2> log/12/stderr1555 ecial request received, no persistency 14:54:35.035004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 33906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1526 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:33503/1526 === End of file stderr1526 === Start of file valgrind1526 ==161251== ==161251== Process terminating with default action of signal 4 (SIGILL) ==161251== Illegal opcode at address 0x51D42F3 ==161251== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161251== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161251== by 0x51D42F3: Curl_open (url.c:551) ==161251== by 0x514CA2F: curl_easy_init (easy.c:372) ==161251== by 0x402E20E: test_lib1526.lto_priv.0 (lib1526.c:59) ==161251== by 0x400347F: main (first.c:281) ==161251== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161251== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161251== by 0x51D4243: Curl_open (url.c:530) ==161251== by 0x514CA2F: curl_easy_init (easy.c:372) ==161251== by 0x402E20E: test_lib1526.lto_priv.0 (lib1526.c:59) ==161251== by 0x400347F: main (first.c:281) ==161251== === End of file valgrind1526 test 1557...[Remove easy handle in pending connections doesn't leave dangling entry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/10/stdout1557 2> log/10/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/10/ dir after test 1557 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/10/stdout1557 2> log/10/stderr1557 === End of file commands.log === Start of file server.cmd Testnum 1557 === End of file server.cmd === Start of file stderr1557 URL: hostname.invalid === End of file stderr1557 === Start of file valgrind1557 ==161480== ==161480== Process terminating with default action of signal 4 (SIGILL) ==161480== Illegal opcode at address 0x519C257 ==161480== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==161480== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==161480== by 0x519C257: Curl_multi_handle (multi.c:236) ==161480== by 0x402B6E4: test_lib1557.lto_priv.0 (lib1557.c:38) ==161480== by 0x400347F: main (first.c:281) ==161480== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==161480== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161480== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==161480== by 0x402B6E4: test_lib1557.lto_priv.0 (lib1557.c:38) ==161480== by 0x400347F: main (first.c:281) ==161480== === End of file valgrind1557 test 1552...[IMAP multi transfer error without curl_multi_remove_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:45443/1552/;MAILINDEX=1' > log/5/stdout1552 2> log/5/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/5/ dir after test 1552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:45443/1552/;MAILINDEX=1' > log/5/stdout1552 2> log/5/stderr1552 === End of file commands.log === Start of file imap_server.log 14:54:35.982879 ====> Client connect 14:54:35.983020 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:35.983331 < "A001 CAPABILITY" 14:54:35.983367 > "A001 BAD Command[CR][LF]" 14:54:35.984351 < "A002 LIST "verifiedserver" *" 14:54:35.984402 LIST_imap got "verifiedserver" * 14:54:35.984441 > "* LIST () "/" "WE ROOLZ: 117283"[CR][LF]" 14:54:35.984464 > "A002 OK LIST Completed[CR][LF]" 14:54:35.984479 return proof we are we 14:54:36.030558 < "A003 LOGOUT" 14:54:36.030616 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:36.030636 > "A003 OK LOGOUT completed[CR][LF]" 14:54:36.031507 MAIN sockfilt said DISC 14:54:36.031542 ====> Client disconnected 14:54:36.031617 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:36.065574 ====> Client connect 14:54:36.065842 Received DATA (on stdin) 14:54:36.065858 > 178 bytes data, server => client 14:54:36.065872 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:36.065883 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:36.065895 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:36.065906 'rve\r\n' 14:54:36.065987 < 17 bytes data, client => server 14:54:36.066001 'A001 CAPABILITY\r\n' 14:54:36.066181 Received DATA (on stdin) 14:54:36.066195 > 18 bytes data, server => client 14:54:36.066207 'A001 BAD Command\r\n' 14:54:36.066265 < 30 bytes data, client => server 14:54:36.066279 'A002 LIST "verifiedserver" *\r\n' 14:54:36.067300 Received DATA (on stdin) 14:54:36.067324 > 34 bytes data, server => client 14:54:36.067339 '* LIST () "/" "WE ROOLZ: 117283"\r\n' 14:54:36.067387 Received DATA (on stdin) 14:54:36.067400 > 24 bytes data, server => client 14:54:36.067413 'A002 OK LIST Completed\r\n' 14:54:36.113203 < 13 bytes data, client => server 14:54:36.113237 'A003 LOGOUT\r\n' 14:54:36.113452 Received DATA (on stdin) 14:54:36.113467 > 36 bytes data, server => client 14:54:36.113480 '* BYE curl IMAP server signing off\r\n' 14:54:36.113510 Received DATA (on stdin) 14:54:36.113522 > 26 bytes data, server => client 14:54:36.113533 'A003 OK LOGOUT completed\r\n' 14:54:36.114268 ====> Client disconnect 14:54:36.114451 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1552 === End of file server.cmd === Start of file stderr1552 URL: imap://127.0.0.1:45443/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==161410== ==161410== Process terminating with default action of signal 4 (SIGILL) ==161410== Illegal opcode at address 0x519C257 ==161410== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==161410== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==161410== by 0x519C257: Curl_multi_handle (multi.c:236) ==161410== by 0x4033A83: UnknownInlinedFun (lib1552.c:42) ==161410== by 0x4033A83: test_lib1552.lto_priv.0 (lib1552.c:28) ==161410== by 0x400347F: main (first.c:281) ==161410== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==161410== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161410== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==161410== by 0x4033A83: UnknownInlinedFun (lib1552.c:42) ==161410== by 0x4033A83: test_lib1552.lto_priv.0 (lib1552.c:28) ==161410== by 0x400347F: main (first.c:281) ==161410== === End of file valgrind1552 test 1553...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36801/1553 > log/23/stdout1553 2> log/23/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/23/ dir after test 1553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36801/1553 > log/23/stdout1553 2> log/23/stderr1553 === End of file commands.log === Start of file imap_server.log 14:54:36.016474 ====> Client connect 14:54:36.016684 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:36.017041 < "A001 CAPABILITY" 14:54:36.017077 > "A001 BAD Command[CR][LF]" 14:54:36.017265 < "A002 LIST "verifiedserver" *" 14:54:36.017293 LIST_imap got "verifiedserver" * 14:54:36.017320 > "* LIST () "/" "WE ROOLZ: 119568"[CR][LF]" 14:54:36.017338 > "A002 OK LIST Completed[CR][LF]" 14:54:36.017353 return proof we are we 14:54:36.062084 < "A003 LOGOUT" 14:54:36.062171 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:36.062200 > "A003 OK LOGOUT completed[CR][LF]" 14:54:36.062715 MAIN sockfilt said DISC 14:54:36.062768 ====> Client disconnected 14:54:36.062845 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:36.099140 ====> Client connect 14:54:36.099509 Received DATA (on stdin) 14:54:36.099525 > 178 bytes data, server => client 14:54:36.099538 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:36.099549 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:36.099560 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:36.099570 'rve\r\n' 14:54:36.099657 < 17 bytes data, client => server 14:54:36.099670 'A001 CAPABILITY\r\n' 14:54:36.099893 Received DATA (on stdin) 14:54:36.099905 > 18 bytes data, server => client 14:54:36.099920 'A001 BAD Command\r\n' 14:54:36.099980 < 30 bytes data, client => server 14:54:36.099992 'A002 LIST "verifiedserver" *\r\n' 14:54:36.101240 Received DATA (on stdin) 14:54:36.101263 > 34 bytes data, server => client 14:54:36.101275 '* LIST () "/" "WE ROOLZ: 119568"\r\n' 14:54:36.101303 Received DATA (on stdin) 14:54:36.101314 > 24 bytes data, server => client 14:54:36.101326 'A002 OK LIST Completed\r\n' 14:54:36.144716 < 13 bytes data, client => server 14:54:36.144742 'A003 LOGOUT\r\n' 14:54:36.145032 Received DATA (on stdin) 14:54:36.145054 > 36 bytes data, server => client 14:54:36.145068 '* BYE curl IMAP server signing off\r\n' 14:54:36.145115 Received DATA (on stdin) 14:54:36.145388 > 26 bytes data, server => client 14:54:36.145410 'A003 OK LOGOUT completed\r\n' 14:54:36.145458 ====> Client disconnect 14:54:36.145663 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1553 === End of file server.cmd === Start of file stderr1553 URL: imap://non-existing-host.haxx.se:36801/1553 === End of file stderr1553 === Start of file valgrind1553 ==161517== ==161517== Process terminating with default action of signal 4 (SIGILL) ==161517== Illegal opcode at address 0x519C257 ==161517== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==161517== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==161517== by 0x519C257: Curl_multi_handle (multi.c:236) ==161517== by 0x4034284: UnknownInlinedFun (lib1553.c:57) ==161517== by 0x4034284: test_lib1553.lto_priv.0 (lib1553.c:42) ==161517== by 0x400347F: main (first.c:281) ==161517== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==161517== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161517== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==161517== by 0x4034284: UnknownInlinedFun (lib1553.c:57) ==161517== by 0x4034284: test_lib1553.lto_priv.0 (lib1553.c:42) ==161517== by 0x400347F: main (first.c:281) ==161517== === End of file valgrind1553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:34449/1554 > log/24/stdout1554 2> log/24/stderr1554 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/13/data1558 > log/13/stdout1558 2> log/13/stderr1558 test 1555...[verify api is protected against calls from callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:43359/1555 > log/12/stdout1555 2> log/12/stderr1555 1555: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:37.072198276 +0000 +++ log/12/check-generated 2025-09-11 14:54:37.072198276 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/12/ dir after test 1555 === Start of file check-expected curl_easy_recv returned 93[LF] curl_easy_send returned 93[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:43359/1555 > log/12/stdout1555 2> log/12/stderr1555 === End of file commands.log === Start of file http_server.log 14:54:36.152883 ====> Client connect 14:54:36.152940 accept_connection 3 returned 4 14:54:36.152959 accept_connection 3 returned 0 14:54:36.152976 Read 93 bytes 14:54:36.153000 Process 93 bytes request 14:54:36.153014 Got request: GET /verifiedserver HTTP/1.1 14:54:36.153029 Are-we-friendly question received 14:54:36.153058 Wrote request (93 bytes) input to log/12/server.input 14:54:36.153076 Identifying ourselves as friends 14:54:36.153138 Response sent (56 bytes) and written to log/12/server.response 14:54:36.153150 special request received, no persistency 14:54:36.153160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:43359/1555 === End of file stderr1555 === Start of file valgrind1555 ==161546== ==161546== Process terminating with default action of signal 4 (SIGILL) ==161546== Illegal opcode at address 0x51D42F3 ==161546== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161546== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161546== by 0x51D42F3: Curl_open (url.c:551) ==161546== by 0x514CA2F: curl_easy_init (easy.c:372) ==161546== by 0x402EFC6: UnknownInlinedFun (lib1555.c:62) ==161546== by 0x402EFC6: test_lib1555.lto_priv.0 (lib1555.c:56) ==161546== by 0x400347F: main (first.c:281) ==161546== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161546== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161546== by 0x51D4243: Curl_open (url.c:530) ==161546== by 0x514CA2F: curl_easy_init (easy.c:372) ==161546== by 0x402EFC6: UnknownInlinedFun (lib1555.c:62) ==161546== by 0x402EFC6: test_lib1555.lto_priv.0 (lib1555.c:56) ==161546== by 0x400347F: main (first.c:281) ==161546== === End of file valgrind1555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:40545/1556 > log/7/stdout1556 2> log/7/stderr1556 test 1558...[CURLINFO_PROTOCOL for file:// transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/13/data1558 > log/13/stdout1558 2> log/13/stderr1558 1558: stdout FAILED: --- log/13/check-expected 2025-09-11 14:54:37.082198276 +0000 +++ log/13/check-generated 2025-09-11 14:54:37.082198276 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/13/ dir after test 1558 === Start of file check-expected hello[LF] Protocol: 400[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/13/data1558 > log/13/stdout1558 2> log/13/stderr1558 === End of file commands.log === Start of file data1558 hello === End of file data1558 === Start of file server.cmd Testnum 1558 === End of file server.cmd === Start of file stderr1558 URL: file:///startdir/src/build-curl/tests/log/13/data1558 === End of file stderr1558 === Start of file valgrind1558 ==161698== ==161698== Process terminating with default action of signal 4 (SIGILL) ==161698== Illegal opcode at address 0x51D42F3 ==161698== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161698== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161698== by 0x51D42F3: Curl_open (url.c:551) ==161698== by 0x514CA2F: curl_easy_init (easy.c:372) ==161698== by 0x402FE81: test_lib1558.lto_priv.0 (lib1558.c:35) ==161698== by 0x400347F: main (first.c:281) ==161698== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161698== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161698== by 0x51D4243: Curl_open (url.c:530) ==161698== by 0x514CA2F: curl_easy_init (easy.c:372) ==161698== by 0x402FE81: test_lib1558.lto_priv.0 (lib1558.c:35) ==161698== by 0x400347F: main (first.c:281) ==161698== === End of file valgrind1558 test 1554...[HTTP with shared connection cache] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:34449/1554 > log/24/stdout1554 2> log/24/stderr1554 1554: data FAILED: --- log/24/check-expected 2025-09-11 14:54:37.088864943 +0000 +++ log/24/check-generated 2025-09-11 14:54:37.088864943 +0000 @@ -1,49 +0,0 @@ --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] == Contents of files in the log/24/ dir after test 1554 === Start of file check-expected -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:34449/1554 > log/24/stdout1554 2> log/24/stderr1554 === End of file commands.log === Start of file http_server.log 14:54:36.150478 ====> Client connect 14:54:36.150506 accept_connection 3 returned 4 14:54:36.150523 accept_connection 3 returned 0 14:54:36.150537 Read 93 bytes 14:54:36.150547 Process 93 bytes request 14:54:36.150561 Got request: GET /verifiedserver HTTP/1.1 14:54:36.150571 Are-we-friendly question received 14:54:36.150593 Wrote request (93 bytes) input to log/24/server.input 14:54:36.150609 Identifying ourselves as friends 14:54:36.150658 Response sent (56 bytes) and written to log/24/server.response 14:54:36.150668 special request received, no persistency 14:54:36.150677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:34449/1554 === End of file stderr1554 === Start of file valgrind1554 ==161545== ==161545== Process terminating with default action of signal 4 (SIGILL) ==161545== Illegal opcode at address 0x51D42F3 ==161545== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161545== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161545== by 0x51D42F3: Curl_open (url.c:551) ==161545== by 0x514CA2F: curl_easy_init (easy.c:372) ==161545== by 0x51C4881: curl_share_init (share.c:50) ==161545== by 0x40349D3: UnknownInlinedFun (lib1554.c:67) ==161545== by 0x40349D3: test_lib1554.lto_priv.0 (lib1554.c:59) ==161545== by 0x400347F: main (first.c:281) ==161545== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==161545== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161545== by 0x51D4243: Curl_open (url.c:530) ==161545== by 0x514CA2F: curl_easy_init (easy.c:372) ==161545== by 0x51C4881: curl_share_init (share.c:50) ==161545== by 0x40349D3: UnknownInlinedFun (lib1554.c:67) ==161545== by 0x40349D3: test_lib1554.lto_priv.0 (lib1554.c:59) ==161545== by 0x400347F: main (first.c:281) ==161545== === End of file valgrind1554 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1559 ./libtest/libtests lib1559 - > log/18/stdout1559 2> log/18/stderr1559 test 1556...[send long HTTP headers to header callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:40545/1556 > log/7/stdout1556 2> log/7/stderr1556 1556: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:37.095531609 +0000 +++ log/7/check-generated 2025-09-11 14:54:37.095531609 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/7/ dir after test 1556 === Start of file check-expected -foo-[LF] Max = 100009[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:40545/1556 > log/7/stdout1556 2> log/7/stderr1556 === End of file commands.log === Start of file http_server.log 14:54:36.152972 ====> Client connect 14:54:36.153019 accept_connection 3 returned 4 14:54:36.153041 accept_connection 3 returned 0 14:54:36.153055 Read 93 bytes 14:54:36.153066 Process 93 bytes request 14:54:36.153078 Got request: GET /verifiedserver HTTP/1.1 14:54:36.153088 Are-we-friendly question received 14:54:36.153111 Wrote request (93 bytes) input to log/7/server.input 14:54:36.153127 Identifying ourselves as friends 14:54:36.153177 Response sent (56 bytes) and written to log/7/server.response 14:54:36.153188 special request received, no persistency 14:54:36.153197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 37868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:40545/1556 === End of file stderr1556 === Start of file valgrind1556 ==161548== ==161548== Process terminating with default action of signal 4 (SIGILL) ==161548== Illegal opcode at address 0x51D42F3 ==161548== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161548== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161548== by 0x51D42F3: Curl_open (url.c:551) ==161548== by 0x514CA2F: curl_easy_init (easy.c:372) ==161548== by 0x402F241: test_lib1556.lto_priv.0 (lib1556.c:54) ==161548== by 0x400347F: main (first.c:281) ==161548== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161548== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161548== by 0x51D4243: Curl_open (url.c:530) ==161548== by 0x514CA2F: curl_easy_init (easy.c:372) ==161548== by 0x402F241: test_lib1556.lto_priv.0 (lib1556.c:54) ==161548== by 0x400347F: main (first.c:281) ==161548== === End of file valgrind1556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1563 ../src/curl -q --output log/20/curl1563.out --include --trace-ascii log/20/trace1563 --trace-time http://127.0.0.1:39569/15630001 -L -H "Host: www.example.com" > log/20/stdout1563 2> log/20/stderr1563 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1564 ./libtest/libtests lib1564 - > log/8/stdout1564 2> log/8/stderr1564 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:33805/1576 > log/19/stdout1576 2> log/19/stderr1576 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:34037/1577 1577 > log/21/stdout1577 2> log/21/stderr1577 test 1559...[Set excessive URL lengths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1559 ./libtest/libtests lib1559 - > log/18/stdout1559 2> log/18/stderr1559 1559: stdout FAILED: --- log/18/check-expected 2025-09-11 14:54:37.402198280 +0000 +++ log/18/check-generated 2025-09-11 14:54:37.402198280 +0000 @@ -1,5 +0,0 @@ -CURLOPT_URL 10000000 bytes URL == 43[LF] -CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] -CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] -CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] -CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] == Contents of files in the log/18/ dir after test 1559 === Start of file check-expected CURLOPT_URL 10000000 bytes URL == 43[LF] CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1559 ./libtest/libtests lib1559 - > log/18/stdout1559 2> log/18/stderr1559 === End of file commands.log === Start of file server.cmd Testnum 1559 === End of file server.cmd === Start of file stderr1559 URL: - === End of file stderr1559 === Start of file valgrind1559 ==161815== ==161815== Process terminating with default action of signal 4 (SIGILL) ==161815== Illegal opcode at address 0x51D42F3 ==161815== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==161815== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==161815== by 0x51D42F3: Curl_open (url.c:551) ==161815== by 0x514CA2F: curl_easy_init (easy.c:372) ==161815== by 0x4034C0B: UnknownInlinedFun (lib1559.c:39) ==161815== by 0x4034C0B: test_lib1559.lto_priv.0 (lib1559.c:28) ==161815== by 0x400347F: main (first.c:281) ==161815== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==161815== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161815== by 0x51D4243: Curl_open (url.c:530) ==161815== by 0x514CA2F: curl_easy_init (easy.c:372) ==161815== by 0x4034C0B: UnknownInlinedFun (lib1559.c:39) ==161815== by 0x4034C0B: test_lib1559.lto_priv.0 (lib1559.c:28) ==161815== by 0x400347F: main (first.c:281) ==161815== === End of file valgrind1559 test 1563...[Make sure redirects to CURLPROTO_GOPHER are forbidden by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1563 ../src/curl -q --output log/20/curl1563.out --include --trace-ascii log/20/trace1563 --trace-time http://127.0.0.1:39569/15630001 -L -H "Host: www.example.com" > log/20/stdout1563 2> log/20/stderr1563 1563: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1563 ../src/curl -q --output log/20/curl1563.out --include --trace-ascii log/20/trace1563 --trace-time http://127.0.0.1:39569/15630001 -L -H "Host: www.example.com" > log/20/stdout1563 2> log/20/stderr1563 === End of file commands.log === Start of file http_server.log 14:54:36.573051 ====> Client connect 14:54:36.573089 accept_connection 3 returned 4 14:54:36.573106 accept_connection 3 returned 0 14:54:36.573206 Read 93 bytes 14:54:36.573222 Process 93 bytes request 14:54:36.573238 Got request: GET /verifiedserver HTTP/1.1 14:54:36.573248 Are-we-friendly question received 14:54:36.573279 Wrote request (93 bytes) input to log/20/server.input 14:54:36.573296 Identifying ourselves as friends 14:54:36.573355 Response sent (56 bytes) and written to log/20/server.response 14:54:36.573367 special request received, no persistency 14:54:36.573377 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1563 ==161909== ==161909== Process terminating with default action of signal 4 (SIGILL) ==161909== Illegal opcode at address 0x4014B6F ==161909== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==161909== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==161909== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==161909== by 0x4004266: main (tool_main.c:199) === End of file valgrind1563 test 1564...[wakeup before poll with no easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1564 ./libtest/libtests lib1564 - > log/8/stdout1564 2> log/8/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/8/ dir after test 1564 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1564 ./libtest/libtests lib1564 - > log/8/stdout1564 2> log/8/stderr1564 === End of file commands.log === Start of file server.cmd Testnum 1564 === End of file server.cmd === Start of file stderr1564 URL: - === End of file stderr1564 === Start of file valgrind1564 ==161983== ==161983== Process terminating with default action of signal 4 (SIGILL) ==161983== Illegal opcode at address 0x519C257 ==161983== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==161983== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==161983== by 0x519C257: Curl_multi_handle (multi.c:236) ==161983== by 0x4036FC2: UnknownInlinedFun (lib1564.c:44) ==161983== by 0x4036FC2: test_lib1564.lto_priv.0 (lib1564.c:30) ==161983== by 0x400347F: main (first.c:281) ==161983== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==161983== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161983== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==161983== by 0x4036FC2: UnknownInlinedFun (lib1564.c:44) ==161983== by 0x4036FC2: test_lib1564.lto_priv.0 (lib1564.c:30) ==161983== by 0x400347F: main (first.c:281) ==161983== === End of file valgrind1564 test 1576...[CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:33805/1576 > log/19/stdout1576 2> log/19/stderr1576 1576: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 1576 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42027/1573 > log/22/stdout1573 2> log/22/stderr1573 rind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:33805/1576 > log/19/stdout1576 2> log/19/stderr1576 === End of file commands.log === Start of file http_server.log 14:54:35.992213 ====> Client connect 14:54:35.992243 accept_connection 3 returned 4 14:54:35.992260 accept_connection 3 returned 0 14:54:35.992275 Read 93 bytes 14:54:35.992286 Process 93 bytes request 14:54:35.992298 Got request: GET /verifiedserver HTTP/1.1 14:54:35.992308 Are-we-friendly question received 14:54:35.992333 Wrote request (93 bytes) input to log/19/server.input 14:54:35.992352 Identifying ourselves as friends 14:54:35.992404 Response sent (56 bytes) and written to log/19/server.response 14:54:35.992416 special request received, no persistency 14:54:35.992426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 1576 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr1576 URL: http://127.0.0.1:33805/1576 === End of file stderr1576 === Start of file valgrind1576 ==162547== ==162547== Process terminating with default action of signal 4 (SIGILL) ==162547== Illegal opcode at address 0x51D42F3 ==162547== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162547== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162547== by 0x51D42F3: Curl_open (url.c:551) ==162547== by 0x514CA2F: curl_easy_init (easy.c:372) ==162547== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162547== by 0x400347F: main (first.c:281) ==162547== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162547== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162547== by 0x51D4243: Curl_open (url.c:530) ==162547== by 0x514CA2F: curl_easy_init (easy.c:372) ==162547== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162547== by 0x400347F: main (first.c:281) ==162547== === End of file valgrind1576 test 1577...[CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:34037/1577 1577 > log/21/stdout1577 2> log/21/stderr1577 1577: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:34037/1577 1577 > log/21/stdout1577 2> log/21/stderr1577 === End of file commands.log === Start of file http_server.log 14:54:36.990248 ====> Client connect 14:54:36.990284 accept_connection 3 returned 4 14:54:36.990303 accept_connection 3 returned 0 14:54:36.990320 Read 93 bytes 14:54:36.990332 Process 93 bytes request 14:54:36.990348 Got request: GET /verifiedserver HTTP/1.1 14:54:36.990360 Are-we-friendly question received 14:54:36.990386 Wrote request (93 bytes) input to log/21/server.input 14:54:36.990405 Identifying ourselves as friends 14:54:36.990463 Response sent (56 bytes) and written to log/21/server.response 14:54:36.990475 special request received, no persistency 14:54:36.990486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1577 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr1577 URL: http://127.0.0.1:34037/1577 === End of file stderr1577 === Start of file valgrind1577 ==162544== ==162544== Process terminating with default action of signal 4 (SIGILL) ==162544== Illegal opcode at address 0x51D42F3 ==162544== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162544== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162544== by 0x51D42F3: Curl_open (url.c:551) ==162544== by 0x514CA2F: curl_easy_init (easy.c:372) ==162544== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162544== by 0x400347F: main (first.c:281) ==162544== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162544== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162544== by 0x51D4243: Curl_open (url.c:530) ==162544== by 0x514CA2F: curl_easy_init (easy.c:372) ==162544== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162544== by 0x400347F: main (first.c:281) ==162544== === End of file valgrind1577 test 1573...[CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42027/1573 > log/22/stdout1573 2> log/22/stderr1573 1573: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42027/1573 > log/22/stdout1573 2> log/22/stderr1573 === End of file commands.log === Start of file http_server.log 14:54:36.965695 ====> Client connect 14:54:36.965733 accept_connection 3 returned 4 14:54:36.965753 accept_connection 3 returned 0 14:54:36.965770 Read 93 bytes 14:54:36.965782 Process 93 bytes request 14:54:36.965797 Got request: GET /verifiedserver HTTP/1.1 14:54:36.965808 Are-we-friendly question received 14:54:36.965836 Wrote request (93 bytes) input to log/22/server.input 14:54:36.965855 Identifying ourselves as friends 14:54:36.965923 Response sent (56 bytes) and written to log/22/server.response 14:54:36.965936 special request received, no persistency 14:54:36.965947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 38624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36077/1570;type=D" ftp://127.0.0.1:36077/1570 > log/6/stdout1570 2> log/6/stderr1570 Testnum 1573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file stderr1573 URL: http://127.0.0.1:42027/1573 === End of file stderr1573 === Start of file valgrind1573 ==162413== ==162413== Process terminating with default action of signal 4 (SIGILL) ==162413== Illegal opcode at address 0x51D42F3 ==162413== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162413== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162413== by 0x51D42F3: Curl_open (url.c:551) ==162413== by 0x514CA2F: curl_easy_init (easy.c:372) ==162413== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162413== by 0x400347F: main (first.c:281) ==162413== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162413== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162413== by 0x51D4243: Curl_open (url.c:530) ==162413== by 0x514CA2F: curl_easy_init (easy.c:372) ==162413== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162413== by 0x400347F: main (first.c:281) ==162413== === End of file valgrind1573 test 1570...[FTP first type=D then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36077/1570;type=D" ftp://127.0.0.1:36077/1570 > log/6/stdout1570 2> log/6/stderr1570 1570: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36077/1570;type=D" ftp://127.0.0.1:36077/1570 > log/6/stdout1570 2> log/6/stderr1570 === End of file commands.log === Start of file ftp_server.log 14:54:36.869591 ====> Client connect 14:54:36.869733 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:36.870014 < "USER anonymous" 14:54:36.870048 > "331 We are happy you popped in![CR][LF]" 14:54:36.870222 < "PASS ftp@example.com" 14:54:36.870247 > "230 Welcome you silly person[CR][LF]" 14:54:36.870413 < "PWD" 14:54:36.870444 > "257 "/" is current directory[CR][LF]" 14:54:36.870616 < "EPSV" 14:54:36.870640 ====> Passive DATA channel requested by client 14:54:36.870653 DATA sockfilt for passive data channel starting... 14:54:36.872580 DATA sockfilt for passive data channel started (pid 162246) 14:54:36.872760 DATA sockfilt for passive data channel listens on port 45611 14:54:36.872807 > "229 Entering Passive Mode (|||45611|)[LF]" 14:54:36.872829 Client has been notified that DATA conn will be accepted on port 45611 14:54:36.873163 Client connects to port 45611 14:54:36.873197 ====> Client established passive DATA connection on port 45611 14:54:36.873301 < "TYPE I" 14:54:36.873340 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:36.873561 < "SIZE verifiedserver" 14:54:36.873606 > "213 17[CR][LF]" 14:54:36.873789 < "RETR verifiedserver" 14:54:36.873828 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:36.873926 =====> Closing passive DATA connection... 14:54:36.873944 Server disconnects passive DATA connection 14:54:36.874153 Server disconnected passive DATA connection 14:54:36.874194 DATA sockfilt for passive data channel quits (pid 162246) 14:54:36.874493 DATA sockfilt for passive data channel quit (pid 162246) 14:54:36.874525 =====> Closed passive DATA connection 14:54:36.874557 > "226 File transfer complete[CR][LF]" 14:54:36.918089 < "QUIT" 14:54:36.918148 > "221 bye bye baby[CR][LF]" 14:54:36.919405 MAIN sockfilt said DISC 14:54:36.919447 ====> Client disconnected 14:54:36.919515 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:35.952310 ====> Client connect 14:54:35.952557 Received DATA (on stdin) 14:54:35.952577 > 160 bytes data, server => client 14:54:35.952590 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:35.952602 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:35.952613 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:35.952688 < 16 bytes data, client => server 14:54:35.952701 'USER anonymous\r\n' 14:54:35.952865 Received DATA (on stdin) 14:54:35.952878 > 33 bytes data, server => client 14:54:35.952889 '331 We are happy you popped in!\r\n' 14:54:35.952936 < 22 bytes data, client => server 14:54:35.952949 'PASS ftp@example.com\r\n' 14:54:35.953059 Received DATA (on stdin) 14:54:35.953072 > 30 bytes data, server => client 14:54:35.953083 '230 Welcome you silly person\r\n' 14:54:35.953135 < 5 bytes data, client => server 14:54:35.953148 'PWD\r\n' 14:54:35.953255 Received DATA (on stdin) 14:54:35.953268 > 30 bytes data, server => client 14:54:35.953279 '257 "/" is current directory\r\n' 14:54:35.953338 < 6 bytes data, client => server 14:54:35.953352 'EPSV\r\n' 14:54:35.955656 Received DATA (on stdin) 14:54:35.955676 > 38 bytes data, server => client 14:54:35.955690 '229 Entering Passive Mode (|||45611|)\n' 14:54:35.955877 < 8 bytes data, client => server 14:54:35.955896 'TYPE I\r\n' 14:54:35.956155 Received DATA (on stdin) 14:54:35.956171 > 33 bytes data, server => client 14:54:35.956184 '200 I modify TYPE as you wanted\r\n' 14:54:35.956244 < 21 bytes data, client => server 14:54:35.956261 'SIZE verifiedserver\r\n' 14:54:35.956420 Received DATA (on stdin) 14:54:35.956435 > 8 bytes data, server => client 14:54:35.956447 '213 17\r\n' 14:54:35.956505 < 21 bytes data, client => server 14:54:35.956520 'RETR verifiedserver\r\n' 14:54:35.956761 Received DATA (on stdin) 14:54:35.956775 > 29 bytes data, server => client 14:54:35.956789 '150 Binary junk (17 bytes).\r\n' 14:54:35.957372 Received DATA (on stdin) 14:54:35.957388 > 28 bytes data, server => client 14:54:35.957401 '226 File transfer complete\r\n' 14:54:36.000702 < 6 bytes data, client => server 14:54:36.000731 'QUIT\r\n' 14:54:36.000966 Received DATA (on stdin) 14:54:36.000982 > 18 bytes data, server => client 14:54:36.000994 '221 bye bye baby\r\n' 14:54:36.002142 ====> Client disconnect 14:54:36.002330 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:36.954841 Running IPv4 version 14:54:36.954899 Listening on port 45611 14:54:36.954932 Wrote pid 162246 to log/6/server/ftp_sockdata.pid 14:54:36.954952 Received PING (on stdin) 14:54:36.955457 Received PORT (on stdin) 14:54:36.955922 ====> Client connect 14:54:36.956852 Received DATA (on stdin) 14:54:36.956870 > 17 bytes data, server => client 14:54:36.956883 'WE ROOLZ: 80241\r\n' 14:54:36.956915 Received DISC (on stdin) 14:54:36.956929 ====> Client forcibly disconnected 14:54:36.957021 Received QUIT (on stdin) 14:54:36.957037 quits 14:54:36.957092 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1570 === End of file server.cmd === Start of file stderr1570 URL: ftp://127.0.0.1:36077/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==162591== ==162591== Process terminating with default action of signal 4 (SIGILL) ==162591== Illegal opcode at address 0x51D42F3 ==162591== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162591== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162591== by 0x51D42F3: Curl_open (url.c:551) ==162591== by 0x514CA2F: curl_easy_init (easy.c:372) ==162591== by 0x403906C: UnknownInlinedFun (lib1569.c:34) ==162591== by 0x403906C: test_lib1569.lto_priv.0 (lib1569.c:28) ==162591== by 0x400347F: main (first.c:281) ==162591== 5,408 bytes in 1 blocks are definitely lost in loss rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/17/stdout1569 2> log/17/stderr1569 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:33503/1578 > log/11/stdout1578 2> log/11/stderr1578 ecord 637 of 639 ==162591== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162591== by 0x51D4243: Curl_open (url.c:530) ==162591== by 0x514CA2F: curl_easy_init (easy.c:372) ==162591== by 0x403906C: UnknownInlinedFun (lib1569.c:34) ==162591== by 0x403906C: test_lib1569.lto_priv.0 (lib1569.c:28) ==162591== by 0x400347F: main (first.c:281) ==162591== === End of file valgrind1570 test 1569...[FTP first type=A then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/17/stdout1569 2> log/17/stderr1569 1569: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/17/stdout1569 2> log/17/stderr1569 === End of file commands.log === Start of file ftp_server.log 14:54:36.861696 ====> Client connect 14:54:36.861844 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:36.863033 < "USER anonymous" 14:54:36.863072 > "331 We are happy you popped in![CR][LF]" 14:54:36.863265 < "PASS ftp@example.com" 14:54:36.863293 > "230 Welcome you silly person[CR][LF]" 14:54:36.863477 < "PWD" 14:54:36.863510 > "257 "/" is current directory[CR][LF]" 14:54:36.863714 < "EPSV" 14:54:36.863741 ====> Passive DATA channel requested by client 14:54:36.863759 DATA sockfilt for passive data channel starting... 14:54:36.865410 DATA sockfilt for passive data channel started (pid 162205) 14:54:36.865526 DATA sockfilt for passive data channel listens on port 35011 14:54:36.865571 > "229 Entering Passive Mode (|||35011|)[LF]" 14:54:36.865594 Client has been notified that DATA conn will be accepted on port 35011 14:54:36.865956 Client connects to port 35011 14:54:36.865995 ====> Client established passive DATA connection on port 35011 14:54:36.866077 < "TYPE I" 14:54:36.866110 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:36.866315 < "SIZE verifiedserver" 14:54:36.866357 > "213 17[CR][LF]" 14:54:36.866544 < "RETR verifiedserver" 14:54:36.866583 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:36.866668 =====> Closing passive DATA connection... 14:54:36.866687 Server disconnects passive DATA connection 14:54:36.867316 Server disconnected passive DATA connection 14:54:36.867349 DATA sockfilt for passive data channel quits (pid 162205) 14:54:36.867584 DATA sockfilt for passive data channel quit (pid 162205) 14:54:36.867611 =====> Closed passive DATA connection 14:54:36.867639 > "226 File transfer complete[CR][LF]" 14:54:36.909716 < "QUIT" 14:54:36.909766 > "221 bye bye baby[CR][LF]" 14:54:36.910218 MAIN sockfilt said DISC 14:54:36.910253 ====> Client disconnected 14:54:36.910315 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:36.944213 ====> Client connect 14:54:36.944670 Received DATA (on stdin) 14:54:36.945555 > 160 bytes data, server => client 14:54:36.945577 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:36.945590 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:36.945604 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:36.945683 < 16 bytes data, client => server 14:54:36.945696 'USER anonymous\r\n' 14:54:36.945894 Received DATA (on stdin) 14:54:36.945908 > 33 bytes data, server => client 14:54:36.945921 '331 We are happy you popped in!\r\n' 14:54:36.945980 < 22 bytes data, client => server 14:54:36.945994 'PASS ftp@example.com\r\n' 14:54:36.946110 Received DATA (on stdin) 14:54:36.946123 > 30 bytes data, server => client 14:54:36.946135 '230 Welcome you silly person\r\n' 14:54:36.946194 < 5 bytes data, client => server 14:54:36.946208 'PWD\r\n' 14:54:36.946338 Received DATA (on stdin) 14:54:36.946352 > 30 bytes data, server => client 14:54:36.946364 '257 "/" is current directory\r\n' 14:54:36.946433 < 6 bytes data, client => server 14:54:36.946446 'EPSV\r\n' 14:54:36.948416 Received DATA (on stdin) 14:54:36.948431 > 38 bytes data, server => client 14:54:36.948444 '229 Entering Passive Mode (|||35011|)\n' 14:54:36.948615 < 8 bytes data, client => server 14:54:36.948630 'TYPE I\r\n' 14:54:36.948931 Received DATA (on stdin) 14:54:36.948947 > 33 bytes data, server => client 14:54:36.948960 '200 I modify TYPE as you wanted\r\n' 14:54:36.949027 < 21 bytes data, client => server 14:54:36.949043 'SIZE verifiedserver\r\n' 14:54:36.949177 Received DATA (on stdin) 14:54:36.949192 > 8 bytes data, server => client 14:54:36.949205 '213 17\r\n' 14:54:36.949261 < 21 bytes data, client => server 14:54:36.949275 'RETR verifiedserver\r\n' 14:54:36.949508 Received DATA (on stdin) 14:54:36.949522 > 29 bytes data, server => client 14:54:36.949535 '150 Binary junk (17 bytes).\r\n' 14:54:36.950456 Received DATA (on stdin) 14:54:36.950470 > 28 bytes data, server => client 14:54:36.950482 '226 File transfer complete\r\n' 14:54:36.992363 < 6 bytes data, client => server 14:54:36.992387 'QUIT\r\n' 14:54:36.992583 Received DATA (on stdin) 14:54:36.992598 > 18 bytes data, server => client 14:54:36.992609 '221 bye bye baby\r\n' 14:54:36.992964 ====> Client disconnect 14:54:36.993144 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:36.948035 Running IPv4 version 14:54:36.948098 Listening on port 35011 14:54:36.948138 Wrote pid 162205 to log/17/server/ftp_sockdata.pid 14:54:36.948160 Received PING (on stdin) 14:54:36.948250 Received PORT (on stdin) 14:54:36.948582 ====> Client connect 14:54:36.949602 Received DATA (on stdin) 14:54:36.949620 > 17 bytes data, server => client 14:54:36.949632 'WE ROOLZ: 91632\r\n' 14:54:36.950051 Received DISC (on stdin) 14:54:36.950072 ====> Client forcibly disconnected 14:54:36.950175 Received QUIT (on stdin) 14:54:36.950189 quits 14:54:36.950253 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1569 === End of file server.cmd === Start of file stderr1569 URL: ftp://127.0.0.1:40705/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==162522== ==162522== Process terminating with default action of signal 4 (SIGILL) ==162522== Illegal opcode at address 0x51D42F3 ==162522== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162522== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162522== by 0x51D42F3: Curl_open (url.c:551) ==162522== by 0x514CA2F: curl_easy_init (easy.c:372) ==162522== by 0x403906C: UnknownInlinedFun (lib1569.c:34) ==162522== by 0x403906C: test_lib1569.lto_priv.0 (lib1569.c:28) ==162522== by 0x400347F: main (first.c:281) ==162522== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162522== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162522== by 0x51D4243: Curl_open (url.c:530) ==162522== by 0x514CA2F: curl_easy_init (easy.c:372) ==162522== by 0x403906C: UnknownInlinedFun (lib1569.c:34) ==162522== by 0x403906C: test_lib1569.lto_priv.0 (lib1569.c:28) ==162522== by 0x400347F: main (first.c:281) ==162522== === End of file valgrind1569 test 1578...[CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:33503/1578 > log/11/stdout1578 2> log/11/stderr1578 1578: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1566 ../src/curl -q --trace-ascii log/3/trace1566 --trace-time http://127.0.0.1:38933/1566 -o log/3/output1566 --etag-compare log/3/etag1566 > log/3/stdout1566 2> log/3/stderr1566 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:42107/1567 > log/15/stdout1567 2> log/15/stderr1567 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:44029/1 > log/1/stdout1565 2> log/1/stderr1565 protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1578 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:33503/1578 > log/11/stdout1578 2> log/11/stderr1578 === End of file commands.log === Start of file http_server.log 14:54:37.036528 ====> Client connect 14:54:37.036562 accept_connection 3 returned 4 14:54:37.036580 accept_connection 3 returned 0 14:54:37.036687 Read 93 bytes 14:54:37.036702 Process 93 bytes request 14:54:37.036717 Got request: GET /verifiedserver HTTP/1.1 14:54:37.036729 Are-we-friendly question received 14:54:37.036758 Wrote request (93 bytes) input to log/11/server.input 14:54:37.036777 Identifying ourselves as friends 14:54:37.036828 Response sent (56 bytes) and written to log/11/server.response 14:54:37.036839 special request received, no persistency 14:54:37.036850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr1578 URL: http://127.0.0.1:33503/1578 === End of file stderr1578 === Start of file valgrind1578 ==162852== ==162852== Process terminating with default action of signal 4 (SIGILL) ==162852== Illegal opcode at address 0x51D42F3 ==162852== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162852== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162852== by 0x51D42F3: Curl_open (url.c:551) ==162852== by 0x514CA2F: curl_easy_init (easy.c:372) ==162852== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162852== by 0x400347F: main (first.c:281) ==162852== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162852== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162852== by 0x51D4243: Curl_open (url.c:530) ==162852== by 0x514CA2F: curl_easy_init (easy.c:372) ==162852== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162852== by 0x400347F: main (first.c:281) ==162852== === End of file valgrind1578 test 1566...[--etag-compare that gets a 304 back shouldn't overwrite the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1566 ../src/curl -q --trace-ascii log/3/trace1566 --trace-time http://127.0.0.1:38933/1566 -o log/3/output1566 --etag-compare log/3/etag1566 > log/3/stdout1566 2> log/3/stderr1566 1566: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1566 ../src/curl -q --trace-ascii log/3/trace1566 --trace-time http://127.0.0.1:38933/1566 -o log/3/output1566 --etag-compare log/3/etag1566 > log/3/stdout1566 2> log/3/stderr1566 === End of file commands.log === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 14:54:36.914982 ====> Client connect 14:54:36.915008 accept_connection 3 returned 4 14:54:36.915022 accept_connection 3 returned 0 14:54:36.915034 Read 93 bytes 14:54:36.915042 Process 93 bytes request 14:54:36.915053 Got request: GET /verifiedserver HTTP/1.1 14:54:36.915061 Are-we-friendly question received 14:54:36.915080 Wrote request (93 bytes) input to log/3/server.input 14:54:36.915093 Identifying ourselves as friends 14:54:36.915139 Response sent (57 bytes) and written to log/3/server.response 14:54:36.915149 special request received, no persistency 14:54:36.915157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 44146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file output1566 downloaded already === End of file output1566 === Start of file server.cmd Testnum 1566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file valgrind1566 ==162106== ==162106== Process terminating with default action of signal 4 (SIGILL) ==162106== Illegal opcode at address 0x4014B6F ==162106== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==162106== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==162106== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==162106== by 0x4004266: main (tool_main.c:199) === End of file valgrind1566 test 1567...[re-run redirected transfer without setting CURLU URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:42107/1567 > log/15/stdout1567 2> log/15/stderr1567 1567: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 1567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:42107/1567 > log/15/stdout1567 2> log/15/stderr1567 === End of file commands.log === Start of file http_server.log 14:54:36.936848 ====> Client connect 14:54:36.936885 accept_connection 3 returned 4 14:54:36.936903 accept_connection 3 returned 0 14:54:36.936919 Read 93 bytes 14:54:36.936930 Process 93 bytes request 14:54:36.936945 Got request: GET /verifiedserver HTTP/1.1 14:54:36.936956 Are-we-friendly question received 14:54:36.936984 Wrote request (93 bytes) input to log/15/server.input 14:54:36.937003 Identifying ourselves as friends 14:54:36.937062 Response sent (56 bytes) and written to log/15/server.response 14:54:36.937075 special request received, no persistency 14:54:36.937085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1567 === End of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37587 > log/2/stdout1568 2> log/2/stderr1568 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34345/1571 > log/9/stdout1571 2> log/9/stderr1571 ile server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:42107/1567 === End of file stderr1567 === Start of file valgrind1567 ==162223== ==162223== Process terminating with default action of signal 4 (SIGILL) ==162223== Illegal opcode at address 0x51D42F3 ==162223== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162223== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162223== by 0x51D42F3: Curl_open (url.c:551) ==162223== by 0x514CA2F: curl_easy_init (easy.c:372) ==162223== by 0x40399CC: UnknownInlinedFun (lib1567.c:37) ==162223== by 0x40399CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==162223== by 0x400347F: main (first.c:281) ==162223== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162223== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162223== by 0x51D4243: Curl_open (url.c:530) ==162223== by 0x514CA2F: curl_easy_init (easy.c:372) ==162223== by 0x40399CC: UnknownInlinedFun (lib1567.c:37) ==162223== by 0x40399CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==162223== by 0x400347F: main (first.c:281) ==162223== === End of file valgrind1567 test 1565...[wakeup from another thread] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:44029/1 > log/1/stdout1565 2> log/1/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/1/ dir after test 1565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:44029/1 > log/1/stdout1565 2> log/1/stderr1565 === End of file commands.log === Start of file http_server.log 14:54:36.908565 ====> Client connect 14:54:36.908596 accept_connection 3 returned 4 14:54:36.908613 accept_connection 3 returned 0 14:54:36.908629 Read 93 bytes 14:54:36.908640 Process 93 bytes request 14:54:36.908655 Got request: GET /verifiedserver HTTP/1.1 14:54:36.908664 Are-we-friendly question received 14:54:36.908685 Wrote request (93 bytes) input to log/1/server.input 14:54:36.908699 Identifying ourselves as friends 14:54:36.908761 Response sent (56 bytes) and written to log/1/server.response 14:54:36.908771 special request received, no persistency 14:54:36.908779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 46570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 1565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:44029/1 === End of file stderr1565 === Start of file valgrind1565 ==162070== ==162070== Process terminating with default action of signal 4 (SIGILL) ==162070== Illegal opcode at address 0x519C257 ==162070== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==162070== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==162070== by 0x519C257: Curl_multi_handle (multi.c:236) ==162070== by 0x40385C6: UnknownInlinedFun (lib1565.c:106) ==162070== by 0x40385C6: test_lib1565.lto_priv.0 (lib1565.c:88) ==162070== by 0x400347F: main (first.c:281) ==162070== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==162070== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162070== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==162070== by 0x40385C6: UnknownInlinedFun (lib1565.c:106) ==162070== by 0x40385C6: test_lib1565.lto_priv.0 (lib1565.c:88) ==162070== by 0x400347F: main (first.c:281) ==162070== === End of file valgrind1565 test 1568...[HTTP with Digest authorization on custom CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37587 > log/2/stdout1568 2> log/2/stderr1568 1568: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37587 > log/2/stdout1568 2> log/2/stderr1568 === End of file commands.log === Start of file http_server.log 14:54:36.939189 ====> Client connect 14:54:36.939213 accept_connection 3 returned 4 14:54:36.939226 accept_connection 3 returned 0 14:54:36.939239 Read 93 bytes 14:54:36.939248 Process 93 bytes request 14:54:36.939260 Got request: GET /verifiedserver HTTP/1.1 14:54:36.939268 Are-we-friendly question received 14:54:36.939287 Wrote request (93 bytes) input to log/2/server.input 14:54:36.939301 Identifying ourselves as friends 14:54:36.939349 Response sent (56 bytes) and written to log/2/server.response 14:54:36.939358 special request received, no persistency 14:54:36.939367 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1568 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==162244== ==162244== Process terminating with default action of signal 4 (SIGILL) ==162244== Illegal opcode at address 0x51D42F3 ==162244== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162244== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162244== by 0x51D42F3: Curl_open (url.c:551) ==162244== by 0x514CA2F: curl_easy_init (easy.c:372) ==162244== by 0x4039AFE: test_lib1568.lto_priv.0 (lib1568.c:34) ==162244== by 0x400347F: main (first.c:281) ==162244== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162244== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162244== by 0x51D4243: Curl_open (url.c:530) ==162244== by 0x514CA2F: curl_easy_init (easy.c:372) ==162244== by 0x4039AFE: test_lib1568.lto_priv.0 (lib1568.c:34) ==162244== by 0x400347F: main (first.c:281) ==162244== === End of file valgrind1568 test 1571...[CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34345/1571 > log/9/stdout1571 2> log/9/stderr1571 1571: protocolCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39793/1574 > log/4/stdout1574 2> log/4/stderr1574 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34475/1572 > log/16/stdout1572 2> log/16/stderr1572 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46043/1575 > log/14/stdout1575 2> log/14/stderr1575 FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1571 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34345/1571 > log/9/stdout1571 2> log/9/stderr1571 === End of file commands.log === Start of file http_server.log 14:54:36.952557 ====> Client connect 14:54:36.952589 accept_connection 3 returned 4 14:54:36.952606 accept_connection 3 returned 0 14:54:36.952729 Read 93 bytes 14:54:36.952741 Process 93 bytes request 14:54:36.952756 Got request: GET /verifiedserver HTTP/1.1 14:54:36.952767 Are-we-friendly question received 14:54:36.952792 Wrote request (93 bytes) input to log/9/server.input 14:54:36.952809 Identifying ourselves as friends 14:54:36.952865 Response sent (56 bytes) and written to log/9/server.response 14:54:36.952877 special request received, no persistency 14:54:36.952887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 40952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1571 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr1571 URL: http://127.0.0.1:34345/1571 === End of file stderr1571 === Start of file valgrind1571 ==162334== ==162334== Process terminating with default action of signal 4 (SIGILL) ==162334== Illegal opcode at address 0x51D42F3 ==162334== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162334== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162334== by 0x51D42F3: Curl_open (url.c:551) ==162334== by 0x514CA2F: curl_easy_init (easy.c:372) ==162334== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162334== by 0x400347F: main (first.c:281) ==162334== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162334== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162334== by 0x51D4243: Curl_open (url.c:530) ==162334== by 0x514CA2F: curl_easy_init (easy.c:372) ==162334== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162334== by 0x400347F: main (first.c:281) ==162334== === End of file valgrind1571 test 1574...[CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39793/1574 > log/4/stdout1574 2> log/4/stderr1574 1574: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1574 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39793/1574 > log/4/stdout1574 2> log/4/stderr1574 === End of file commands.log === Start of file http_server.log 14:54:36.973044 ====> Client connect 14:54:36.973083 accept_connection 3 returned 4 14:54:36.973101 accept_connection 3 returned 0 14:54:36.973117 Read 93 bytes 14:54:36.973128 Process 93 bytes request 14:54:36.973144 Got request: GET /verifiedserver HTTP/1.1 14:54:36.973155 Are-we-friendly question received 14:54:36.973180 Wrote request (93 bytes) input to log/4/server.input 14:54:36.973197 Identifying ourselves as friends 14:54:36.973254 Response sent (56 bytes) and written to log/4/server.response 14:54:36.973265 special request received, no persistency 14:54:36.973275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 42650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1574 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr1574 URL: http://127.0.0.1:39793/1574 === End of file stderr1574 === Start of file valgrind1574 ==162484== ==162484== Process terminating with default action of signal 4 (SIGILL) ==162484== Illegal opcode at address 0x51D42F3 ==162484== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162484== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162484== by 0x51D42F3: Curl_open (url.c:551) ==162484== by 0x514CA2F: curl_easy_init (easy.c:372) ==162484== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162484== by 0x400347F: main (first.c:281) ==162484== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162484== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162484== by 0x51D4243: Curl_open (url.c:530) ==162484== by 0x514CA2F: curl_easy_init (easy.c:372) ==162484== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162484== by 0x400347F: main (first.c:281) ==162484== === End of file valgrind1574 test 1572...[CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34475/1572 > log/16/stdout1572 2> log/16/stderr1572 1572: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34475/1572 > log/16/stdout1572 2> log/16/stderr1572 === End of file commands.log === Start of file http_server.log 14:54:36.957666 ====> Client connect 14:54:36.957697 accept_connection 3 returned 4 14:54:36.957714 accept_connection 3 returned 0 14:54:36.957728 Read 93 bytes 14:54:36.957740 Process 93 bytes request 14:54:36.957753 Got request: GET /verifiedserver HTTP/1.1 14:54:36.957764 Are-we-friendly question received 14:54:36.957791 Wrote request (93 bytes) input to log/16/server.input 14:54:36.957809 Identifying ourselves as friends 14:54:36.957868 Response sent (56 bytes) and written to log/16/server.response 14:54:36.957881 special request received, no persistency 14:54:36.957891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/7/stdout1592 2> log/7/stderr1592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35893/1579 1579 > log/10/stdout1579 2> log/10/stderr1579 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1572 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr1572 URL: http://127.0.0.1:34475/1572 === End of file stderr1572 === Start of file valgrind1572 ==162368== ==162368== Process terminating with default action of signal 4 (SIGILL) ==162368== Illegal opcode at address 0x51D42F3 ==162368== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162368== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162368== by 0x51D42F3: Curl_open (url.c:551) ==162368== by 0x514CA2F: curl_easy_init (easy.c:372) ==162368== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162368== by 0x400347F: main (first.c:281) ==162368== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162368== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162368== by 0x51D4243: Curl_open (url.c:530) ==162368== by 0x514CA2F: curl_easy_init (easy.c:372) ==162368== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162368== by 0x400347F: main (first.c:281) ==162368== === End of file valgrind1572 test 1575...[CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46043/1575 > log/14/stdout1575 2> log/14/stderr1575 1575: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1575 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46043/1575 > log/14/stdout1575 2> log/14/stderr1575 === End of file commands.log === Start of file http_server.log 14:54:36.986912 ====> Client connect 14:54:36.986943 accept_connection 3 returned 4 14:54:36.986961 accept_connection 3 returned 0 14:54:36.986977 Read 93 bytes 14:54:36.986989 Process 93 bytes request 14:54:36.987006 Got request: GET /verifiedserver HTTP/1.1 14:54:36.987016 Are-we-friendly question received 14:54:36.987042 Wrote request (93 bytes) input to log/14/server.input 14:54:36.987061 Identifying ourselves as friends 14:54:36.987116 Response sent (56 bytes) and written to log/14/server.response 14:54:36.987127 special request received, no persistency 14:54:36.987139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 51724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1575 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr1575 URL: http://127.0.0.1:46043/1575 === End of file stderr1575 === Start of file valgrind1575 ==162515== ==162515== Process terminating with default action of signal 4 (SIGILL) ==162515== Illegal opcode at address 0x51D42F3 ==162515== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162515== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162515== by 0x51D42F3: Curl_open (url.c:551) ==162515== by 0x514CA2F: curl_easy_init (easy.c:372) ==162515== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162515== by 0x400347F: main (first.c:281) ==162515== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162515== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162515== by 0x51D4243: Curl_open (url.c:530) ==162515== by 0x514CA2F: curl_easy_init (easy.c:372) ==162515== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==162515== by 0x400347F: main (first.c:281) ==162515== === End of file valgrind1575 test 1592...[HTTP request, remove handle while resolving, don't block] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/7/stdout1592 2> log/7/stderr1592 libtests returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/7/ dir after test 1592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/7/stdout1592 2> log/7/stderr1592 === End of file commands.log === Start of file server.cmd Testnum 1592 === End of file server.cmd === Start of file stderr1592 URL: http://a-site-never-accessed.example.org/1592 === End of file stderr1592 === Start of file valgrind1592 ==163025== ==163025== Process terminating with default action of signal 4 (SIGILL) ==163025== Illegal opcode at address 0x519C257 ==163025== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==163025== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==163025== by 0x519C257: Curl_multi_handle (multi.c:236) ==163025== by 0x4037F3B: UnknownInlinedFun (lib1592.c:52) ==163025== by 0x4037F3B: test_lib1592.lto_priv.0 (lib1592.c:41) ==163025== by 0x400347F: main (first.c:281) ==163025== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==163025== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163025== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==163025== by 0x4037F3B: UnknownInlinedFun (lib1592.c:52) ==163025== by 0x4037F3B: test_lib1592.lto_priv.0 (lib1592.c:41) ==163025== by 0x400347F: main (first.c:281) ==163025== === End of file valgrind1592 test 1579...[CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35893/1579 1579 > log/10/stdout1579 2> log/10/stderr1579 1579: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1579 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35893/1579 1579 > log/10/stdout1579 2> log/10/stderr1579 === End of file commands.log === Start of file http_server.log 14:54:37.147510 ====> Client connect 14:54:37.147541 accept_connection 3 returned 4 14:54:37.147556 accept_connection 3 returned 0 14:54:37.147568 Read 93 bytes 14:54:37.147577 Process 93 bytes request 14:54:37.147588 Got request: GET /verifiedserver HTTP/1.1 14:54:37.147596 Are-we-friendly question received 14:54:37.147613 Wrote request (93 bytes) input to log/10/server.input 14:54:37.147626 Identifying ourselves as friends 14:54:37.147666 Response sent (56 bytes) and written to log/10/server.response 14:54:37.147675 speciCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:38851/1581 > log/23/stdout1581 2> log/23/stderr1581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41533/1593 > log/13/stdout1593 2> log/13/stderr1593 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34449/bzz/1591 log/24/stdout1591 2> log/24/stderr1591 al request received, no persistency 14:54:37.147683 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr1579 URL: http://127.0.0.1:35893/1579 === End of file stderr1579 === Start of file valgrind1579 ==162957== ==162957== Process terminating with default action of signal 4 (SIGILL) ==162957== Illegal opcode at address 0x51D42F3 ==162957== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==162957== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==162957== by 0x51D42F3: Curl_open (url.c:551) ==162957== by 0x514CA2F: curl_easy_init (easy.c:372) ==162957== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162957== by 0x400347F: main (first.c:281) ==162957== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==162957== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162957== by 0x51D4243: Curl_open (url.c:530) ==162957== by 0x514CA2F: curl_easy_init (easy.c:372) ==162957== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==162957== by 0x400347F: main (first.c:281) ==162957== === End of file valgrind1579 test 1593...[HTTP custom header overrides CURLOPT_TIMECONDITION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41533/1593 > log/13/stdout1593 2> log/13/stderr1593 1593: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 1593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41533/1593 > log/13/stdout1593 2> log/13/stderr1593 === End of file commands.log === Start of file http_server.log 14:54:37.207970 ====> Client connect 14:54:37.208005 accept_connection 3 returned 4 14:54:37.208022 accept_connection 3 returned 0 14:54:37.208037 Read 93 bytes 14:54:37.208048 Process 93 bytes request 14:54:37.208062 Got request: GET /verifiedserver HTTP/1.1 14:54:37.208073 Are-we-friendly question received 14:54:37.208100 Wrote request (93 bytes) input to log/13/server.input 14:54:37.208117 Identifying ourselves as friends 14:54:37.208169 Response sent (56 bytes) and written to log/13/server.response 14:54:37.208181 special request received, no persistency 14:54:37.208191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 35184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 1593 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:41533/1593 === End of file stderr1593 === Start of file valgrind1593 ==163128== ==163128== Process terminating with default action of signal 4 (SIGILL) ==163128== Illegal opcode at address 0x51D42F3 ==163128== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163128== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163128== by 0x51D42F3: Curl_open (url.c:551) ==163128== by 0x514CA2F: curl_easy_init (easy.c:372) ==163128== by 0x403D139: UnknownInlinedFun (lib1593.c:40) ==163128== by 0x403D139: test_lib1593.lto_priv.0 (lib1593.c:31) ==163128== by 0x400347F: main (first.c:281) ==163128== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163128== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163128== by 0x51D4243: Curl_open (url.c:530) ==163128== by 0x514CA2F: curl_easy_init (easy.c:372) ==163128== by 0x403D139: UnknownInlinedFun (lib1593.c:40) ==163128== by 0x403D139: test_lib1593.lto_priv.0 (lib1593.c:31) ==163128== by 0x400347F: main (first.c:281) ==163128== === End of file valgrind1593 test 1581...[CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:38851/1581 > log/23/stdout1581 2> log/23/stderr1581 1581: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:38851/1581 > log/23/stdout1581 2> log/23/stderr1581 === End of file commands.log === Start of file http_server.log 14:54:37.174388 ====> Client connect 14:54:37.174421 accept_connection 3 returned 4 14:54:37.174438 accept_connection 3 returned 0 14:54:37.174567 Read 93 bytes 14:54:37.174589 Process 93 bytes request 14:54:37.174607 Got request: GET /verifiedserver HTTP/1.1 14:54:37.174619 Are-we-friendly question received 14:54:37.174651 Wrote request (93 bytes) input to log/23/server.input 14:54:37.174671 Identifying ourselves as friends 14:54:37.174741 Response sent (56 bytes) and written to log/23/server.response 14:54:37.174754 special request received, no persistency 14:54:37.174765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 58972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file stderr1581 URL: http://127.0.0.1:38851/1581 === End of file stderr1581 === Start of file valgrind1581 ==163011== ==163011== Process terminating with default action of signal 4 (SIGILL) ==163011== Illegal opcode at address 0x51D42F3 ==163011== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163011== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163011== by 0x51D42F3: Curl_open (url.c:551) ==163011== by 0x514CA2F: curl_easy_init (easy.c:372) ==163011== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==163011CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1590 ./libtest/libtests lib1553 imap://localhost:40003/1590 > log/12/stdout1590 2> log/12/stderr1590 == by 0x400347F: main (first.c:281) ==163011== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163011== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163011== by 0x51D4243: Curl_open (url.c:530) ==163011== by 0x514CA2F: curl_easy_init (easy.c:372) ==163011== by 0x403924A: test_lib1571.lto_priv.0 (lib1571.c:38) ==163011== by 0x400347F: main (first.c:281) ==163011== === End of file valgrind1581 test 1591...[HTTP PUT with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34449/bzz/1591 log/24/stdout1591 2> log/24/stderr1591 1591: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34449/bzz/1591 log/24/stdout1591 2> log/24/stderr1591 === End of file commands.log === Start of file http_server.log 14:54:37.198585 ====> Client connect 14:54:37.198629 accept_connection 3 returned 4 14:54:37.198647 accept_connection 3 returned 0 14:54:37.198665 Read 93 bytes 14:54:37.198676 Process 93 bytes request 14:54:37.198691 Got request: GET /verifiedserver HTTP/1.1 14:54:37.198702 Are-we-friendly question received 14:54:37.198729 Wrote request (93 bytes) input to log/24/server.input 14:54:37.198747 Identifying ourselves as friends 14:54:37.198824 Response sent (56 bytes) and written to log/24/server.response 14:54:37.198835 special request received, no persistency 14:54:37.198845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1591 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:34449/bzz/1591 === End of file stderr1591 === Start of file stdin-for-1591 more than one byte === End of file stdin-for-1591 === Start of file valgrind1591 ==163092== ==163092== Process terminating with default action of signal 4 (SIGILL) ==163092== Illegal opcode at address 0x51D42F3 ==163092== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163092== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163092== by 0x51D42F3: Curl_open (url.c:551) ==163092== by 0x514CA2F: curl_easy_init (easy.c:372) ==163092== by 0x403A40C: test_lib1591.lto_priv.0 (lib1591.c:89) ==163092== by 0x400347F: main (first.c:281) ==163092== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163092== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163092== by 0x51D4243: Curl_open (url.c:530) ==163092== by 0x514CA2F: curl_easy_init (easy.c:372) ==163092== by 0x403A40C: test_lib1591.lto_priv.0 (lib1591.c:89) ==163092== by 0x400347F: main (first.c:281) ==163092== === End of file valgrind1591 test 1590...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1590 ./libtest/libtests lib1553 imap://localhost:40003/1590 > log/12/stdout1590 2> log/12/stderr1590 libtests returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/12/ dir after test 1590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1590 ./libtest/libtests lib1553 imap://localhost:40003/1590 > log/12/stdout1590 2> log/12/stderr1590 === End of file commands.log === Start of file imap_server.log 14:54:37.104664 ====> Client connect 14:54:37.104807 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:37.105520 < "A001 CAPABILITY" 14:54:37.105568 > "A001 BAD Command[CR][LF]" 14:54:37.105752 < "A002 LIST "verifiedserver" *" 14:54:37.105781 LIST_imap got "verifiedserver" * 14:54:37.105807 > "* LIST () "/" "WE ROOLZ: 117371"[CR][LF]" 14:54:37.105827 > "A002 OK LIST Completed[CR][LF]" 14:54:37.105842 return proof we are we 14:54:37.147337 < "A003 LOGOUT" 14:54:37.147394 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:37.147413 > "A003 OK LOGOUT completed[CR][LF]" 14:54:37.147747 MAIN sockfilt said DISC 14:54:37.147803 ====> Client disconnected 14:54:37.147877 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:37.187372 ====> Client connect 14:54:37.187817 Received DATA (on stdin) 14:54:37.187848 > 178 bytes data, server => client 14:54:37.187862 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:37.187874 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:37.187886 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:37.187896 'rve\r\n' 14:54:37.188164 < 17 bytes data, client => server 14:54:37.188181 'A001 CAPABILITY\r\n' 14:54:37.188384 Received DATA (on stdin) 14:54:37.188397 > 18 bytes data, server => client 14:54:37.188409 'A001 BAD Command\r\n' 14:54:37.188469 < 30 bytes data, client => server 14:54:37.188484 'A002 LIST "verifiedserver" *\r\n' 14:54:37.188653 Received DATA (on stdin) 14:54:37.188667 > 34 bytes data, server => client 14:54:37.188679 '* LIST () "/" "WE ROOLZ: 117371"\r\n' 14:54:37.188702 Received DATA (on stdin) 14:54:37.188715 > 24 bytes data, server => client 14:54:37.188727 'A002 OK LIST Completed\r\n' 14:54:37.229945 < 13 bytes data, client => server 14:54:37.229975 'A003 LOGOUT\r\n' 14:54:37.230225 Received DATA (on stdin) 14:54:37.230237 > 36 bytes data, server => client 14:54:37.230249 '* BYE curl IMAP server signing off\r\n' 14:54:37.230271 Received DATA (on stdin) 14:54:37.230282 > 26 bytes data, server => client 14:54:37.230293 'A003 OK LOGOUT completed\r\n' 14:54:37.230479 ====> Client disconnect 14:54:37.230691 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1590 === End of file server.cmd === Start of file stderr1590 URL: imap://localhost:40003/1590 === End of file stderr1590 === Start of file valgrind1590 ==163229== ==163229== Process terminating with default action of signal 4 (SIGILL) ==163229== Illegal opcode at address 0x519C257 ==163229== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==163229== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==163229== by 0x519C257: Curl_multi_handle (multi.c:236) ==163229== by 0x4034284: UnknownInlinedFun (lib1553.c:57) ==163229== by 0x4034284: test_lib1553.lto_priv.0 (lib1553.c:42) ==163229== by 0x400347F: main (first.c:281) ==163229== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==163229== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163229== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==163229== by 0x4034284: UnknownInlinedFun (lib1553.c:57) ==163229== by 0x4034284: test_libCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46275/1594 > log/18/stdout1594 2> log/18/stderr1594 1553.lto_priv.0 (lib1553.c:42) ==163229== by 0x400347F: main (first.c:281) ==163229== === End of file valgrind1590 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1602 ./unit/units unit1602 - > log/11/stdout1602 2> log/11/stderr1602 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1603 ./unit/units unit1603 - > log/3/stdout1603 2> log/3/stderr1603 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1604 ./tunit/tunits tool1604 - > log/15/stdout1604 2> log/15/stderr1604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:39569/1595 > log/20/stdout1595 2> log/20/stderr1595 test 1594...[HTTP Retry-After header parsing and extraction] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46275/1594 > log/18/stdout1594 2> log/18/stderr1594 1594: stdout FAILED: --- log/18/check-expected 2025-09-11 14:54:38.462198296 +0000 +++ log/18/check-generated 2025-09-11 14:54:38.462198296 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/18/ dir after test 1594 === Start of file check-expected Retry-After 22[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46275/1594 > log/18/stdout1594 2> log/18/stderr1594 === End of file commands.log === Start of file http_server.log 14:54:37.515705 ====> Client connect 14:54:37.515738 accept_connection 3 returned 4 14:54:37.515756 accept_connection 3 returned 0 14:54:37.515772 Read 93 bytes 14:54:37.515783 Process 93 bytes request 14:54:37.515796 Got request: GET /verifiedserver HTTP/1.1 14:54:37.515807 Are-we-friendly question received 14:54:37.515831 Wrote request (93 bytes) input to log/18/server.input 14:54:37.515849 Identifying ourselves as friends 14:54:37.515903 Response sent (57 bytes) and written to log/18/server.response 14:54:37.515915 special request received, no persistency 14:54:37.515925 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 1594 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:46275/1594 === End of file stderr1594 === Start of file valgrind1594 ==163331== ==163331== Process terminating with default action of signal 4 (SIGILL) ==163331== Illegal opcode at address 0x51D42F3 ==163331== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163331== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163331== by 0x51D42F3: Curl_open (url.c:551) ==163331== by 0x514CA2F: curl_easy_init (easy.c:372) ==163331== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163331== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163331== by 0x400347F: main (first.c:281) ==163331== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163331== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163331== by 0x51D4243: Curl_open (url.c:530) ==163331== by 0x514CA2F: curl_easy_init (easy.c:372) ==163331== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163331== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163331== by 0x400347F: main (first.c:281) ==163331== === End of file valgrind1594 test 1602...[Internal hash create/add/destroy testing, exercising clean functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1602 ./unit/units unit1602 - > log/11/stdout1602 2> log/11/stderr1602 -------e-v- OK (1506 out of 1725, remaining: 00:15, took 0.619s, duration: 01:47) test 1603...[Internal hash add, retrieval, deletion testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1603 ./unit/units unit1603 - > log/3/stdout1603 2> log/3/stderr1603 -------e-v- OK (1507 out of 1725, remaining: 00:15, took 0.617s, duration: 01:47) test 1604...[Test Windows/MS-DOS filename sanitization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1604 ./tunit/tunits tool1604 - > log/15/stdout1604 2> log/15/stderr1604 -------e-v- OK (1508 out of 1725, remaining: 00:15, took 0.612s, duration: 01:47) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1601 ./unit/units unit1601 - > log/17/stdout1601 2> log/17/stderr1601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37085/1596 > log/8/stdout1596 2> log/8/stderr1596 test 1595...[HTTP Retry-After header extraction (without header)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:39569/1595 > log/20/stdout1595 2> log/20/stderr1595 1595: stdout FAILED: --- log/20/check-expected 2025-09-11 14:54:38.578864965 +0000 +++ log/20/check-generated 2025-09-11 14:54:38.578864965 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/20/ dir after test 1595 === Start of file check-expected Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:39569/1595 > log/20/stdout1595 2> log/20/stderr1595 === End of file commands.log === Start of file http_server.log 14:54:37.616418 ====> Client connect 14:54:37.616459 accept_connection 3 returned 4 14:54:37.616479 accept_connection 3 returned 0 14:54:37.616497 Read 93 bytes 14:54:37.616509 Process 93 bytes request 14:54:37.616525 Got request: GET /verifiedserver HTTP/1.1 14:54:37.616536 Are-we-friendly question received 14:54:37.616565 Wrote request (93 bytes) input to log/20/server.input 14:54:37.616587 Identifying ourselves as friends 14:54:37.616647 Response sent (56 bytes) and written to log/20/server.response 14:54:37.616659 special request received, no persistency 14:54:37.616670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1595 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:39569/1595 === End of file stderr1595 === Start of file valgrind1595 ==163407== ==163407== Process terminating with default action of signal 4 (SIGILL) ==163407== Illegal opcode at address 0x51D42F3 ==163407== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163407== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163407== by 0x51D42F3: Curl_open (url.c:551) ==163407== by 0x514CA2F: curl_easy_init (easy.c:372) ==163407== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163407== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163407== by 0x400347F: main (first.c:281) ==163407== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163407== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163407== by 0x51D4243: Curl_open (url.c:530) ==163407== by 0x514CA2F: curl_easy_init (easy.c:372) ==163407== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163407== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163407== by 0x400347F: main (first.c:281) ==163407== === End of file valgrind1595 test 1601...[MD5 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1601 ./unit/units unit1601 - > log/17/stdout1601 2> log/17/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/17/ dir after test 1601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1601 ./unit/units unit1601 - > log/17/stdout1601 2> log/17/stderr1601 === End of file commands.log === Start of file server.cmd Testnum 1601 === End of file server.cmd === Start of file stderr1601 URL: - === End of file stderr1601 === Start of file valgrind1601 ==163600== ==163600== Process terminating with default action of signal 4 (SIGILL) ==163600== Illegal opcode at address 0x400FB48 ==163600== at 0x400FB48: test_unit1601.lto_priv.0 (unit1601.c:42) ==163600== by 0x400A18F: main (first.c:281) === End of file valgrind1601 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1614 ./unit/units unit1614 - > log/24/stdout1614 2> log/24/stderr1614 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1616 ./unit/units unit1616 - > log/13/stdout1616 2> log/13/stderr1616 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/stderr1612 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1600 ./unit/units unit1600 - > log/6/stdout1600 2> log/6/stderr1600 test 1596...[HTTP Retry-After header parsing using a date] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37085/1596 > log/8/stdout1596 2> log/8/stderr1596 1596: stdout FAILED: --- log/8/check-expected 2025-09-11 14:54:38.635531633 +0000 +++ log/8/check-generated 2025-09-11 14:54:38.635531633 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/8/ dir after test 1596 === Start of file check-expected Retry-After 21600[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37085/1596 > log/8/stdout1596 2> log/8/stderr1596 === End of file commands.log === Start of file http_server.log 14:54:36.768464 ====> Client connect 14:54:36.768501 accept_connection 3 returned 4 14:54:36.768520 accept_connection 3 returned 0 14:54:36.768537 Read 93 bytes 14:54:36.768548 Process 93 bytes request 14:54:36.768563 Got request: GET /verifiedserver HTTP/1.1 14:54:36.768574 Are-we-friendly question received 14:54:36.768603 Wrote request (93 bytes) input to log/8/server.input 14:54:36.768622 Identifying ourselves as friends 14:54:36.768683 Response sent (56 bytes) and written to log/8/server.response 14:54:36.768695 special request received, no persistency 14:54:36.768705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 37430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 1596 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:37085/1596 === End of file stderr1596 === Start of file valgrind1596 ==163491== ==163491== Process terminating with default action of signal 4 (SIGILL) ==163491== Illegal opcode at address 0x51D42F3 ==163491== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163491== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163491== by 0x51D42F3: Curl_open (url.c:551) ==163491== by 0x514CA2F: curl_easy_init (easy.c:372) ==163491== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163491== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163491== by 0x400347F: main (first.c:281) ==163491== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163491== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163491== by 0x51D4243: Curl_open (url.c:530) ==163491== by 0x514CA2F: curl_easy_init (easy.c:372) ==163491== by 0x403D519: UnknownInlinedFun (lib1594.c:40) ==163491== by 0x403D519: test_lib1594.lto_priv.0 (lib1594.c:31) ==163491== by 0x400347F: main (first.c:281) ==163491== === End of file valgrind1596 test 1614...[noproxy and cidr comparisons] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1614 ./unit/units unit1614 - > log/24/stdout1614 2> log/24/stderr1614 -------e-v- OK (1518 out of 1725, remaining: 00:14, took 0.616s, duration: 01:47) test 1616...[Internal uint_hash create/add/destroy testing, exercising clean functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1616 ./unit/units unit1616 - > log/13/stdout1616 2> log/13/stderr1616 -------e-v- OK (1520 out of 1725, remaining: 00:14, took 0.614s, duration: 01:47) test 1611...[MD4 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/7/ dir after test 1611 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 === End of file commands.log === Start of file server.cmd Testnum 1611 === End of file server.cmd === Start of file stderr1611 URL: - === End of file stderr1611 === Start of file valgrind1611 ==164070== ==164070== Process terminating with default action of signal 4 (SIGILL) ==164070== Illegal opcode at address 0x40541EA ==164070== at 0x40541EA: UnknownInlinedFun (md4.c:493) ==164070== by 0x40541EA: Curl_md4it (md4.c:528) ==164070== by 0x4013439: test_unit1611.lto_priv.0 (unit1611.c:38) ==164070== by 0x400A18F: main (first.c:281) === End of file valgrind1611 test 1612...[HMAC unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/10/ dir after test 1612 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/stderr1612 === End of file commands.log === Start of file server.cmd Testnum 1612 === End of file server.cmd === Start of file stderr1612 URL: - === End of file stderr1612 === Start of file valgrind1612 ==164107== ==164107== Process terminating with default action of signal 4 (SIGILL) ==164107== Illegal opcode at address 0x40136D6 ==164107== at 0x40136D6: test_unit1612.lto_priv.0 (unit1612.c:47) ==164107== by 0x400A18F: main (first.c:281) === End of file valgrind1612 test 1600...[NTLM unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1600 ./unit/units unit1600 - > log/6/stdout1600 2> log/6/stderr1600 units returned 132, when expecting 0 1600: exit FAILED == Contents of files in the log/6/ dir after test 1600 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1600 ./unit/units unit1600 - > log/6/stdout1600 2> log/6/stderr1600 === End of file commands.log === Start of file server.cmd Testnum 1600 === End of file server.cmd === Start of file stderr1600 URL: - === End of file stderr1600 === Start of file valgrind1600 ==163576== ==163576== Process terminating with default action of signal 4 (SIGILL) ==163576== Illegal opcode at address 0x407BE33 ==163576== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163576== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163576== by 0x407BE33: Curl_open (url.c:551) ==163576== by 0x403D9A5: curl_easy_init (easy.c:372) ==163576== by 0x400F6EB: UnknownInlinedFun (unit1600.c:34) ==163576== by 0x400F6EB: test_unit1600.lto_priv.0 (unit1600.c:52) ==163576== by 0x400A18F: main (first.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1597 ./libtest/libtests lib1597 - > log/21/stdout1597 2> log/21/stderr1597 c:281) ==163576== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163576== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163576== by 0x407BD83: Curl_open (url.c:530) ==163576== by 0x403D9A5: curl_easy_init (easy.c:372) ==163576== by 0x400F6EB: UnknownInlinedFun (unit1600.c:34) ==163576== by 0x400F6EB: test_unit1600.lto_priv.0 (unit1600.c:52) ==163576== by 0x400A18F: main (first.c:281) ==163576== === End of file valgrind1600 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1608 ./unit/units unit1608 - > log/16/stdout1608 2> log/16/stderr1608 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:42027/bzz/1598 log/22/stdout1598 2> log/22/stderr1598 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 test 1597...[CURLOPT_PROTOCOLS_STR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1597 ./libtest/libtests lib1597 - > log/21/stdout1597 2> log/21/stderr1597 1597: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:38.842198302 +0000 +++ log/21/check-generated 2025-09-11 14:54:38.842198302 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/21/ dir after test 1597 === Start of file check-expected Tested 15 strings[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1597 ./libtest/libtests lib1597 - > log/21/stdout1597 2> log/21/stderr1597 === End of file commands.log === Start of file server.cmd Testnum 1597 === End of file server.cmd === Start of file stderr1597 URL: - === End of file stderr1597 === Start of file valgrind1597 ==163548== ==163548== Process terminating with default action of signal 4 (SIGILL) ==163548== Illegal opcode at address 0x51D42F3 ==163548== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163548== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163548== by 0x51D42F3: Curl_open (url.c:551) ==163548== by 0x514CA2F: curl_easy_init (easy.c:372) ==163548== by 0x403E24D: UnknownInlinedFun (lib1597.c:73) ==163548== by 0x403E24D: test_lib1597.lto_priv.0 (lib1597.c:36) ==163548== by 0x400347F: main (first.c:281) ==163548== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163548== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163548== by 0x51D4243: Curl_open (url.c:530) ==163548== by 0x514CA2F: curl_easy_init (easy.c:372) ==163548== by 0x403E24D: UnknownInlinedFun (lib1597.c:73) ==163548== by 0x403E24D: test_lib1597.lto_priv.0 (lib1597.c:36) ==163548== by 0x400347F: main (first.c:281) ==163548== === End of file valgrind1597 test 1608...[verify DNS shuffling] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1608 ./unit/units unit1608 - > log/16/stdout1608 2> log/16/stderr1608 units returned 132, when expecting 0 1608: exit FAILED == Contents of files in the log/16/ dir after test 1608 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1608 ./unit/units unit1608 - > log/16/stdout1608 2> log/16/stderr1608 === End of file commands.log === Start of file server.cmd Testnum 1608 === End of file server.cmd === Start of file stderr1608 URL: - === End of file stderr1608 === Start of file valgrind1608 ==163812== ==163812== Process terminating with default action of signal 4 (SIGILL) ==163812== Illegal opcode at address 0x407BE33 ==163812== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163812== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163812== by 0x407BE33: Curl_open (url.c:551) ==163812== by 0x403D9A5: curl_easy_init (easy.c:372) ==163812== by 0x4012F1F: test_unit1608.lto_priv.0 (unit1608.c:53) ==163812== by 0x400A18F: main (first.c:281) ==163812== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163812== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163812== by 0x407BD83: Curl_open (url.c:530) ==163812== by 0x403D9A5: curl_easy_init (easy.c:372) ==163812== by 0x4012F1F: test_unit1608.lto_priv.0 (unit1608.c:53) ==163812== by 0x400A18F: main (first.c:281) ==163812== === End of file valgrind1608 test 1598...[HTTP POST with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:42027/bzz/1598 log/22/stdout1598 2> log/22/stderr1598 1598: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 1598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:42027/bzz/1598 log/22/stdout1598 2> log/22/stderr1598 === End of file commands.log === Start of file http_server.log 14:54:37.954985 ====> Client connect 14:54:37.955044 accept_connection 3 returned 4 14:54:37.955062 accept_connection 3 returned 0 14:54:37.955078 Read 93 bytes 14:54:37.955089 Process 93 bytes request 14:54:37.955104 Got request: GET /verifiedserver HTTP/1.1 14:54:37.955114 Are-we-friendly question received 14:54:37.955140 Wrote request (93 bytes) input to log/22/server.input 14:54:37.955158 Identifying ourselves as friends 14:54:37.955217 Response sent (56 bytes) and written to log/22/server.response 14:54:37.955228 special request received, no persistency 14:54:37.955239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 38632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 1598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:42027/bzz/1598 === End of file stderr1598 === Start of file stdin-for-1598 more than one byte === End of file stdin-for-1598 === Start of file valgrind1598 ==163622== ==163622== Process terminating with default action of signal 4 (SIGILL) ==163622== Illegal opcode at address 0x51D42F3 ==163622== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==163622== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==163622== by 0x51D42F3: Curl_open (url.c:551) ==163622== by 0x514CA2F: curl_easy_init (easy.c:372) ==163622== by 0x403A630: test_lib1598.lto_priv.0 (lib1598.c:69) ==163622== by 0x400347F: main (first.c:281) ==163622== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163622== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163622== by 0x51D4243: Curl_open (url.c:530) ==163622== by 0x514CA2F: curl_easy_init (easy.c:372) ==163622== by 0x403A630: test_lib1598.lto_priv.0 (lib1598.c:69) ==163622== by 0x400347F: main (first.c:281) ==163622== === End of file valgrind1598 test 1610...[SHA256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/4/ dir after test 1610 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 === End of file commands.log === Start of file server.cmd Testnum 1610 === End of file server.cmd === Start of file stderr1610 URL: - === End of file stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1607 ./unit/units unit1607 - > log/9/stdout1607 2> log/9/stderr1607 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1605 ./unit/units unit1605 - > log/1/stdout1605 2> log/1/stderr1605 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1609 ./unit/units unit1609 - > log/14/stdout1609 2> log/14/stderr1609 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1606 ./unit/units unit1606 - > log/2/stdout1606 2> log/2/stderr1606 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:45345/1580 1578 > log/5/stdout1580 2> log/5/stderr1580 derr1610 === Start of file valgrind1610 ==163826== ==163826== Process terminating with default action of signal 4 (SIGILL) ==163826== Illegal opcode at address 0x4013121 ==163826== at 0x4013121: UnknownInlinedFun (unit1610.c:49) ==163826== by 0x4013121: test_unit1610.lto_priv.0 (unit1610.c:35) ==163826== by 0x400A18F: main (first.c:281) === End of file valgrind1610 test 1607...[CURLOPT_RESOLVE parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1607 ./unit/units unit1607 - > log/9/stdout1607 2> log/9/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/9/ dir after test 1607 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1607 ./unit/units unit1607 - > log/9/stdout1607 2> log/9/stderr1607 === End of file commands.log === Start of file server.cmd Testnum 1607 === End of file server.cmd === Start of file stderr1607 URL: - === End of file stderr1607 === Start of file valgrind1607 ==163796== ==163796== Process terminating with default action of signal 4 (SIGILL) ==163796== Illegal opcode at address 0x407BE33 ==163796== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163796== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163796== by 0x407BE33: Curl_open (url.c:551) ==163796== by 0x403D9A5: curl_easy_init (easy.c:372) ==163796== by 0x40119B4: UnknownInlinedFun (unit1607.c:117) ==163796== by 0x40119B4: test_unit1607.lto_priv.0 (unit1607.c:39) ==163796== by 0x400A18F: main (first.c:281) ==163796== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163796== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163796== by 0x407BD83: Curl_open (url.c:530) ==163796== by 0x403D9A5: curl_easy_init (easy.c:372) ==163796== by 0x40119B4: UnknownInlinedFun (unit1607.c:117) ==163796== by 0x40119B4: test_unit1607.lto_priv.0 (unit1607.c:39) ==163796== by 0x400A18F: main (first.c:281) ==163796== === End of file valgrind1607 test 1605...[Test negative data lengths as input to libcurl functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1605 ./unit/units unit1605 - > log/1/stdout1605 2> log/1/stderr1605 units returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/1/ dir after test 1605 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1605 ./unit/units unit1605 - > log/1/stdout1605 2> log/1/stderr1605 === End of file commands.log === Start of file server.cmd Testnum 1605 === End of file server.cmd === Start of file stderr1605 URL: - === End of file stderr1605 === Start of file valgrind1605 ==163788== ==163788== Process terminating with default action of signal 4 (SIGILL) ==163788== Illegal opcode at address 0x407BE33 ==163788== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163788== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163788== by 0x407BE33: Curl_open (url.c:551) ==163788== by 0x403D9A5: curl_easy_init (easy.c:372) ==163788== by 0x4011247: UnknownInlinedFun (unit1605.c:33) ==163788== by 0x4011247: test_unit1605.lto_priv.0 (unit1605.c:51) ==163788== by 0x400A18F: main (first.c:281) ==163788== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163788== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163788== by 0x407BD83: Curl_open (url.c:530) ==163788== by 0x403D9A5: curl_easy_init (easy.c:372) ==163788== by 0x4011247: UnknownInlinedFun (unit1605.c:33) ==163788== by 0x4011247: test_unit1605.lto_priv.0 (unit1605.c:51) ==163788== by 0x400A18F: main (first.c:281) ==163788== === End of file valgrind1605 test 1609...[CURLOPT_RESOLVE parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1609 ./unit/units unit1609 - > log/14/stdout1609 2> log/14/stderr1609 units returned 132, when expecting 0 1609: exit FAILED == Contents of files in the log/14/ dir after test 1609 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1609 ./unit/units unit1609 - > log/14/stdout1609 2> log/14/stderr1609 === End of file commands.log === Start of file server.cmd Testnum 1609 === End of file server.cmd === Start of file stderr1609 URL: - === End of file stderr1609 === Start of file valgrind1609 ==163818== ==163818== Process terminating with default action of signal 4 (SIGILL) ==163818== Illegal opcode at address 0x407BE33 ==163818== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163818== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163818== by 0x407BE33: Curl_open (url.c:551) ==163818== by 0x403D9A5: curl_easy_init (easy.c:372) ==163818== by 0x401264A: UnknownInlinedFun (unit1609.c:113) ==163818== by 0x401264A: test_unit1609.lto_priv.0 (unit1609.c:71) ==163818== by 0x400A18F: main (first.c:281) ==163818== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163818== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163818== by 0x407BD83: Curl_open (url.c:530) ==163818== by 0x403D9A5: curl_easy_init (easy.c:372) ==163818== by 0x401264A: UnknownInlinedFun (unit1609.c:113) ==163818== by 0x401264A: test_unit1609.lto_priv.0 (unit1609.c:71) ==163818== by 0x400A18F: main (first.c:281) ==163818== === End of file valgrind1609 test 1606...[verify speedcheck] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1606 ./unit/units unit1606 - > log/2/stdout1606 2> log/2/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/2/ dir after test 1606 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1606 ./unit/units unit1606 - > log/2/stdout1606 2> log/2/stderr1606 === End of file commands.log === Start of file server.cmd Testnum 1606 === End of file server.cmd === Start of file stderr1606 URL: - === End of file stderr1606 === Start of file valgrind1606 ==163789== ==163789== Process terminating with default action of signal 4 (SIGILL) ==163789== Illegal opcode at address 0x407BE33 ==163789== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==163789== by 0x407BE33: UnknownInlinedFun (request.c:46) ==163789== by 0x407BE33: Curl_open (url.c:551) ==163789== by 0x403D9A5: curl_easy_init (easy.c:372) ==163789== by 0x40115EB: UnknownInlinedFun (unit1606.c:34) ==163789== by 0x40115EB: test_unit1606.lto_priv.0 (unit1606.c:83) ==163789== by 0x400A18F: main (first.c:281) ==163789== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==163789== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==163789== by 0x407BD83: Curl_open (url.c:530) ==163789== by 0x403D9A5: curl_easy_init (easy.c:372) ==163789== by 0x40115EB: UnknownInlinedFun (unit1606.c:34) ==163789== by 0x40115EB: test_unit1606.lto_priv.0 (unit1606.c:83) ==163789== by 0x400A18F: main (first.c:281) ==163789== === End of file valgrind1606 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1613 ../src/curl -q --output log/23/curl1613.out --include --trace-ascii log/23/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:38851/ -H "Testno: 1613" http://www.example.org/ > log/23/stdout1613 2> log/23/stderr1613 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1615 ./unit/units unit1615 - > log/12/stdout1615 2> log/12/stderr1615 rver.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 162933 port 45345 * pid http => 162933 162933 test 1580...[CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:45345/1580 1578 > log/5/stdout1580 2> log/5/stderr1580 1580: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:45345/1580 1578 > log/5/stdout1580 2> log/5/stderr1580 === End of file commands.log === Start of file http_server.log 14:54:37.177717 Running HTTP IPv4 version on port 45345 14:54:37.177806 Wrote pid 162933 to log/5/server/http_server.pid 14:54:37.177855 Wrote port 45345 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1580 === End of file server.cmd === Start of file stderr1580 URL: http://127.0.0.1:45345/1580 === End of file stderr1580 === Start of file valgrind1580 ==164041== ==164041== Process terminating with default action of signal 4 (SIGILL) ==164041== Illegal opcode at address 0x51D42F3 ==164041== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==164041== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==164041== by 0x51D42F3: Curl_open (url.c:551) ==164041== by 0x514CA2F: curl_easy_init (easy.c:372) ==164041== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164041== by 0x400347F: main (first.c:281) ==164041== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==164041== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164041== by 0x51D4243: Curl_open (url.c:530) ==164041== by 0x514CA2F: curl_easy_init (easy.c:372) ==164041== by 0x403A14C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164041== by 0x400347F: main (first.c:281) ==164041== === End of file valgrind1580 test 1613...[Send "OPTIONS *" with --request-target to a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1613 ../src/curl -q --output log/23/curl1613.out --include --trace-ascii log/23/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:38851/ -H "Testno: 1613" http://www.example.org/ > log/23/stdout1613 2> log/23/stderr1613 1613: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 1613 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1613 ../src/curl -q --output log/23/curl1613.out --include --trace-ascii log/23/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:38851/ -H "Testno: 1613" http://www.example.org/ > log/23/stdout1613 2> log/23/stderr1613 === End of file commands.log === Start of file http_server.log 14:54:38.251083 ====> Client connect 14:54:38.251119 accept_connection 3 returned 4 14:54:38.251137 accept_connection 3 returned 0 14:54:38.251153 Read 93 bytes 14:54:38.251164 Process 93 bytes request 14:54:38.251179 Got request: GET /verifiedserver HTTP/1.1 14:54:38.251189 Are-we-friendly question received 14:54:38.251213 Wrote request (93 bytes) input to log/23/server.input 14:54:38.251231 Identifying ourselves as friends 14:54:38.251284 Response sent (56 bytes) and written to log/23/server.response 14:54:38.251295 special request received, no persistency 14:54:38.251305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 58988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1613 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1613 ==164251== ==164251== Process terminating with default action of signal 4 (SIGILL) ==164251== Illegal opcode at address 0x4014B6F ==164251== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==164251== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==164251== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==164251== by 0x4004266: main (tool_main.c:199) === End of file valgrind1613 test 1621...[unit tests for stripcredentials from URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/11/ dir after test 1621 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 === End of file commands.log === Start of file server.cmd Testnum 1621 === End of file server.cmd === Start of file stderr1621 URL: - === End of file stderr1621 === Start of file valgrind1621 ==164397== ==164397== Process terminating with default action of signal 4 (SIGILL) ==164397== Illegal opcode at address 0x492F4F0 ==164397== at 0x492F4F0: UnknownInlinedFun (string_fortified.h:59) ==164397== by 0x492F4F0: UnknownInlinedFun (urlapi.c:1266) ==164397== by 0x492F4F0: UnknownInlinedFun (urlapi.c:1704) ==164397== by 0x492F4F0: curl_url_set (urlapi.c:1840) ==164397== by 0x400191B: UnknownInlinedFun (tool_xattr.c:53) ==164397== by 0x400191B: test_tool1621 (tool1621.c:75) ==164397== by 0x40010FE: main (first.c:281) === End of file valgrind1621 test 1615...[SHA-512/256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1615 ./unit/units unit1615 - > log/12/stdout1615 2> log/12/stderr1615 units returned 132, when expecting 0 1615: exit FAILED == Contents of files in the log/12/ dir after test 1615 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1615 ./unit/units unit1615 - > log/12/stdout1615 2> log/12/stderr1615 === End of file commands.log === Start of file server.cmd Testnum 1615 === End of file server.cmd === Start of file stderr1615 URL: - === End of file stderr1615 === Start of file valgrind1615 ==164166== ==164166== Process terminating with default action of signal 4 (SIGILL) ==164166== Illegal opcode at address 0x4013984 ==164166== at 0x4013984: test_unit1615.lto_priv.0 (unit1615.c:118) ==164166== by 0x400A18F: main (first.c:281) === End of file valgrCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1650 ./unit/units unit1650 - > log/3/stdout1650 2> log/3/stderr1650 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1651 ./unit/units unit1651 - > log/8/stdout1651 2> log/8/stderr1651 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1653 ./unit/units unit1653 - > log/13/stdout1653 2> log/13/stderr1653 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1656 ./unit/units unit1656 - > log/6/stdout1656 2> log/6/stderr1656 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1620 ./unit/units unit1620 - > log/18/stdout1620 2> log/18/stderr1620 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1655 ./unit/units unit1655 - > log/10/stdout1655 2> log/10/stderr1655 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1657 ./unit/units unit1657 - > log/21/stdout1657 2> log/21/stderr1657 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/18 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/18/stdout1705 2> log/18/stderr1705 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1658 ./unit/units unit1658 - > log/16/stdout1658 2> log/16/stderr1658 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/10 ascii option1.md option2.md > log/10/stdout1706 2> log/10/stderr1706 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1634 ../src/curl -q --output log/17/curl1634.out --include --trace-ascii log/17/trace1634 --trace-time http://127.0.0.1:45171/1634 --retry 1 --fail > log/17/stdout1634 2> log/17/stderr1634 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:39569/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 ind1615 test 1650...[DoH parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1650 ./unit/units unit1650 - > log/3/stdout1650 2> log/3/stderr1650 -------e-v- OK (1529 out of 1725, remaining: 00:13, took 0.620s, duration: 01:47) test 1651...[x509 parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1651 ./unit/units unit1651 - > log/8/stdout1651 2> log/8/stderr1651 -------e-v- OK (1530 out of 1725, remaining: 00:13, took 0.632s, duration: 01:47) test 1653...[urlapi port number parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1653 ./unit/units unit1653 - > log/13/stdout1653 2> log/13/stderr1653 -------e-v- OK (1532 out of 1725, remaining: 00:13, took 0.636s, duration: 01:48) test 1656...[Curl_x509_GTime2str unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1656 ./unit/units unit1656 - > log/6/stdout1656 2> log/6/stderr1656 -------e-v- OK (1535 out of 1725, remaining: 00:13, took 0.612s, duration: 01:48) test 1620...[unit tests for url.c] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1620 ./unit/units unit1620 - > log/18/stdout1620 2> log/18/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/18/ dir after test 1620 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1620 ./unit/units unit1620 - > log/18/stdout1620 2> log/18/stderr1620 === End of file commands.log === Start of file server.cmd Testnum 1620 === End of file server.cmd === Start of file stderr1620 URL: - === End of file stderr1620 === Start of file valgrind1620 ==164356== ==164356== Process terminating with default action of signal 4 (SIGILL) ==164356== Illegal opcode at address 0x407BE33 ==164356== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==164356== by 0x407BE33: UnknownInlinedFun (request.c:46) ==164356== by 0x407BE33: Curl_open (url.c:551) ==164356== by 0x4014B2F: UnknownInlinedFun (unit1620.c:83) ==164356== by 0x4014B2F: test_unit1620.lto_priv.0 (unit1620.c:72) ==164356== by 0x400A18F: main (first.c:281) ==164356== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==164356== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==164356== by 0x407BD83: Curl_open (url.c:530) ==164356== by 0x4014B2F: UnknownInlinedFun (unit1620.c:83) ==164356== by 0x4014B2F: test_unit1620.lto_priv.0 (unit1620.c:72) ==164356== by 0x400A18F: main (first.c:281) ==164356== === End of file valgrind1620 test 1655...[unit test for doh_req_encode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1655 ./unit/units unit1655 - > log/10/stdout1655 2> log/10/stderr1655 -------e-v- OK (1534 out of 1725, remaining: 00:13, took 0.639s, duration: 01:48) test 1657...[Curl_x509_getASN1Element unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1657 ./unit/units unit1657 - > log/21/stdout1657 2> log/21/stderr1657 -------e-v- OK (1536 out of 1725, remaining: 00:13, took 0.619s, duration: 01:48) test 1705...[managen makes manpage] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/18 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/18/stdout1705 2> log/18/stderr1705 valgrind SKIPPED sr-----e--- OK (1552 out of 1725, remaining: 00:12, took 0.056s, duration: 01:48) test 1658...[unit test for doh_resp_decode_httpsrr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1658 ./unit/units unit1658 - > log/16/stdout1658 2> log/16/stderr1658 -r-----e-v- OK (1537 out of 1725, remaining: 00:13, took 0.599s, duration: 01:48) test 1706...[managen makes ASCII page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/10 ascii option1.md option2.md > log/10/stdout1706 2> log/10/stderr1706 valgrind SKIPPED sr-----e--- OK (1553 out of 1725, remaining: 00:11, took 0.057s, duration: 01:48) test 1661...[bufref unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 -------e-v- OK (1539 out of 1725, remaining: 00:13, took 0.619s, duration: 01:48) test 1634...[--retry with a 429 response and Retry-After: and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1634 ../src/curl -q --output log/17/curl1634.out --include --trace-ascii log/17/trace1634 --trace-time http://127.0.0.1:45171/1634 --retry 1 --fail > log/17/stdout1634 2> log/17/stderr1634 1634: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1634 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1634 ../src/curl -q --output log/17/curl1634.out --include --trace-ascii log/17/trace1634 --trace-time http://127.0.0.1:45171/1634 --retry 1 --fail > log/17/stdout1634 2> log/17/stderr1634 === End of file commands.log === Start of file http_server.log 14:54:38.695102 ====> Client connect 14:54:38.695143 accept_connection 3 returned 4 14:54:38.695162 accept_connection 3 returned 0 14:54:38.695180 Read 93 bytes 14:54:38.695192 Process 93 bytes request 14:54:38.695208 Got request: GET /verifiedserver HTTP/1.1 14:54:38.695219 Are-we-friendly question received 14:54:38.695249 Wrote request (93 bytes) input to log/17/server.input 14:54:38.695270 Identifying ourselves as friends 14:54:38.695331 Response sent (56 bytes) and written to log/17/server.response 14:54:38.695344 special request received, no persistency 14:54:38.695355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1634 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind1634 ==164556== ==164556== Process terminating with default action of signal 4 (SIGILL) ==164556== Illegal opcode at address 0x4014B6F ==164556== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==16CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:42107/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 4556== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==164556== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==164556== by 0x4004266: main (tool_main.c:199) === End of file valgrind1634 test 1633...[--retry with a 429 response and Retry-After:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:39569/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 1633: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1633 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:39569/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 === End of file commands.log === Start of file http_server.log 14:54:38.695123 ====> Client connect 14:54:38.695161 accept_connection 3 returned 4 14:54:38.695181 accept_connection 3 returned 0 14:54:38.695197 Read 93 bytes 14:54:38.695210 Process 93 bytes request 14:54:38.695223 Got request: GET /verifiedserver HTTP/1.1 14:54:38.695234 Are-we-friendly question received 14:54:38.695264 Wrote request (93 bytes) input to log/20/server.input 14:54:38.695285 Identifying ourselves as friends 14:54:38.695347 Response sent (56 bytes) and written to log/20/server.response 14:54:38.695359 special request received, no persistency 14:54:38.695371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1633 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind1633 ==164574== ==164574== Process terminating with default action of signal 4 (SIGILL) ==164574== Illegal opcode at address 0x4014B6F ==164574== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==164574== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==164574== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==164574== by 0x4004266: main (tool_main.c:199) === End of file valgrind1633 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1652 ./unit/units unit1652 - > log/24/stdout1652 2> log/24/stderr1652 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1654 ./unit/units unit1654 log/7/1654 > log/7/stdout1654 2> log/7/stderr1654 test 1635...[--retry with a 429 response and Retry-After: and --fail-with-body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:42107/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 1635: stdout FAILED: --- log/15/check-expected 2025-09-11 14:54:39.618864980 +0000 +++ log/15/check-generated 2025-09-11 14:54:39.618864980 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/15/ dir after test 1635 === Start of file check-expected moo[LF] hey[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:42107/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 === End of file commands.log === Start of file http_server.log 14:54:38.707201 ====> Client connect 14:54:38.707239 accept_connection 3 returned 4 14:54:38.707257 accept_connection 3 returned 0 14:54:38.707274 Read 93 bytes 14:54:38.707286 Process 93 bytes request 14:54:38.707302 Got request: GET /verifiedserver HTTP/1.1 14:54:38.707313 Are-we-friendly question received 14:54:38.707340 Wrote request (93 bytes) input to log/15/server.input 14:54:38.707359 Identifying ourselves as friends 14:54:38.707419 Response sent (56 bytes) and written to log/15/server.response 14:54:38.707432 special request received, no persistency 14:54:38.707442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1635 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind1635 ==164591== ==164591== Process terminating with default action of signal 4 (SIGILL) ==164591== Illegal opcode at address 0x4014B6F ==164591== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==164591== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==164591== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==164591== by 0x4004266: main (tool_main.c:199) === End of file valgrind1635 test 1652...[infof] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1652 ./unit/units unit1652 - > log/24/stdout1652 2> log/24/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/24/ dir after test 1652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1652 ./unit/units unit1652 - > log/24/stdout1652 2> log/24/stderr1652 === End of file commands.log === Start of file server.cmd Testnum 1652 === End of file server.cmd === Start of file stderr1652 URL: - === End of file stderr1652 === Start of file valgrind1652 ==164773== ==164773== Process terminating with default action of signal 4 (SIGILL) ==164773== Illegal opcode at address 0x407BE33 ==164773== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==164773== by 0x407BE33: UnknownInlinedFun (request.c:46) ==164773== by 0x407BE33: Curl_open (url.c:551) ==164773== by 0x403D9A5: curl_easy_init (easy.c:372) ==164773== by 0x4015A1B: UnknownInlinedFun (unit1652.c:60) ==164773== by 0x4015A1B: test_unit1652.lto_priv.0 (unit1652.c:89) ==164773== by 0x400A18F: main (first.c:281) ==164773== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==164773== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==164773== by 0x407BD83: Curl_open (url.c:530) ==164773== by 0x403D9A5: curl_easy_init (easy.c:372) ==164773== by 0x4015A1B: UnknownInlinedFun (unit1652.c:60) ==164773== by 0x4015A1B: test_unit1652.lto_priv.0 (unit1652.c:89) ==164773== by 0x400A18F: main (first.c:281) ==164773== === End of file valgrind1652 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:39405/1599 log/19/netrc1599 > log/19/stdout1599 2> log/19/stderr1599 setenv CURL_TIME = 1548369261 test 1654...[alt-svc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1654 ./unit/units unit1654 log/7/1654 > log/7/stdout1654 2> log/7/stderr1654 1654: output (log/7/1654-out) FAILED: --- log/7/check-expected 2025-09-11 14:54:39.742198314 +0000 +++ log/7/check-generated 2025-09-11 14:54:39.742198314 +0000 @@ -1,12 +0,0 @@ -# Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] -h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] -h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0[CR][LF] -h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0[CR][LF] -h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] -h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] == Contents of files in the log/7/ dir after test 1654 === Start of file 1654 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 # a comment h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0 # also a comment bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 rubbish === End of file 1654 === Start of file check-expected # Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0[CR][LF] h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0[CR][LF] h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1654 ./unit/units unit1654 log/7/1654 > log/7/stdout1654 2> log/7/stderr1654 === End of file commands.log === Start of file server.cmd Testnum 1654 === End of file server.cmd === Start of file stderr1654 URL: log/7/1654 === End of file stderr1654 === Start of file valgrind1654 ==164841== ==164841== Process terminating with default action of signal 4 (SIGILL) ==164841== Illegal opcode at address 0x407BE33 ==164841== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==164841== by 0x407BE33: UnknownInlinedFun (request.c:46) ==164841== by 0x407BE33: Curl_open (url.c:551) ==164841== by 0x403D9A5: curl_easy_init (easy.c:372) ==164841== by 0x4017173: test_unit1654.lto_priv.0 (unit1654.c:45) ==164841== by 0x400A18F: main (first.c:281) ==164841== 52 bytes in 4 blocks are possibly lost in loss record 542 of 644 ==164841== at 0x49907A8: malloc (vg_replace_malloc.c:446) ==164841== by 0x40218F5: UnknownInlinedFun (strdup.c:114) ==164841== by 0x40218F5: altsvc_createid (altsvc.c:114) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:146) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:197) ==164841== by 0x4030757: altsvc_load.lto_priv.0 (altsvc.c:238) ==164841== by 0x40170B2: UnknownInlinedFun (altsvc.c:324) ==164841== by 0x40170B2: test_unit1654.lto_priv.0 (unit1654.c:39) ==164841== by 0x400A18F: main (first.c:281) ==164841== ==164841== 72 bytes in 4 blocks are possibly lost in loss record 571 of 644 ==164841== at 0x49907A8: malloc (vg_replace_malloc.c:446) ==164841== by 0x402191F: UnknownInlinedFun (altsvc.c:114) ==164841== by 0x402191F: altsvc_createid (altsvc.c:118) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:146) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:197) ==164841== by 0x4030757: altsvc_load.lto_priv.0 (altsvc.c:238) ==164841== by 0x40170B2: UnknownInlinedFun (altsvc.c:324) ==164841== by 0x40170B2: test_unit1654.lto_priv.0 (unit1654.c:39) ==164841== by 0x400A18F: main (first.c:281) ==164841== ==164841== 320 bytes in 4 blocks are possibly lost in loss record 600 of 644 ==164841== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==164841== by 0x4021894: altsvc_createid (altsvc.c:89) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:146) ==164841== by 0x4030757: UnknownInlinedFun (altsvc.c:197) ==164841== by 0x4030757: altsvc_load.lto_priv.0 (altsvc.c:238) ==164841== by 0x40170B2: UnknownInlinedFun (altsvc.c:324) ==164841== by 0x40170B2: test_unit1654.lto_priv.0 (unit1654.c:39) ==164841== by 0x400A18F: main (first.c:281) ==164841== ==164841== 5,408 bytes in 1 blocks are definitely lost in loss record 642 of 644 ==164841== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==164841== by 0x407BD83: Curl_open (url.c:530) ==164841== by 0x403D9A5: curl_easy_init (easy.c:372) ==164841== by 0x4017173: test_unit1654.lto_priv.0 (unit1654.c:45) ==164841== by 0x400A18F: main (first.c:281) ==164841== === End of file valgrind1654 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1663 ./unit/units unit1663 - > log/9/stdout1663 2> log/9/stderr1663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1660 ./unit/units unit1660 log/22/hsts1660 > log/22/stdout1660 2> log/22/stderr1660 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_server.pid" --logfile "log/19/ftp_server.log" --logdir "log/19" --portfile "log/19/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39405 (log/19/server/ftp_server.port) RUN: FTP server is PID 163546 port 39405 * pid ftp => 163546 163546 test 1599...[FTP with netrc using no user but control code in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:39405/1599 log/19/netrc1599 > log/19/stdout1599 2> log/19/stderr1599 1599: data FAILED: --- log/19/check-expected 2025-09-11 14:54:39.848864983 +0000 +++ log/19/check-generated 2025-09-11 14:54:39.848864983 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/19/ dir after test 1599 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:39405/1599 log/19/netrc1599 > log/19/stdout1599 2> log/19/stderr1599 === End of file commands.log === Start of file ftp_server.log 14:54:37.893500 FTP server listens on port IPv4/39405 14:54:37.895242 logged pid 163546 in log/19/server/ftp_server.pid 14:54:37.895285 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:37.974371 Running IPv4 version 14:54:37.975849 Listening on port 39405 14:54:37.975894 Wrote pid 163633 to log/19/server/ftp_sockctrl.pid 14:54:37.975932 Wrote port 39405 to log/19/server/ftp_server.port 14:54:37.975957 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file netrc1599 default passwor?dlogin anonymou\ ' password login anonymous passwor?d.'macdef === End of file netrc1599 === Start of file server.cmd Testnum 1599 === End of file server.cmd === Start of file stderr1599 URL: ftp://127.0.0.1:39405/1599 === End of file stderr1599 === Start of file valgrind1599 ==164957== ==164957== Process terminating with default action of signal 4 (SIGILL) ==164957== Illegal opcode at address 0x51D42F3 ==164957== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==164957== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==164957== by 0x51D42F3: Curl_open (url.c:551) ==164957== by 0x514CA2F: curl_easy_init (easy.c:372) ==164957== by 0x403942E: UnknownInlinedFun (lib1599.c:32) ==164957== by 0x403942E: test_lib1599.lto_priv.0 (lib1599.c:26) ==164957== by 0x400347F: main (first.c:281) ==164957== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==164957== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164957== by 0x51D4243: Curl_open (url.c:530) ==164957== by 0x514CA2F: curl_easy_init (easy.c:372) ==164957== by 0x403942E: UnknownInlinedFun (lib1599.c:32) ==164957== by 0x403942E: test_lib1599.lto_priv.0 (lib1599.c:26) ==164957== by 0x400347F: main (first.c:281) ==164957== === End of file valgrind1599 test 1663...[unit tests for interface option parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1663 ./unit/units unit1663 - > log/9/stdout1663 2> log/9/stderr1663 -------e-v- OK (1540 out of 1725, remaining: 00:13, took 0.945s, duration: 01:48) CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1664 ./unit/units unit1664 - > log/1/stdout1664 2> log/1/stderr1664 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1671 ../src/curl -q --include --trace-ascii log/2/trace1671 --trace-time http://127.0.0.1:37587/1671 -w '%{header_json}\n' -o log/2/1671.out > log/2/stdout1671 2> log/2/stderr1671 setenv CURL_TIME = 1548369261 test 1660...[HSTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1660 ./unit/units unit1660 log/22/hsts1660 > log/22/stdout1660 2> log/22/stderr1660 1660: stdout FAILED: --- log/22/check-expected 2025-09-11 14:54:39.955531651 +0000 +++ log/22/check-generated 2025-09-11 14:54:39.955531651 +0000 @@ -1,34 +0,0 @@ -readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] -'old.example' is not HSTS[LF] -'readfrom.example' is not HSTS[LF] -example.com [example.com]: 1579905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261 includeSubDomains[LF] -example.org [example.org]: 1579905261[LF] -Input 8: error 43[LF] -Input 9: error 43[LF] -this.example [this.example]: 1548400797[LF] -'this.example' is not HSTS[LF] -Input 12: error 43[LF] -Input 13: error 43[LF] -Input 14: error 43[LF] -3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] -3.example.com [example.com]: 1569905261 includeSubDomains[LF] -foo.example.com [example.com]: 1569905261 includeSubDomains[LF] -'foo.xample.com' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'example.net' is not HSTS[LF] -expire.example [expire.example]: 1548369268[LF] -Number of entries: 4[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] == Contents of files in the log/22/ dir after test 1660 === Start of file check-expected readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] 'old.example' is not HSTS[LF] 'readfrom.example' is not HSTS[LF] example.com [example.com]: 1579905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261 includeSubDomains[LF] example.org [example.org]: 1579905261[LF] Input 8: error 43[LF] Input 9: error 43[LF] this.example [this.example]: 1548400797[LF] 'this.example' is not HSTS[LF] Input 12: error 43[LF] Input 13: error 43[LF] Input 14: error 43[LF] 3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] 3.example.com [example.com]: 1569905261 includeSubDomains[LF] foo.example.com [example.com]: 1569905261 includeSubDomains[LF] 'foo.xample.com' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'example.net' is not HSTS[LF] expire.example [expire.example]: 1548369268[LF] Number of entries: 4[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1660 ./unit/units unit1660 log/22/hsts1660 > log/22/stdout1660 2> log/22/stderr1660 === End of file commands.log === Start of file hsts1660 # Your HSTS cache. https://curl.se/docs/hsts.html # This file was generated by libcurl! Edit at your own risk. .readfrom.example "20211001 04:47:41" .old.example "20161001 04:47:41" .new.example "unlimited" === End of file hsts1660 === Start of file server.cmd Testnum 1660 === End of file server.cmd === Start of file stderr1660 URL: log/22/hsts1660 === End of file stderr1660 === Start of file valgrind1660 ==165082== ==165082== Process terminating with default action of signal 4 (SIGILL) ==165082== Illegal opcode at address 0x407BE33 ==165082== at 0x407BE33: UnknownInlinedFun (string_fortified.h:59) ==165082== by 0x407BE33: UnknownInlinedFun (request.c:46) ==165082== by 0x407BE33: Curl_open (url.c:551) ==165082== by 0x403D9A5: curl_easy_init (easy.c:372) ==165082== by 0x4018043: test_unit1660.lto_priv.0 (unit1660.c:124) ==165082== by 0x400A18F: main (first.c:281) ==165082== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==165082== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==165082== by 0x407BD83: Curl_open (url.c:530) ==165082== by 0x403D9A5: curl_easy_init (easy.c:372) ==165082== by 0x4018043: test_unit1660.lto_priv.0 (unit1660.c:124) ==165082== by 0x400A18F: main (first.c:281) ==165082== === End of file valgrind1660 test 1664...[unit tests for strparse.c string parsing functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1664 ./unit/units unit1664 - > log/1/stdout1664 2> log/1/stderr1664 s------e-v- OK (1541 out of 1725, remaining: 00:12, took 0.970s, duration: 01:48) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1670 ../src/curl -q --include --trace-ascii log/14/trace1670 --trace-time http://127.0.0.1:46043/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/14/1670.out > log/14/stdout1670 2> log/14/stderr1670 test 1671...[-w header JSON output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1671 ../src/curl -q --include --trace-ascii log/2/trace1671 --trace-time http://127.0.0.1:37587/1671 -w '%{header_json}\n' -o log/2/1671.out > log/2/stdout1671 2> log/2/stderr1671 1671: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:40.022198318 +0000 +++ log/2/check-generated 2025-09-11 14:54:40.018864985 +0000 @@ -1,11 +0,0 @@ -{"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] -"server":["test-server/fake"],[CR][LF] -"last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] -"etag":["\"21025-dc7-39462498\""],[CR][LF] -"accept-ranges":["bytes"],[CR][LF] -"set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] -"funny-head":["yesyes"],[CR][LF] -"content-type":["text/html"],[CR][LF] -"content-length":["6"],[CR][LF] -"connection":["close"][CR][LF] -}[CR][LF] == Contents of files in the log/2/ dir after test 1671 === Start of file check-expected {"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] "server":["test-server/fake"],[CR][LF] "last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] "etag":["\"21025-dc7-39462498\""],[CR][LF] "accept-ranges":["bytes"],[CR][LF] "set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] "funny-head":["yesyes"],[CR][LF] "content-type":["text/html"],[CR][LF] "content-length":["6"],[CR][LF] "connection":["close"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1671 ../src/curl -q --include --trace-ascii log/2/trace1671 --trace-time http://127.0.0.1:37587/1671 -w '%{header_json}\n' -o log/2/1671.out > log/2/stdout1671 2> log/2/stderr1671 === End of file commands.log === Start of file http_server.log 14:54:39.110005 ====> Client connect 14:54:39.110039 accept_connection 3 returned 4 14:54:39.110057 accept_connection 3 returned 0 14:54:39.110073 Read 93 bytes 14:54:39.110084 Process 93 bytes request 14:54:39.110098 Got request: GET /verifiedserver HTTP/1.1 14:54:39.110109 Are-we-friendly question received 14:54:39.110134 Wrote request (93 bytes) input to log/2/server.input 14:54:39.110153 Identifying ourselves as friends 14:54:39.110207 Response sent (56 bytes) and written to log/2/server.response 14:54:39.110219 special request received, no persistency 14:54:39.110229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 1671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind1671 ==165228== ==165228== Process terminating with default action of signal 4 (SIGILL) ==165228== Illegal opcode at address 0x4014B6F ==165228== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165228== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165228== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165228== by 0x4004266: main (tool_main.c:199) === End of file valgrind1671 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1680 ../src/curl -q --include --trace-ascii log/5/trace1680 --trace-time http://127.0.0.1:45345/1680 -o log/5/exist1680 --clobber > log/5/stdout1680 2> log/5/stderr1680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1681 ../src/curl -q --include --trace-ascii log/23/trace1681 --trace-time http://127.0.0.1:38851/1681 -o log/23/exist1681 --no-clobber -w '%{filename_effective}\n' > log/23/stdout1681 2> log/23/stderr1681 test 1670...[-w individual header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1670 ../src/curl -q --include --trace-ascii log/14/trace1670 --trace-time http://127.0.0.1:46043/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/14/1670.out > log/14/stdout1670 2> log/14/stderr1670 1670: stdout FAILED: --- log/14/check-expected 2025-09-11 14:54:40.038864985 +0000 +++ log/14/check-generated 2025-09-11 14:54:40.038864985 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/14/ dir after test 1670 === Start of file check-expected "21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1670 ../src/curl -q --include --trace-ascii log/14/trace1670 --trace-time http://127.0.0.1:46043/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/14/1670.out > log/14/stdout1670 2> log/14/stderr1670 === End of file commands.log === Start of file http_server.log 14:54:39.105130 ====> Client connect 14:54:39.105162 accept_connection 3 returned 4 14:54:39.105180 accept_connection 3 returned 0 14:54:39.105196 Read 93 bytes 14:54:39.105205 Process 93 bytes request 14:54:39.105216 Got request: GET /verifiedserver HTTP/1.1 14:54:39.105225 Are-we-friendly question received 14:54:39.105304 Wrote request (93 bytes) input to log/14/server.input 14:54:39.105318 Identifying ourselves as friends 14:54:39.105362 Response sent (56 bytes) and written to log/14/server.response 14:54:39.105371 special request received, no persistency 14:54:39.105379 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 51726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 1670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind1670 ==165204== ==165204== Process terminating with default action of signal 4 (SIGILL) ==165204== Illegal opcode at address 0x4014B6F ==165204== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165204== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165204== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165204== by 0x4004266: main (tool_main.c:199) === End of file valgrind1670 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1683 ../src/curl -q --include --trace-ascii log/11/trace1683 --trace-time http://127.0.0.1:33503/1683 -o log/11/exist1683 --no-clobber > log/11/stdout1683 2> log/11/stderr1683 test 1680...[HTTP GET with explicit clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1680 ../src/curl -q --include --trace-ascii log/5/trace1680 --trace-time http://127.0.0.1:45345/1680 -o log/5/exist1680 --clobber > log/5/stdout1680 2> log/5/stderr1680 1680: output (log/5/exist1680) FAILED: --- log/5/check-expected 2025-09-11 14:54:40.175531654 +0000 +++ log/5/check-generated 2025-09-11 14:54:40.175531654 +0000 @@ -1,6 +1 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] +to be overwritten[LF] == Contents of files in the log/5/ dir after test 1680 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file check-generated to be overwritten[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1680 ../src/curl -q --include --trace-ascii log/5/trace1680 --trace-time http://127.0.0.1:45345/1680 -o log/5/exist1680 --clobber > log/5/stdout1680 2> log/5/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 14:54:39.191764 ====> Client connect 14:54:39.191801 accept_connection 3 returned 4 14:54:39.191820 accept_connection 3 returned 0 14:54:39.191839 Read 93 bytes 14:54:39.191859 Process 93 bytes request 14:54:39.191882 Got request: GET /verifiedserver HTTP/1.1 14:54:39.191893 Are-we-friendly question received 14:54:39.191923 Wrote request (93 bytes) input to log/5/server.input 14:54:39.191946 Identifying ourselves as friends 14:54:39.192013 Response sent (57 bytes) and written to log/5/server.response 14:54:39.192030 special request received, no persistency 14:54:39.192041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45345... * Established connection to 127.0.0.1 (127.0.0.1 port 45345) from 127.0.0.1 port 36564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:45345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162933 === End of file http_verify.out === Start of file server.cmd Testnum 1680 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162933 === End of file server.response === Start of file valgrind1680 ==165354== ==165354== Process terminating with default action of signal 4 (SIGILL) ==165354== Illegal opcode at address 0x4014B6F ==165354== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165354== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165354== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165354== by 0x4004266: main (tool_main.c:199) === End of file valgrind1680 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/11/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:43359/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 test 1681...[HTTP GET without clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1681 ../src/curl -q --include --trace-ascii log/23/trace1681 --trace-time http://127.0.0.1:38851/1681 -o log/23/exist1681 --no-clobber -w '%{filename_effective}\n' > log/23/stdout1681 2> log/23/stderr1681 1681: stdout FAILED: --- log/23/check-expected 2025-09-11 14:54:40.185531655 +0000 +++ log/23/check-generated 2025-09-11 14:54:40.185531655 +0000 @@ -1 +0,0 @@ -log/23/exist1681.1[CR][LF] == Contents of files in the log/23/ dir after test 1681 === Start of file check-expected log/23/exist1681.1[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1681 ../src/curl -q --include --trace-ascii log/23/trace1681 --trace-time http://127.0.0.1:38851/1681 -o log/23/exist1681 --no-clobber -w '%{filename_effective}\n' > log/23/stdout1681 2> log/23/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 14:54:39.295997 ====> Client connect 14:54:39.296036 accept_connection 3 returned 4 14:54:39.296055 accept_connection 3 returned 0 14:54:39.296073 Read 93 bytes 14:54:39.296085 Process 93 bytes request 14:54:39.296099 Got request: GET /verifiedserver HTTP/1.1 14:54:39.296110 Are-we-friendly question received 14:54:39.296138 Wrote request (93 bytes) input to log/23/server.input 14:54:39.296156 Identifying ourselves as friends 14:54:39.296215 Response sent (56 bytes) and written to log/23/server.response 14:54:39.296227 special request received, no persistency 14:54:39.296237 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 59004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 1681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind1681 ==165452== ==165452== Process terminating with default action of signal 4 (SIGILL) ==165452== Illegal opcode at address 0x4014B6F ==165452== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165452== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165452== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165452== by 0x4004266: main (tool_main.c:199) === End of file valgrind1681 prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/11/exist1683.$i"; open(FH, ">", $filename) or die $!; print FH "to stay the same" ; close(FH) }' test 1683...[HTTP GET without clobber when 100 files already exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1683 ../src/curl -q --include --trace-ascii log/11/trace1683 --trace-time http://127.0.0.1:33503/1683 -o log/11/exist1683 --no-clobber > log/11/stdout1683 2> log/11/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/11/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' curl returned 132, when expecting 23 1683: exit FAILED == Contents of files in the log/11/ dir after test 1683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1683 ../src/curl -q --include --trace-ascii log/11/trace1683 --trace-time http://127.0.0.1:33503/1683 -o log/11/exist1683 --no-clobber > log/11/stdout1683 2> log/11/stderr1683 === End of file commands.log === Start of file exist1683 to stay the same === End of file exist1683 === Start of file exist1683.1 to stay the same === End of file exist1683.1 === Start of file exist1683.10 to stay the same === End of file exist1683.10 === Start of file exist1683.100 to stay the same === End of file exist1683.100 === Start of file exist1683.11 to stay the same === End of file exist1683.11 === Start of file exist1683.12 to stay the same === End of file exist1683.12 === Start of file exist1683.13 to stay the same === End of file exist1683.13 === Start of file exist1683.14 to stay the same === End of file exist1683.14 === Start of file exist1683.15 to stay the same === End of file exist1683.15 === Start of file exist1683.16 to stay the same === End of file exist1683.16 === Start of file exist1683.17 to stay the same === End of file exist1683.17 === Start of file exist1683.18 to stay the same === End of file exist1683.18 === Start of file exist1683.19 to stay the same === End of file exist1683.19 === Start of file exist1683.2 to stay the same === End of file exist1683.2 === Start of file exist1683.20 to stay the same === End of file exist1683.20 === Start of file exist1683.21 to stay the same === End of file exist1683.21 === Start of file exist1683.22 to stay the same === End of file exist1683.22 === Start of file exist1683.23 to stay the same === End of file exist1683.23 === Start of file exist1683.24 to stay the same === End of file exist1683.24 === Start of file exist1683.25 to stay the same === End of file exist1683.25 === Start of file exist1683.26 to stay the same === End of file exist1683.26 === Start of file exist1683.27 to stay the same === End of file exist1683.27 === Start of file exist1683.28 to stay the same === End of file exist1683.28 === Start of file exist1683.29 to stay the same === End of file exist1683.29 === Start of file exist1683.3 to stay the same === End of file exist1683.3 === Start of file exist1683.30 to stay the same === End of file exist1683.30 === Start of file exist1683.31 to stay the same === End of file exist1683.31 === Start of file exist1683.32 to stay the same === End of file exist1683.32 === Start of file exist1683.33 to stay the same === End of file exist1683.33 === Start of file exist1683.34 to stay the same === End of file exist1683.34 === Start of file exist1683.35 to stay the same === End of file exist1683.35 === Start of file exist1683.36 to stay the same === End of file exist1683.36 === Start of file exist1683.37 to stay the same === End of file exist1683.37 === Start of file exist1683.38 to stay the same === End of file exist1683.38 === Start of file exist1683.39 to stay the same === End of file exist1683.39 === Start of file exist1683.4 to stay the same === End of file exist1683.4 === Start of file exist1683.40 to stay the same === End of file exist1683.40 === Start of file exist1683.41 to stay the same === End of file exist1683.41 === Start of file exist1683.42 to stay the same === End of file exist1683.42 === Start of file exist1683.43 to stay the same === End of file exist1683.43 === Start of file exist1683.44 to stay the same === End of file exist1683.44 === Start of file exist1683.45 to stay the same === End of file exist1683.45 === Start of file exist1683.46 to stay the same === End of file exist1683.46 === Start of file exist1683.47 to stay the same === End of file exist1683.47 === Start of file exist1683.48 to stay the same === End of file exist1683.48 === Start of file exist1683.49 to stay the same === End of file exist1683.49 === Start of file exist1683.5 to stay the same === End of file exist1683.5 === Start of file exist1683.50 to stay the same === End of file exist1683.50 === Start of file exist1683.51 to stay the same === End of file exist1683.51 === Start of file exist1683.52 to stay the same === End of file exist1683.52 === Start of file exist1683.53 to stay the same === End of file exist1683.53 === Start of file exist1683.54 to stay the same === End of file exist1683.54 === Start of file exist1683.55 to stay the same === End of file exist1683.55 === Start of file exist1683.56 to stay the same === End of file exist1683.56 === Start of file exist1683.57 to stay the same === End of file exist1683.57 === Start of file exist1683.58 to stay the same === End of file exist1683.58 === Start of file exist1683.59 to stay the same === End of file exist1683.59 === Start of file exist1683.6 to stay the same === End of file exist1683.6 === Start of file exist1683.60 to stay the same === End of file exist1683.60 === Start of file exist1683.61 to stay the same === End of file exist1683.61 === Start of file exist1683.62 to stay the same === End of file exist1683.62 === Start of file exist1683.63 to stay the same === End of file exist1683.63 === Start of file exist1683.64 to stay the same === End of file exist1683.64 === Start of file exist1683.65 to stay the same === End of file exist1683.65 === Start of file exist1683.66 to stay the same === End of file exist1683.66 === Start of file exist1683.67 to stay the same === End of file exist1683.67 === Start of file exist1683.68 to stay the same === End of file exist1683.68 === Start of file exist1683.69 to stay the same === End of file exist1683.69 === Start of file exist1683.7 to stay the same === End of file exist1683.7 === Start of file exist1683.70 to stay the same === End of file exist1683.70 === Start of file exist1683.71 to stay the same === End of file exist1683.71 === Start of file exist1683.72 to stay the same === End of file exist1683.72 === Start of file exist1683.73 to stay the same === End of file exist1683.73 === Start of file exist1683.74 to stay the same === End of file exist1683.74 === Start of file exist1683.75 to stay the same === End of file exist1683.75 === Start of file exist1683.76 to stay the same === End of file exist1683.76 === Start of file exist1683.77 to stay the same === End of file exist1683.77 === Start of file exist1683.78 to stay the same === End of file exist1683.78 === Start of file exist1683.79 to stay the same === End of file exist1683.79 === Start of file exist1683.8 to stay the same === End of file exist1683.8 === Start of file exist1683.80 to stay the same === End of file exist1683.80 === Start of file exist1683.81 to stay the same === End of file exist1683.81 === Start of file exist1683.82 to stay the same === End of file exist1683.82 === Start of file exist1683.83 to stay the same === End of file exist1683.83 === Start of file exist1683.84 to stay the same === End of file exist1683.84 === Start of file exist1683.85 to stay the same === End of file exist1683.85 === Start of file exist1683.86 to stay the same === End of file exist1683.86 === Start of file exist1683.87 to stay the same === End of file exist1683.87 === Start of file exist1683.88 to stay the same === End of file exist1683.88 === Start of file exist1683.89 to stay the same === End of file exist1683.89 === Start of file exist1683.9 to stay the same === End of file exist1683.9 === Start of file exist1683.90 to stay the same === End of file exist1683.90 === Start of file exist1683.91 to stay the same === End of file exist1683.91 === Start of file exist1683.92 to stay the same === End of file exist1683.92 === Start of file exist1683.93 to stay the same === End of file exist1683.93 === Start of file exist1683.94 to stay the same === End of file exist1683.94 === Start of file exist1683.95 to stay the same === End of file exist1683.95 === Start of file exist1683.96 to stay the same === End of file exist1683.96 === Start of file exist1683.97 to stay the same === End of file exist1683.97 === Start of file exist1683.98 to stay the same === End of file exist1683.98 === Start of file exist1683.99 to stay the same === End of file exist1683.99 === Start of file http_server.log 14:54:39.337901 ====> Client connect 14:54:39.337945 accept_connection 3 returned 4 14:54:39.337969 accept_connection 3 returned 0 14:54:39.337988 Read 93 bytes 14:54:39.337999 Process 93 bytes request 14:54:39.338015 Got request: GET /verifiedserver HTTP/1.1 14:54:39.338026 Are-we-friendly question received 14:54:39.338052 Wrote request (93 bytes) input to log/11/server.input 14:54:39.338071 Identifying ourselves as friends 14:54:39.338146 Response sent (56 bytes) and written to log/11/server.response 14:54:39.338159 special request received, no persistency 14:54:39.338169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 1683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind1683 ==165573== ==165573== Process terminating with default action of signal 4 (SIGILL) ==165573== Illegal opcode at address 0x4014B6F ==165573== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165573== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165573== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165573== by 0x4004266: main (tool_main.c:199) === End of file valgrind1683 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39569/1906 > log/20/stdout1906 2> log/20/stderr1906 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:42107/hello/../1907 > log/15/stdout1907 2> log/15/stderr1907 test 1682...[HTTP GET without clobber and --output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:43359/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 1682: output (log/12/exist1682.1) FAILED: --- log/12/check-expected 2025-09-11 14:54:40.202198322 +0000 +++ log/12/check-generated 2025-09-11 14:54:40.202198322 +0000 @@ -1,6 +0,0 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] == Contents of files in the log/12/ dir after test 1682 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:43359/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 === End of file commands.log === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 14:54:39.297475 ====> Client connect 14:54:39.297508 accept_connection 3 returned 4 14:54:39.297525 accept_connection 3 returned 0 14:54:39.297539 Read 93 bytes 14:54:39.297550 Process 93 bytes request 14:54:39.297562 Got request: GET /verifiedserver HTTP/1.1 14:54:39.297572 Are-we-friendly question received 14:54:39.297598 Wrote request (93 bytes) input to log/12/server.input 14:54:39.297614 Identifying ourselves as friends 14:54:39.297720 Response sent (56 bytes) and written to log/12/server.response 14:54:39.297733 special request received, no persistency 14:54:39.297744 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind1682 ==165453== ==165453== Process terminating with default action of signal 4 (SIGILL) ==165453== Illegal opcode at address 0x4014B6F ==165453== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165453== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165453== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165453== by 0x4004266: main (tool_main.c:199) === End of file valgrind1682 test 1906...[CURLOPT_CURLU and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39569/1906 > log/20/stdout1906 2> log/20/stderr1906 1906: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 1906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39569/1906 > log/20/stdout1906 2> log/20/stderr1906 === End of file commands.log === Start of file http_server.log 14:54:39.717483 ====> Client connect 14:54:39.717517 accept_connection 3 returned 4 14:54:39.717536 accept_connection 3 returned 0 14:54:39.717551 Read 93 bytes 14:54:39.717563 Process 93 bytes request 14:54:39.717577 Got request: GET /verifiedserver HTTP/1.1 14:54:39.717588 Are-we-friendly question received 14:54:39.717614 Wrote request (93 bytes) input to log/20/server.input 14:54:39.717632 Identifying ourselves as friends 14:54:39.717690 Response sent (56 bytes) and written to log/20/server.response 14:54:39.717702 special request received, no persistency 14:54:39.717712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 1906 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:39569/1906 === End of file stderr1906 === Start of file valgrind1906 ==166082== ==166082== Process terminating with default action of signal 4 (SIGILL) ==166082== Illegal opcode at address 0x403F07F ==166082== at 0x403F07F: test_lib1906.lto_priv.0 (lib1906.c:33) ==166082== by 0x400347F: main (first.c:281) ==166082== 88 bytes in 1 blocks are definitely lost in loss record 3 of 14 ==166082== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166082== by 0x403F07A: test_lib1906.lto_priv.0 (lib1906.c:32) ==166082== by 0x400347F: main (first.c:281) ==166082== === End of file valgrind1906 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:38791/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1800 ../src/curl -q --output log/21/curl1800.out --include --trace-ascii log/21/trace1800 --trace-time http://127.0.0.1:34037/1800 --http2 > log/21/stdout1800 2> log/21/stderr1800 test 1907...[CURLINFO_EFFECTIVE_URL with non-scheme URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:42107/hello/../1907 > log/15/stdout1907 2> log/15/stderr1907 1907: stdout FAILED: --- log/15/check-expected 2025-09-11 14:54:40.285531656 +0000 +++ log/15/check-generated 2025-09-11 14:54:40.285531656 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:42107/1907[LF] == Contents of files in the log/15/ dir after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:42107/1907[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:42107/hello/../1907 > log/15/stdout1907 2> log/15/stderr1907 === End of file commands.log === Start of file http_server.log 14:54:39.726598 ====> Client connect 14:54:39.726635 accept_connection 3 returned 4 14:54:39.726653 accept_connection 3 returned 0 14:54:39.726669 Read 93 bytes 14:54:39.726680 Process 93 bytes request 14:54:39.726694 Got request: GET /verifiedserver HTTP/1.1 14:54:39.726705 Are-we-friendly question received 14:54:39.726731 Wrote request (93 bytes) input to log/15/server.input 14:54:39.726748 Identifying ourselves as friends 14:54:39.726807 Response sent (56 bytes) and written to log/15/server.response 14:54:39.726818 special request received, no persistency 14:54:39.726828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1907 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:42107/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==166110== ==166110== Process terminating with default action of signal 4 (SIGILL) ==166110== Illegal opcode at address 0x403D6AC ==166110== at 0x403D6AC: test_lib1907.lto_priv.0 (lib1907.c:33) ==166110== by 0x400347F: main (first.c:281) === End of file valgrind1907 test 1704...[HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:38791/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 1704: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:38791/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 === End of file commands.log === Start of file http_server.log 14:54:39.544255 ====> Client connect 14:54:39.544290 accept_connection 3 returned 4 14:54:39.544308 accept_connection 3 returned 0 14:54:39.544325 Read 93 bytes 14:54:39.544337 Process 93 bytes request 14:54:39.544351 Got request: GET /verifiedserver HTTP/1.1 14:54:39.544361 Are-we-friendly question received 14:54:39.544387 Wrote request (93 bytes) input to log/6/server.input 14:54:39.544405 Identifying ourselves as friends 14:54:39.544457 Response sent (56 bytes) and written to log/6/server.response 14:54:39.544469 special request received, no persistency 14:54:39.544479 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 40336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind1704 ==165703== ==165703== Process terminating with default action of signal 4 (SIGILL) ==165703== Illegal opcode at address 0x4014B6F ==165703== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165703== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165703== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165703== by 0x4004266: main (tool_main.c:199) === End of file valgrind1704 test 1800...[HTTP/2 upgrade refused] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1800 ../src/curl -q --output log/21/curl1800.out --include --trace-ascii log/21/trace1800 --trace-time http://127.0.0.1:34037/1800 --http2 > log/21/stdout1800 2> log/21/stderr1800 1800: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 1800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1800 ../src/curl -q --output log/21/curl1800.out --include --trace-ascii log/21/trace1800 --trace-time http://127.0.0.1:34037/1800 --http2 > log/21/stdout1800 2> log/21/stderr1800 === End of file commands.log === Start of file http_server.log 14:54:39.576579 ====> Client connect 14:54:39.576615 accept_connection 3 returned 4 14:54:39.576634 accept_connection 3 returned 0 14:54:39.576651 Read 93 bytes 14:54:39.576662 Process 93 bytes request 14:54:39.576678 Got request: GET /verifiedserver HTTP/1.1 14:54:39.576689 Are-we-friendly question received 14:54:39.576714 Wrote request (93 bytes) input to log/21/server.input 14:54:39.576733 Identifying ourselves as friends 14:54:39.576789 Response sent (56 bytes) and written to log/21/server.response 14:54:39.576801 special request received, no persistency 14:54:39.576811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1800 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/18/stdout1900 2> log/18/stderr1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35893/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/stderr1903 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:45171/we/want/1905 log/17/cookies1905 > log/17/stdout1905 2> log/17/stderr1905 of file server.response === Start of file valgrind1800 ==165761== ==165761== Process terminating with default action of signal 4 (SIGILL) ==165761== Illegal opcode at address 0x4014B6F ==165761== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==165761== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==165761== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==165761== by 0x4004266: main (tool_main.c:199) === End of file valgrind1800 test 1900...[HSTS curl_easy_duphandle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/18/stdout1900 2> log/18/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/18/ dir after test 1900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/18/stdout1900 2> log/18/stderr1900 === End of file commands.log === Start of file server.cmd Testnum 1900 === End of file server.cmd === Start of file stderr1900 URL: http://127.0.0.1:47/not-there/1900 === End of file stderr1900 === Start of file valgrind1900 ==165793== ==165793== Process terminating with default action of signal 4 (SIGILL) ==165793== Illegal opcode at address 0x51D42F3 ==165793== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==165793== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==165793== by 0x51D42F3: Curl_open (url.c:551) ==165793== by 0x514CA2F: curl_easy_init (easy.c:372) ==165793== by 0x403E6AC: UnknownInlinedFun (lib1900.c:36) ==165793== by 0x403E6AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==165793== by 0x400347F: main (first.c:281) ==165793== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==165793== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165793== by 0x51D4243: Curl_open (url.c:530) ==165793== by 0x514CA2F: curl_easy_init (easy.c:372) ==165793== by 0x403E6AC: UnknownInlinedFun (lib1900.c:36) ==165793== by 0x403E6AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==165793== by 0x400347F: main (first.c:281) ==165793== === End of file valgrind1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:34475/boom > log/16/stdout1901 2> log/16/stderr1901 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1912 ./libtest/libtests lib1912 - > log/9/stdout1912 2> log/9/stderr1912 test 1903...[CURLOPT_COOKIEFILE then reset then set again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35893/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/stderr1903 1903: output (log/10/cookiesout1903) FAILED: --- log/10/check-expected 2025-09-11 14:54:40.502198326 +0000 +++ log/10/check-generated 2025-09-11 14:54:40.502198326 +0000 @@ -1,6 +0,0 @@ -# Netscape HTTP Cookie File[CR][LF] -# https://curl.se/docs/http-cookies.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -[CR][LF] -127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09foobar%09name[CR][LF] -127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09secondcookie%09present[CR][LF] == Contents of files in the log/10/ dir after test 1903 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09foobar%09name[CR][LF] 127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09secondcookie%09present[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35893/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/stderr1903 === End of file commands.log === Start of file cookies1903 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. 127.0.0.1 FALSE /we/want/ FALSE 0 secondcookie present 127.0.0.1 FALSE /we/want/ FALSE 0 foobar name === End of file cookies1903 === Start of file http_server.log 14:54:39.624329 ====> Client connect 14:54:39.624362 accept_connection 3 returned 4 14:54:39.624380 accept_connection 3 returned 0 14:54:39.624395 Read 93 bytes 14:54:39.624407 Process 93 bytes request 14:54:39.624420 Got request: GET /verifiedserver HTTP/1.1 14:54:39.624431 Are-we-friendly question received 14:54:39.624455 Wrote request (93 bytes) input to log/10/server.input 14:54:39.624472 Identifying ourselves as friends 14:54:39.624525 Response sent (56 bytes) and written to log/10/server.response 14:54:39.624536 special request received, no persistency 14:54:39.624546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1903 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:35893/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==165908== ==165908== Process terminating with default action of signal 4 (SIGILL) ==165908== Illegal opcode at address 0x51D42F3 ==165908== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==165908== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==165908== by 0x51D42F3: Curl_open (url.c:551) ==165908== by 0x514CA2F: curl_easy_init (easy.c:372) ==165908== by 0x403E9CC: UnknownInlinedFun (lib1903.c:34) ==165908== by 0x403E9CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==165908== by 0x400347F: main (first.c:281) ==165908== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==165908== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165908== by 0x51D4243: Curl_open (url.c:530) ==165908== by 0x514CA2F: curl_easy_init (easy.c:372) ==165908== by 0x403E9CC: UnknownInlinedFun (lib1903.c:34) ==165908== by 0x403E9CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==165908== by 0x400347F: main (first.c:281) ==165908== === End of file valgrind1903 test 1901...[Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:34475/boom > log/16/stdout1901 2> log/16/stderr1901 1901: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:34475/boom > log/16/stdout1901 2> log/16/stderr1901 === End of file commands.log === Start of file http_server.log 14:54:39.615050 ====> Client connect 14:54:39.615092 accept_connection 3 returned 4 14:54:39.615115 accept_connection 3 returned 0 14:54:39.615132 Read 93 bytes 14:54:39.615143 Process 93 bytes request 14:54:39.615158 Got request: GET /verifiedserver HTTP/1.1 14:54:39.615168 Are-we-friendly question received 14:54:39.615274 Wrote request (93 bytes) input to log/16/server.input 14:54:39.615296 Identifying ourselves as friends 14:54:39.615358 Response sent (56 bytes) and written to log/16/server.response 14:54:39.615370 special request received, no persistency 14:54:39.615380 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 1901 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:34475/boom === End of file stderr1901 === Start of file valgrind1901 ==165882== ==165882== Process terminating with default action of signal 4 (SIGILL) ==165882== Illegal opcode at address 0x51D42F3 ==165882== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==165882== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==165882== by 0x51D42F3: Curl_open (url.c:551) ==165882== by 0x514CA2F: curl_easy_init (easy.c:372) ==165882== by 0x403A804: test_lib1901.lto_priv.0 (lib1901.c:58) ==165882== by 0x400347F: main (first.c:281) ==165882== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==165882== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165882== by 0x51D4243: Curl_open (url.c:530) ==165882== by 0x514CA2F: curl_easy_init (easy.c:372) ==165882== by 0x403A804: test_lib1901.lto_priv.0 (lib1901.c:58) ==165882== by 0x400347F: main (first.c:281) ==165882== === End of file valgrind1901 test 1905...[CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1905 ./libtest/libtests libCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1904 ../src/curl -q --output log/4/curl1904.out --include --trace-ascii log/4/trace1904 --trace-time http://test.1904:39793/we/want/that/page/1904 -p --proxy 127.0.0.1:46283 > log/4/stdout1904 2> log/4/stderr1904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:40545/1910 > log/7/stdout1910 2> log/7/stderr1910 1905 http://127.0.0.1:45171/we/want/1905 log/17/cookies1905 > log/17/stdout1905 2> log/17/stderr1905 1905: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 1905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:45171/we/want/1905 log/17/cookies1905 > log/17/stdout1905 2> log/17/stderr1905 === End of file commands.log === Start of file http_server.log 14:54:39.717480 ====> Client connect 14:54:39.717516 accept_connection 3 returned 4 14:54:39.717535 accept_connection 3 returned 0 14:54:39.717551 Read 93 bytes 14:54:39.717563 Process 93 bytes request 14:54:39.717577 Got request: GET /verifiedserver HTTP/1.1 14:54:39.717589 Are-we-friendly question received 14:54:39.717617 Wrote request (93 bytes) input to log/17/server.input 14:54:39.717635 Identifying ourselves as friends 14:54:39.717695 Response sent (56 bytes) and written to log/17/server.response 14:54:39.717708 special request received, no persistency 14:54:39.717719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1905 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:45171/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==166084== ==166084== Process terminating with default action of signal 4 (SIGILL) ==166084== Illegal opcode at address 0x519C257 ==166084== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==166084== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==166084== by 0x519C257: Curl_multi_handle (multi.c:236) ==166084== by 0x403EDA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==166084== by 0x400347F: main (first.c:281) ==166084== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==166084== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166084== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==166084== by 0x403EDA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==166084== by 0x400347F: main (first.c:281) ==166084== === End of file valgrind1905 test 1912...[Cross validate that gcc-typecheck macros match the option types.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1912 ./libtest/libtests lib1912 - > log/9/stdout1912 2> log/9/stderr1912 -------e-v- OK (1565 out of 1725, remaining: 00:11, took 0.577s, duration: 01:49) test 1904...[HTTP CONNECT with 204 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1904 ../src/curl -q --output log/4/curl1904.out --include --trace-ascii log/4/trace1904 --trace-time http://test.1904:39793/we/want/that/page/1904 -p --proxy 127.0.0.1:46283 > log/4/stdout1904 2> log/4/stderr1904 1904: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1904 ../src/curl -q --output log/4/curl1904.out --include --trace-ascii log/4/trace1904 --trace-time http://test.1904:39793/we/want/that/page/1904 -p --proxy 127.0.0.1:46283 > log/4/stdout1904 2> log/4/stderr1904 === End of file commands.log === Start of file http2_server.log 14:54:39.736565 ====> Client connect 14:54:39.736611 accept_connection 3 returned 4 14:54:39.736631 accept_connection 3 returned 0 14:54:39.736648 Read 93 bytes 14:54:39.736665 Process 93 bytes request 14:54:39.736679 Got request: GET /verifiedserver HTTP/1.1 14:54:39.736690 Are-we-friendly question received 14:54:39.736715 Wrote request (93 bytes) input to log/4/proxy.input 14:54:39.736735 Identifying ourselves as friends 14:54:39.736813 Response sent (56 bytes) and written to log/4/proxy.response 14:54:39.736828 special request received, no persistency 14:54:39.736838 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:46283... * Established connection to 127.0.0.1 (127.0.0.1 port 46283) from 127.0.0.1 port 48860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46283 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46283 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79908 === End of file http2_verify.out === Start of file http_server.log 14:54:39.713320 ====> Client connect 14:54:39.713350 accept_connection 3 returned 4 14:54:39.713366 accept_connection 3 returned 0 14:54:39.713381 Read 93 bytes 14:54:39.713391 Process 93 bytes request 14:54:39.713404 Got request: GET /verifiedserver HTTP/1.1 14:54:39.713413 Are-we-friendly question received 14:54:39.713435 Wrote request (93 bytes) input to log/4/server.input 14:54:39.713451 Identifying ourselves as friends 14:54:39.713499 Response sent (56 bytes) and written to log/4/server.response 14:54:39.713509 special request received, no persistency 14:54:39.713518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 42660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79908 === End of file proxy.response === Start of file server.cmd Testnum 1904 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind1904 ==166160== ==166160== Process terminating with default action of signal 4 (SIGILL) ==166160== Illegal opcode at address 0x4014B6F ==166160== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==166160== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==166160== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==166160== by 0x4004266: main (tool_main.c:199) === End of file valgrind1904 test 1910...[HTTP credentials with newline and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:40545/1910 > log/7/stdout1910 2> log/7/stderr1910 1910: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1909 ../src/curl -q --trace-ascii log/24/trace1909 --trace-time --retry 1 --retry-all-errors -o log/24/outfile1909 http://127.0.0.1:34449/1909 > log/24/stdout1909 2> log/24/stderr1909 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1911 ./libtest/libtests lib1911 - > log/19/stdout1911 2> log/19/stderr1911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:45969/not-there/1913 > log/22/stdout1913 2> log/22/stderr1913 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/2/stdout1915 2> log/2/stderr1915 ontents of files in the log/7/ dir after test 1910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:40545/1910 > log/7/stdout1910 2> log/7/stderr1910 === End of file commands.log === Start of file http_server.log 14:54:39.853507 ====> Client connect 14:54:39.853541 accept_connection 3 returned 4 14:54:39.853558 accept_connection 3 returned 0 14:54:39.853574 Read 93 bytes 14:54:39.853585 Process 93 bytes request 14:54:39.853600 Got request: GET /verifiedserver HTTP/1.1 14:54:39.853610 Are-we-friendly question received 14:54:39.853634 Wrote request (93 bytes) input to log/7/server.input 14:54:39.853650 Identifying ourselves as friends 14:54:39.853707 Response sent (56 bytes) and written to log/7/server.response 14:54:39.853718 special request received, no persistency 14:54:39.853728 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 37884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1910 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:40545/1910 === End of file stderr1910 === Start of file valgrind1910 ==166334== ==166334== Process terminating with default action of signal 4 (SIGILL) ==166334== Illegal opcode at address 0x51D42F3 ==166334== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166334== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166334== by 0x51D42F3: Curl_open (url.c:551) ==166334== by 0x514CA2F: curl_easy_init (easy.c:372) ==166334== by 0x4039577: test_lib1910.lto_priv.0 (lib1910.c:36) ==166334== by 0x400347F: main (first.c:281) ==166334== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166334== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166334== by 0x51D4243: Curl_open (url.c:530) ==166334== by 0x514CA2F: curl_easy_init (easy.c:372) ==166334== by 0x4039577: test_lib1910.lto_priv.0 (lib1910.c:36) ==166334== by 0x400347F: main (first.c:281) ==166334== === End of file valgrind1910 test 1909...[HTTP GET --retry-all-errors to overcome partial transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1909 ../src/curl -q --trace-ascii log/24/trace1909 --trace-time --retry 1 --retry-all-errors -o log/24/outfile1909 http://127.0.0.1:34449/1909 > log/24/stdout1909 2> log/24/stderr1909 1909: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1909 ../src/curl -q --trace-ascii log/24/trace1909 --trace-time --retry 1 --retry-all-errors -o log/24/outfile1909 http://127.0.0.1:34449/1909 > log/24/stdout1909 2> log/24/stderr1909 === End of file commands.log === Start of file http_server.log 14:54:39.842526 ====> Client connect 14:54:39.842558 accept_connection 3 returned 4 14:54:39.842576 accept_connection 3 returned 0 14:54:39.842720 Read 93 bytes 14:54:39.842733 Process 93 bytes request 14:54:39.842748 Got request: GET /verifiedserver HTTP/1.1 14:54:39.842758 Are-we-friendly question received 14:54:39.842783 Wrote request (93 bytes) input to log/24/server.input 14:54:39.842800 Identifying ourselves as friends 14:54:39.842863 Response sent (56 bytes) and written to log/24/server.response 14:54:39.842873 special request received, no persistency 14:54:39.842883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 1909 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind1909 ==166317== ==166317== Process terminating with default action of signal 4 (SIGILL) ==166317== Illegal opcode at address 0x4014B6F ==166317== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==166317== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==166317== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==166317== by 0x4004266: main (tool_main.c:199) === End of file valgrind1909 test 1911...[verify that curl_easy_setopt() rejects too long string inputs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1911 ./libtest/libtests lib1911 - > log/19/stdout1911 2> log/19/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/19/ dir after test 1911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1911 ./libtest/libtests lib1911 - > log/19/stdout1911 2> log/19/stderr1911 === End of file commands.log === Start of file server.cmd Testnum 1911 === End of file server.cmd === Start of file stderr1911 URL: - === End of file stderr1911 === Start of file valgrind1911 ==166420== ==166420== Process terminating with default action of signal 4 (SIGILL) ==166420== Illegal opcode at address 0x51D42F3 ==166420== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166420== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166420== by 0x51D42F3: Curl_open (url.c:551) ==166420== by 0x514CA2F: curl_easy_init (easy.c:372) ==166420== by 0x403F99F: test_lib1911.lto_priv.0 (lib1911.c:42) ==166420== by 0x400347F: main (first.c:281) ==166420== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166420== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166420== by 0x51D4243: Curl_open (url.c:530) ==166420== by 0x514CA2F: curl_easy_init (easy.c:372) ==166420== by 0x403F99F: test_lib1911.lto_priv.0 (lib1911.c:42) ==166420== by 0x400347F: main (first.c:281) ==166420== === End of file valgrind1911 test 1913...[FTP with NOBODY set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:45969/not-there/1913 > log/22/stdout1913 2> log/22/stderr1913 libtests returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/22/ dir after test 1913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:45969/not-there/1913 > log/22/stdout1913 2> log/22/stderr1913 === End of file commands.log === Start of file ftp_server.log 14:54:39.983565 ====> Client connect 14:54:39.983738 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:39.984069 < "USER anonymous" 14:54:39.984101 > "331 We are happy you popped in![CR][LF]" 14:54:39.984266 < "PASS ftp@example.com" 14:54:39.984290 > "230 Welcome you silly person[CR][LF]" 14:54:39.984439 < "PWD" 14:54:39.984466 > "257 "/" is current directory[CR][LF]" 14:54:39.984622 < "EPSV" 14:54:39.984645 ====> Passive DATA channel requested by client 14:54:39.984659 DATA sockfilt for passive data channel starting... 14:54:39.986252 DATA sockfilt for passive data channel started (pid 166550) 14:54:39.986364 DATA sockfilt for passive data channel listens on port 40585 14:54:39.986406 > "229 Entering Passive Mode (|||40585|)[LF]" 14:54:39.986428 Client has been notified that DATA conn will be accepted on port 40585 14:54:39.986668 Client connects to port 40585 14:54:39.986698 ====> Client established passive DATA connection on port 40585 14:54:39.986775 < "TYPE I" 14:54:39.986807 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:39.987007 < "SIZE verifiedserver" 14:54:39.987045 > "213 17[CR][LF]" 14:54:39.987213 < "RETR verifiedserver" 14:54:39.987248 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:39.987336 =====> Closing passive DATA connection... 14:54:39.987354 Server disconnects passive DATA connection 14:54:39.987598 Server disconnected passive DATA connection 14:54:39.987629 DATA sockfilt for passive data channel quits (pid 166550) 14:54:39.987833 DATA sockfilt for passive data channel quit (pid 166550) 14:54:39.987859 =====> Closed passive DATA connection 14:54:39.987886 > "226 File transfer complete[CR][LF]" 14:54:40.031556 < "QUIT" 14:54:40.031613 > "221 bye bye baby[CR][LF]" 14:54:40.032638 MAIN sockfilt said DISC 14:54:40.032668 ====> Client disconnected 14:54:40.032744 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:40.065521 ====> Client connect 14:54:40.066564 Received DATA (on stdin) 14:54:40.066581 > 160 bytes data, server => client 14:54:40.066595 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:40.066607 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:40.066618 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:40.066707 < 16 bytes data, client => server 14:54:40.066720 'USER anonymous\r\n' 14:54:40.066913 Received DATA (on stdin) 14:54:40.066927 > 33 bytes data, server => client 14:54:40.066939 '331 We are happy you popped in!\r\n' 14:54:40.066989 < 22 bytes data, client => server 14:54:40.067001 'PASS ftp@example.com\r\n' 14:54:40.067099 Received DATA (on stdin) 14:54:40.067111 > 30 bytes data, server => client 14:54:40.067123 '230 Welcome you silly person\r\n' 14:54:40.067169 < 5 bytes data, client => server 14:54:40.067180 'PWD\r\n' 14:54:40.067275 Received DATA (on stdin) 14:54:40.067287 > 30 bytes data, server => client 14:54:40.067299 '257 "/" is current directory\r\n' 14:54:40.067354 < 6 bytes data, client => server 14:54:40.067366 'EPSV\r\n' 14:54:40.069244 Received DATA (on stdin) 14:54:40.069259 > 38 bytes data, server => client 14:54:40.069271 '229 Entering Passive Mode (|||40585|)\n' 14:54:40.069421 < 8 bytes data, client => server 14:54:40.069434 'TYPE I\r\n' 14:54:40.069620 Received DATA (on stdin) 14:54:40.069634 > 33 bytes data, server => client 14:54:40.069668 '200 I modify TYPE as you wanted\r\n' 14:54:40.069723 < 21 bytes data, client => server 14:54:40.069738 'SIZE verifiedserver\r\n' 14:54:40.069858 Received DATA (on stdin) 14:54:40.069871 > 8 bytes data, server => client 14:54:40.069883 '213 17\r\n' 14:54:40.069934 < 21 bytes data, client => server 14:54:40.069948 'RETR verifiedserver\r\n' 14:54:40.070167 Received DATA (on stdin) 14:54:40.070180 > 29 bytes data, server => client 14:54:40.070192 '150 Binary junk (17 bytes).\r\n' 14:54:40.070698 Received DATA (on stdin) 14:54:40.070711 > 28 bytes data, server => client 14:54:40.070723 '226 File transfer complete\r\n' 14:54:40.113913 < 6 bytes data, client => server 14:54:40.113947 'QUIT\r\n' 14:54:40.114433 Received DATA (on stdin) 14:54:40.114449 > 18 bytes data, server => client 14:54:40.114462 '221 bye bye baby\r\n' 14:54:40.115394 ====> Client disconnect 14:54:40.115560 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:39.068892 Running IPv4 version 14:54:39.068947 Listening on port 40585 14:54:39.068983 Wrote pid 166550 to log/22/server/ftp_sockdata.pid 14:54:39.069004 Received PING (on stdin) 14:54:39.069093 Received PORT (on stdin) 14:54:39.069390 ====> Client connect 14:54:39.070220 Received DATA (on stdin) 14:54:39.070234 > 17 bytes data, server => client 14:54:39.070245 'WE ROOLZ: 80268\r\n' 14:54:39.070269 Received DISC (on stdin) 14:54:39.070281 ====> Client forcibly disconnected 14:54:39.070448 Received QUIT (on stdin) 14:54:39.070460 quits 14:54:39.070514 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 no such file Testnum 1913 === End of file server.cmd === Start of file stderr1913 URL: ftp://127.0.0.1:45969/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==166564== ==166564== Process terminating with default action of signal 4 (SIGILL) ==166564== Illegal opcode at address 0x51D42F3 ==166564== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166564== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166564== by 0x51D42F3: Curl_open (url.c:551) ==166564== by 0x514CA2F: curl_easy_init (easy.c:372) ==166564== by 0x40396D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==166564== by 0x400347F: main (first.c:281) ==166564== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166564== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166564== by 0x51D4243: Curl_open (url.c:530) ==166564== by 0x514CA2F: curl_easy_init (easy.c:372) ==166564== by 0x40396D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==166564== by 0x400347F: main (first.c:281) ==166564== === End of file valgrind1913 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:43113/not-there/1913 1 > log/1/stdout1914 2> log/1/stderr1914 test 1915...[HSTS read/write callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/2/stdout1915 2> log/2/stderr1915 1915: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:41.002198333 +0000 +++ log/2/check-generated 2025-09-11 14:54:41.002198333 +0000 @@ -1,6 +0,0 @@ -[0/4] 1.example.com 25250320 01:02:03[LF] -[1/4] 2.example.com 25250320 03:02:01[LF] -[2/4] 3.example.com 25250319 01:02:03[LF] -[3/4] 4.example.com unlimited[LF] -First request returned 7[LF] -Second request returned 42[LF] == Contents of files in the log/2/ dir after test 1915 === Start of file check-expected [0/4] 1.example.com 25250320 01:02:03[LF] [1/4] 2.example.com 25250320 03:02:01[LF] [2/4] 3.example.com 25250319 01:02:03[LF] [3/4] 4.example.com unlimited[LF] First request returned 7[LF] Second request returned 42[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/2/stdout1915 2> log/2/stderr1915 === End of file commands.log === Start of file server.cmd Testnum 1915 === End of file server.cmd === Start of file stderr1915 URL: http://127.0.0.1:47/not-there/1915 === End of file stderr1915 === Start of file valgrind1915 ==166558== ==166558== Process terminating with default action of signal 4 (SIGILL) ==166558== Illegal opcode at address 0x51D42F3 ==166558== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166558== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166558== by 0x51D42F3: Curl_open (url.c:551) ==166558== by 0x514CA2F: curl_easy_init (easy.c:372) ==166558== by 0x403D86E: test_lib1915.lto_priv.0 (lib1915.c:109) ==166558== by 0x400347F: main (first.c:281) ==166558== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166558== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166558== by 0x51D4243: Curl_open (url.c:530) ==166558== by 0x514CA2F: curl_easy_init (easy.c:372) ==166558== by 0x403D86E: test_lib1915.lto_priv.0 (lib1915.c:109) ==166558== by 0x400347F: main (first.c:281) ==166558== === End of file valgrind1915 test 1914...[FTP with NOBODY and FILETIME set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:43113/not-there/1913 1 > log/1/stdout1914 2> log/1/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/1/ dir after test 1914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:43113/not-there/1913 1 > log/1/stdout1914 2> log/1/stderr1914 === End of file commands.log === Start of file ftp_server.log 14:54:39.986828 ====> Client connect 14:54:39.986983 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:39.987267 < "USER anonymous" 14:54:39.987309 > "331 We are happy you popped in![CR][LF]" 14:54:39.987505 < "PASS ftp@example.com" 14:54:39.987536 > "230 Welcome you silly person[CR][LF]" 14:54:39.987718 < "PWD" 14:54:39.987757 > "257 "/" is current directory[CR][LF]" 14:54:39.987939 < "EPSV" 14:54:39.987968 ====> Passive DATA channel requested by client 14:54:39.987983 DATA sockfilt for passive data channel starting... 14:54:39.989555 DATA sockfilt for passive data channel started (pid 166551) 14:54:39.989677 DATA sockfilt for passive data channel listens on port 33277 14:54:39.989722 > "229 Entering Passive Mode (|||33277|)[LF]" 14:54:39.989744 Client has been notified that DATA conn will be accepted on port 33277 14:54:39.989975 Client connects to port 33277 14:54:39.990005 ====> Client established passive DATA connection on port 33277 14:54:39.990078 < "TYPE I" 14:54:39.990110 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:39.990479 < "SIZE verifiedserver" 14:54:39.990520 > "213 17[CR][LF]" 14:54:39.990696 < "RETR verifiedserver" 14:54:39.990735 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:39.990825 =====> Closing passive DATA connection... 14:54:39.990843 Server disconnects passive DATA connection 14:54:39.991084 Server disconnected passive DATA connection 14:54:39.991115 DATA sockfilt for passive data channel quits (pid 166551) 14:54:39.991321 DATA sockfilt for passive data channel quit (pid 166551) 14:54:39.991347 =====> Closed passive DATA connection 14:54:39.991376 > "226 File transfer complete[CR][LF]" 14:54:40.037125 < "QUIT" 14:54:40.037174 > "221 bye bye baby[CR][LF]" 14:54:40.038168 MAIN sockfilt said DISC 14:54:40.038205 ====> Client disconnected 14:54:40.038284 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:39.069542 ====> Client connect 14:54:39.069811 Received DATA (on stdin) 14:54:39.069828 > 160 bytes data, server => client 14:54:39.069842 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:39.069855 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:39.069866 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:39.069938 < 16 bytes data, client => server 14:54:39.069955 'USER anonymous\r\n' 14:54:39.070127 Received DATA (on stdin) 14:54:39.070142 > 33 bytes data, server => client 14:54:39.070156 '331 We are happy you popped in!\r\n' 14:54:39.070214 < 22 bytes data, client => server 14:54:39.070231 'PASS ftp@example.com\r\n' 14:54:39.070350 Received DATA (on stdin) 14:54:39.070365 > 30 bytes data, server => client 14:54:39.070378 '230 Welcome you silly person\r\n' 14:54:39.070433 < 5 bytes data, client => server 14:54:39.070449 'PWD\r\n' 14:54:39.070571 Received DATA (on stdin) 14:54:39.070584 > 30 bytes data, server => client 14:54:39.070596 '257 "/" is current directory\r\n' 14:54:39.070658 < 6 bytes data, client => server 14:54:39.070672 'EPSV\r\n' 14:54:39.072560 Received DATA (on stdin) 14:54:39.072575 > 38 bytes data, server => client 14:54:39.072587 '229 Entering Passive Mode (|||33277|)\n' 14:54:39.072698 < 8 bytes data, client => server 14:54:39.072717 'TYPE I\r\n' 14:54:39.072923 Received DATA (on stdin) 14:54:39.072937 > 33 bytes data, server => client 14:54:39.072949 '200 I modify TYPE as you wanted\r\n' 14:54:39.073188 < 21 bytes data, client => server 14:54:39.073207 'SIZE verifiedserver\r\n' 14:54:39.073335 Received DATA (on stdin) 14:54:39.073350 > 8 bytes data, server => client 14:54:39.073361 '213 17\r\n' 14:54:39.073414 < 21 bytes data, client => server 14:54:39.073429 'RETR verifiedserver\r\n' 14:54:39.073658 Received DATA (on stdin) 14:54:39.073672 > 29 bytes data, server => client 14:54:39.073684 '150 Binary junk (17 bytes).\r\n' 14:54:39.074190 Received DATA (on stdin) 14:54:39.074204 > 28 bytes data, server => client 14:54:39.074216 '226 File transfer complete\r\n' 14:54:39.119762 < 6 bytes data, client => server 14:54:39.119788 'QUIT\r\n' 14:54:39.119990 Received DATA (on stdin) 14:54:39.120004 > 18 bytes data, server => client 14:54:39.120017 '221 bye bye baby\r\n' 14:54:39.120915 ====> Client disconnect 14:54:39.121100 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:39.072163 Running IPv4 version 14:54:39.072214 Listening on port 33277 14:54:39.072252 Wrote pid 166551 to log/1/server/ftp_sockdata.pid 14:54:39.072275 Received PING (on stdin) 14:54:39.072400 Received PORT (on stdin) 14:54:39.072738 ====> Client cCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1918 ./libtest/libtests lib1918 - > log/23/stdout1918 2> log/23/stderr1918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:43359/1940 > log/12/stdout1940 2> log/12/stderr1940 onnect 14:54:39.073712 Received DATA (on stdin) 14:54:39.073727 > 17 bytes data, server => client 14:54:39.073739 'WE ROOLZ: 80194\r\n' 14:54:39.073762 Received DISC (on stdin) 14:54:39.073776 ====> Client forcibly disconnected 14:54:39.073935 Received QUIT (on stdin) 14:54:39.073949 quits 14:54:39.074002 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 no such file Testnum 1914 === End of file server.cmd === Start of file stderr1914 URL: ftp://127.0.0.1:43113/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==166589== ==166589== Process terminating with default action of signal 4 (SIGILL) ==166589== Illegal opcode at address 0x51D42F3 ==166589== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166589== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166589== by 0x51D42F3: Curl_open (url.c:551) ==166589== by 0x514CA2F: curl_easy_init (easy.c:372) ==166589== by 0x40396D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==166589== by 0x400347F: main (first.c:281) ==166589== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166589== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166589== by 0x51D4243: Curl_open (url.c:530) ==166589== by 0x514CA2F: curl_easy_init (easy.c:372) ==166589== by 0x40396D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==166589== by 0x400347F: main (first.c:281) ==166589== === End of file valgrind1914 test 1918...[curl_easy_option_by_name() and curl_easy_option_by_id()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1918 ./libtest/libtests lib1918 - > log/23/stdout1918 2> log/23/stderr1918 -------e-v- OK (1571 out of 1725, remaining: 00:10, took 0.867s, duration: 01:49) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42375/%20" > log/5/stdout1917 2> log/5/stderr1917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:33503/1919 > log/11/stdout1919 2> log/11/stderr1919 test 1940...[curl_easy_header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:43359/1940 > log/12/stdout1940 2> log/12/stderr1940 1940: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:41.148865001 +0000 +++ log/12/check-generated 2025-09-11 14:54:41.148865001 +0000 @@ -1,11 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19400002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Fold == is folding a line[LF] - Blank == [LF] - Blank2 == [LF] == Contents of files in the log/12/ dir after test 1940 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19400002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Fold == is folding a line[LF] Blank == [LF] Blank2 == [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:43359/1940 > log/12/stdout1940 2> log/12/stderr1940 === End of file commands.log === Start of file http_server.log 14:54:40.310367 ====> Client connect 14:54:40.310401 accept_connection 3 returned 4 14:54:40.310417 accept_connection 3 returned 0 14:54:40.310432 Read 93 bytes 14:54:40.310442 Process 93 bytes request 14:54:40.310455 Got request: GET /verifiedserver HTTP/1.1 14:54:40.310465 Are-we-friendly question received 14:54:40.310489 Wrote request (93 bytes) input to log/12/server.input 14:54:40.310506 Identifying ourselves as friends 14:54:40.310560 Response sent (56 bytes) and written to log/12/server.response 14:54:40.310570 special request received, no persistency 14:54:40.310580 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 1940 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:43359/1940 === End of file stderr1940 === Start of file valgrind1940 ==166839== ==166839== Process terminating with default action of signal 4 (SIGILL) ==166839== Illegal opcode at address 0x51D42F3 ==166839== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166839== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166839== by 0x51D42F3: Curl_open (url.c:551) ==166839== by 0x514CA2F: curl_easy_init (easy.c:372) ==166839== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166839== by 0x400347F: main (first.c:281) ==166839== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166839== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166839== by 0x51D4243: Curl_open (url.c:530) ==166839== by 0x514CA2F: curl_easy_init (easy.c:372) ==166839== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166839== by 0x400347F: main (first.c:281) ==166839== === End of file valgrind1940 test 1917...[MQTT PUBLISH with CURLOPT_POST set (no payload)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42375/%20" > log/5/stdout1917 2> log/5/stderr1917 1917: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42375/%20" > log/5/stdout1917 2> log/5/stderr1917 === End of file commands.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:42375/%20 === End of file stderr1917 === Start of file valgrind1917 ==166719== ==166719== Process terminating with default action of signal 4 (SIGILL) ==166719== Illegal opcode at address 0x51D42F3 ==166719== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166719== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166719== by 0x51D42F3: Curl_open (url.c:551) ==166719== by 0x514CA2F: curl_easy_init (easy.c:372) ==166719== by 0x403DE4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==166719== by 0x400347F: main (first.c:281) ==166719== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166719== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166719== by 0x51D4243: Curl_open (url.c:530) ==166719== by 0x514CA2F: curl_easy_init (easy.c:372) ==166719== by 0x403DE4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==166719== by 0x400347F: main (first.c:281) ==166719== === End of file valgrind1917 test 1919...[set CURLOPT_XOAUTH2_BEARER and do connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:33503/1919 > log/11/stdout1919 2> log/11/stderr1919 1919: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:33503/1919 > log/11/stdout1919 2> log/11/stderr1919 === End of file commands.log === Start of file http_server.log 14:54:40.306882 ====> Client connect 14:54:40.306918 accept_connection 3 returned 4 14:54:40.306937 accept_connection 3 returned 0 14:54:40.306954 Read 93 bytes 14:54:40.306966 Process 93 bytes request 14:54:40.306982 Got request: GET /verifiedserver HTTP/1.1 14:54:40.306993 Are-we-friendly question received 14:54:40.307024 Wrote request (93 bytes) input to log/11/server.input 14:54:40.307043 Identifying ourselves as friends 14:54:40.307111 Response sent (56 bytes) and written to log/11/server.response 14:54:40.307124 special request received, no persistency 14:54:40.307135 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.outCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42107/1942 > log/15/stdout1942 2> log/15/stderr1942 === Start of file server.cmd Testnum 1919 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:33503/1919 === End of file stderr1919 === Start of file valgrind1919 ==166829== ==166829== Process terminating with default action of signal 4 (SIGILL) ==166829== Illegal opcode at address 0x51D42F3 ==166829== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166829== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166829== by 0x51D42F3: Curl_open (url.c:551) ==166829== by 0x514CA2F: curl_easy_init (easy.c:372) ==166829== by 0x40397CC: UnknownInlinedFun (lib1919.c:35) ==166829== by 0x40397CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==166829== by 0x400347F: main (first.c:281) ==166829== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166829== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166829== by 0x51D4243: Curl_open (url.c:530) ==166829== by 0x514CA2F: curl_easy_init (easy.c:372) ==166829== by 0x40397CC: UnknownInlinedFun (lib1919.c:35) ==166829== by 0x40397CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==166829== by 0x400347F: main (first.c:281) ==166829== === End of file valgrind1919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1941 ./libtest/libtests lib1940 http://hello:39569/1941 127.0.0.1:37271 > log/20/stdout1941 2> log/20/stderr1941 test 1942...[curl_easy_header with 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42107/1942 > log/15/stdout1942 2> log/15/stderr1942 1942: stdout FAILED: --- log/15/check-expected 2025-09-11 14:54:41.268865003 +0000 +++ log/15/check-generated 2025-09-11 14:54:41.268865003 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19420002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == maybe different[LF] == Contents of files in the log/15/ dir after test 1942 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19420002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == maybe different[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42107/1942 > log/15/stdout1942 2> log/15/stderr1942 === End of file commands.log === Start of file http_server.log 14:54:40.395864 ====> Client connect 14:54:40.395904 accept_connection 3 returned 4 14:54:40.395923 accept_connection 3 returned 0 14:54:40.395938 Read 93 bytes 14:54:40.395951 Process 93 bytes request 14:54:40.395965 Got request: GET /verifiedserver HTTP/1.1 14:54:40.395976 Are-we-friendly question received 14:54:40.396007 Wrote request (93 bytes) input to log/15/server.input 14:54:40.396029 Identifying ourselves as friends 14:54:40.396097 Response sent (56 bytes) and written to log/15/server.response 14:54:40.396112 special request received, no persistency 14:54:40.396122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 1942 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:42107/1942 === End of file stderr1942 === Start of file valgrind1942 ==166993== ==166993== Process terminating with default action of signal 4 (SIGILL) ==166993== Illegal opcode at address 0x51D42F3 ==166993== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166993== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166993== by 0x51D42F3: Curl_open (url.c:551) ==166993== by 0x514CA2F: curl_easy_init (easy.c:372) ==166993== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166993== by 0x400347F: main (first.c:281) ==166993== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166993== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166993== by 0x51D4243: Curl_open (url.c:530) ==166993== by 0x514CA2F: curl_easy_init (easy.c:372) ==166993== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166993== by 0x400347F: main (first.c:281) ==166993== === End of file valgrind1942 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1979 ./unit/units unit1979 - > log/24/stdout1979 2> log/24/stderr1979 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:34037/1944 > log/21/stdout1944 2> log/21/stderr1944 test 1941...[curl_easy_header with CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1941 ./libtest/libtests lib1940 http://hello:39569/1941 127.0.0.1:37271 > log/20/stdout1941 2> log/20/stderr1941 1941: stdout FAILED: --- log/20/check-expected 2025-09-11 14:54:41.275531670 +0000 +++ log/20/check-generated 2025-09-11 14:54:41.275531670 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19410002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Server == from the connect[LF] - Silly-thing == yes yes[LF] == Contents of files in the log/20/ dir after test 1941 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19410002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Server == from the connect[LF] Silly-thing == yes yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1941 ./libtest/libtests lib1940 http://hello:39569/1941 127.0.0.1:37271 > log/20/stdout1941 2> log/20/stderr1941 === End of file commands.log === Start of file http2_server.log 14:54:40.408976 ====> Client connect 14:54:40.409014 accept_connection 3 returned 4 14:54:40.409032 accept_connection 3 returned 0 14:54:40.409049 Read 93 bytes 14:54:40.409063 Process 93 bytes request 14:54:40.409078 Got request: GET /verifiedserver HTTP/1.1 14:54:40.409089 Are-we-friendly question received 14:54:40.409114 Wrote request (93 bytes) input to log/20/proxy.input 14:54:40.409136 Identifying ourselves as friends 14:54:40.409201 Response sent (56 bytes) and written to log/20/proxy.response 14:54:40.409217 special request received, no persistency 14:54:40.409227 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37271... * Established connection to 127.0.0.1 (127.0.0.1 port 37271) from 127.0.0.1 port 45978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37271 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37271 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 78969 === End of file http2_verify.out === Start of file http_server.log 14:54:40.388997 ====> Client connect 14:54:40.389033 accept_connection 3 returned 4 14:54:40.389050 accept_connection 3 returned 0 14:54:40.389066 Read 93 bytes 14:54:40.389078 Process 93 bytes request 14:54:40.389092 Got request: GET /verifiedserver HTTP/1.1 14:54:40.389103 Are-we-friendly question received 14:54:40.389128 Wrote request (93 bytes) input to log/20/server.input 14:54:40.389146 Identifying ourselves as friends 14:54:40.389205 Response sent (56 bytes) and written to log/20/server.response 14:54:40.389216 special request received, no persistency 14:54:40.389226 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78969 === End of file proxy.response === Start of file server.cmd Testnum 1941 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr1941 URL: http://hello:39569/1941 === End of file stderr1941 === Start of file valgrind1941 ==166999== ==166999== Process terminating with default action of signal 4 (SIGILL) ==166999== Illegal opcode at address 0x51D42F3 ==166999== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==166999== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==166999== by 0x51D42F3: Curl_open (url.c:551) ==166999== by 0x514CA2F: curl_easy_init (easy.c:372) ==166999== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166999== by 0x400347F: main (first.c:281) ==166999== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==166999== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166999== by 0x51D4243: Curl_open (url.c:530) ==166999== by 0x514CA2F: curl_easy_init (easy.c:372) ==166999== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==166999== by 0x400347F: main (first.c:281) ==166999== === End of file valgrind1941 test 1979...[sigv4 canon_string unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1979 ./unit/units unit1979 - > log/24/stdout1979 2> log/24/stderr1979 -------e-v- OK (1586 out of 1725, remaining: 00:09, took 0.544s, duration: 01:49) CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1980 ./unit/units unit1980 - > log/19/stdout1980 2> log/19/stderr1980 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38791/1943 > log/6/stdout1943 2> log/6/stderr1943 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:34345/1948 > log/9/stdout1948 2> log/9/stderr1948 test 1944...[curl_easy_header with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:34037/1944 > log/21/stdout1944 2> log/21/stderr1944 1944: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:41.402198338 +0000 +++ log/21/check-generated 2025-09-11 14:54:41.402198338 +0000 @@ -1,6 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == the other one[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] -- Set-Cookie == 1cookie=data1; (0/2)[LF] -- Set-Cookie == 2cookie=data2; (1/2)[LF] == Contents of files in the log/21/ dir after test 1944 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == the other one[LF] Content-Type == text/html[LF] Content-Length == 0[LF] - Set-Cookie == 1cookie=data1; (0/2)[LF] - Set-Cookie == 2cookie=data2; (1/2)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:34037/1944 > log/21/stdout1944 2> log/21/stderr1944 === End of file commands.log === Start of file http_server.log 14:54:40.561039 ====> Client connect 14:54:40.561068 accept_connection 3 returned 4 14:54:40.561084 accept_connection 3 returned 0 14:54:40.561097 Read 93 bytes 14:54:40.561107 Process 93 bytes request 14:54:40.561119 Got request: GET /verifiedserver HTTP/1.1 14:54:40.561129 Are-we-friendly question received 14:54:40.561150 Wrote request (93 bytes) input to log/21/server.input 14:54:40.561166 Identifying ourselves as friends 14:54:40.561213 Response sent (56 bytes) and written to log/21/server.response 14:54:40.561223 special request received, no persistency 14:54:40.561233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 1944 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:34037/1944 === End of file stderr1944 === Start of file valgrind1944 ==167131== ==167131== Process terminating with default action of signal 4 (SIGILL) ==167131== Illegal opcode at address 0x51D42F3 ==167131== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167131== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167131== by 0x51D42F3: Curl_open (url.c:551) ==167131== by 0x514CA2F: curl_easy_init (easy.c:372) ==167131== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167131== by 0x400347F: main (first.c:281) ==167131== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167131== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167131== by 0x51D4243: Curl_open (url.c:530) ==167131== by 0x514CA2F: curl_easy_init (easy.c:372) ==167131== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167131== by 0x400347F: main (first.c:281) ==167131== === End of file valgrind1944 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:35893/1946 > log/10/stdout1946 2> log/10/stderr1946 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:45171/1947 http://127.0.0.1:45171/19470003 > log/17/stdout1947 2> log/17/stderr1947 test 1943...[curl_easy_header with trailers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38791/1943 > log/6/stdout1943 2> log/6/stderr1943 1943: stdout FAILED: --- log/6/check-expected 2025-09-11 14:54:41.408865005 +0000 +++ log/6/check-generated 2025-09-11 14:54:41.408865005 +0000 @@ -1,3 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == fakeit/0.9 fakeitbad/1.0[LF] - Server == sent-as-trailer[LF] == Contents of files in the log/6/ dir after test 1943 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == fakeit/0.9 fakeitbad/1.0[LF] Server == sent-as-trailer[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38791/1943 > log/6/stdout1943 2> log/6/stderr1943 === End of file commands.log === Start of file http_server.log 14:54:40.557918 ====> Client connect 14:54:40.557946 accept_connection 3 returned 4 14:54:40.557960 accept_connection 3 returned 0 14:54:40.557973 Read 93 bytes 14:54:40.557982 Process 93 bytes request 14:54:40.557994 Got request: GET /verifiedserver HTTP/1.1 14:54:40.558001 Are-we-friendly question received 14:54:40.558020 Wrote request (93 bytes) input to log/6/server.input 14:54:40.558034 Identifying ourselves as friends 14:54:40.558075 Response sent (56 bytes) and written to log/6/server.response 14:54:40.558083 special request received, no persistency 14:54:40.558090 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 40342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 1943 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:38791/1943 === End of file stderr1943 === Start of file valgrind1943 ==167125== ==167125== Process terminating with default action of signal 4 (SIGILL) ==167125== Illegal opcode at address 0x51D42F3 ==167125== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167125== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167125== by 0x51D42F3: Curl_open (url.c:551) ==167125== by 0x514CA2F: curl_easy_init (easy.c:372) ==167125== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167125== by 0x400347F: main (first.c:281) ==167125== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167125== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167125== by 0x51D4243: Curl_open (url.c:530) ==167125== by 0x514CA2F: curl_easy_init (easy.c:372) ==167125== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167125== by 0x400347F: main (first.c:281) ==167125== === End of file valgrind1943 test 1948...[CURLOPT_POST after CURLOPT_UPLOAD reusing handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:34345/1948 > log/9/stdout1948 2> log/9/stderr1948 1948: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:34345/1948 > log/9/stdout1948 2> log/9/stderr1948 === End of file commands.log === Start of file http_server.log 14:54:40.612325 ====> Client connect 14:54:40.612354 accept_connection 3 returned 4 14:54:40.612370 accept_connection 3 returned 0 14:54:40.612384 Read 93 bytes 14:54:40.612394 Process 93 bytes request 14:54:40.612406 Got request: GET /verifiedserver HTTP/1.1 14:54:40.612416 Are-we-friendly question received 14:54:40.612439 Wrote request (93 bytes) input to log/9/server.input 14:54:40.612457 Identifying ourselves as friends 14:54:40.612507 Response sent (56 bytes) and written to log/9/server.response 14:54:40.612517 special request received, no persistency 14:54:40.612527 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 40962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 1948 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:34345/1948 === End of file stderr1948 === Start of file valgrind1948 ==167303== ==167303== Process terminating with default action of signal 4 (SIGILL) ==167303== Illegal opcode at address 0x51D42F3 ==167303== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167303== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167303== by 0x51D42F3: Curl_open (url.c:551) ==167303== by 0x514CA2F: curl_easy_init (easy.c:372) ==167303== by 0x4039C31: test_lib1948.lto_priv.0 (lib1948.c:52) ==167303== by 0x400347F: main (first.c:281) ==167303== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167303== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167303== by 0x51D4243: Curl_open (url.c:530) ==167303== by 0x514CA2F: curl_easy_init (easy.c:372) ==167303== by 0x4039C31: test_lib1948.lto_priv.0 (lib1948.c:52) ==167303== by 0x400347F: main (first.c:281) ==167303== === End of file valgrind1948 test 1980...[sigv4 canon_query unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1980 ./unit/units unit1980 - > log/19/stdout1980 2> log/19/stderr1980 -------e-v- OK (1587 out of 1725, remaining: 00:09, took 0.602s, duration: 01:50) test 1946...[curl_easy_header with redirect but get headers from first request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:35893/1946 > log/10/stdout1946 2> log/10/stderr1946 1946: stdout FAILED: --- log/10/check-expected 2025-09-11 14:54:41.445531673 +0000 +++ log/10/check-generated 2025-09-11 14:54:41.445531673 +0000 @@ -1,8 +0,0 @@ - Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19460002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] == Contents of files in the log/10/ dir after test 1946 === Start of file check-expected Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19460002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:35893/1946 > log/10/stdout1946 2> log/10/stderr1946 === End of file commands.log === Start of file http_server.log 14:54:40.610169 ====> Client connect 14:54:40.610200 accept_connection 3 returned 4 14:54:40.610217 accept_connection 3 returned 0 14:54:40.610233 Read 93 bytes 14:54:40.610244 Process 93 bytes request 14:54:40.610257 Got request: GET /verifiedserver HTTP/1.1 14:54:40.610268 Are-we-friendly question received 14:54:40.610291 Wrote request (93 bytes) input to log/10/server.input 14:54:40.610308 Identifying ourselves as friends 14:54:40.610358 Response sent (56 bytes) and written to log/10/server.response 14:54:40.610369 special request received, no persistency 14:54:40.610379 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 1946 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:35893/1946 === End of file stderr1946 === Start of file valgrind1946 ==167299== ==167299== Process terminating with default action of signal 4 (SIGILL) ==167299== Illegal opcode at address 0x51D42F3 ==167299== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167299== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167299== by 0x51D42F3: Curl_open (url.c:551) ==167299== by 0x514CA2F: curl_easy_init (easy.c:372) ==167299== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167299== by 0x400347F: main (first.c:281) ==167299== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167299== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167299== by 0x51D4243: Curl_open (url.c:530) ==167299== by 0x514CA2F: curl_easy_init (easy.c:372) ==167299== by 0x403FCD1: test_lib1940.lto_priv.0 (lib1940.c:94) ==167299== by 0x400347F: main (first.c:281) ==167299== === End of file valgrind1946 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1945 ./libtest/libtests lib1945 http://hello:46275/1945 127.0.0.1:35323 > log/18/stdout1945 2> log/18/stderr1945 test 1947...[curl_easy_nextheader on second request after first did redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:45171/1947 http://127.0.0.1:45171/19470003 > log/17/stdout1947 2> log/17/stderr1947 1947: stdout FAILED: --- log/17/check-expected 2025-09-11 14:54:41.452198340 +0000 +++ log/17/check-generated 2025-09-11 14:54:41.452198340 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/17/ dir after test 1947 === Start of file check-expected count = 2[LF] count = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:45171/1947 http://127.0.0.1:45171/19470003 > log/17/stdout1947 2> log/17/stderr1947 === End of file commands.log === Start of file http_server.log 14:54:40.611846 ====> Client connect 14:54:40.611878 accept_connection 3 returned 4 14:54:40.611895 accept_connection 3 returned 0 14:54:40.611909 Read 93 bytes 14:54:40.611920 Process 93 bytes request 14:54:40.611933 Got request: GET /verifiedserver HTTP/1.1 14:54:40.611943 Are-we-friendly question received 14:54:40.611967 Wrote request (93 bytes) input to log/17/server.input 14:54:40.611984 Identifying ourselves as friends 14:54:40.612036 Response sent (56 bytes) and written to log/17/server.response 14:54:40.612046 special request received, no persistency 14:54:40.612056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 1947 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:45171/1947 === End of file stderr1947 === Start of file valgrind1947 ==167318== ==167318== Process terminating with default action of signal 4 (SIGILL) ==167318== Illegal opcode at address 0x51D42F3 ==167318== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167318== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167318== by 0x51D42F3: Curl_open (url.c:551) ==167318== by 0x514CA2F: curl_easy_init (easy.c:372) ==167318== by 0x40401AC: UnknownInlinedFun (lib1947.c:46) ==167318== by 0x40401AC: test_lib1947.lto_priv.0 (lib1947.c:36) ==167318== by 0x400347F: main (first.c:281) ==167318== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167318== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167318== by 0x51D4243: Curl_open (url.c:530) ==167318== by 0x514CA2F: curl_easy_init (easy.c:372) ==167318== by 0x40401AC: UnknownInlinedFun (lib1947.c:46) ==167318== by 0x40401AC: test_lib1947.lto_priv.0 (lib1947.c:36) ==167318== by 0x400347F: main (first.c:281) ==167318== === End of file valgrind1947 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:34475/file 127.0.0.1 34475 > log/16/stdout1960 2> log/16/stderr1960 test 1945...[curl_easy_nextheader with server + CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1945 ./libtest/libtests lib1945 http://hello:46275/1945 127.0.0.1:35323 > log/18/stdout1945 2> log/18/stderr1945 1945: stdout FAILED: --- log/18/check-expected 2025-09-11 14:54:41.455531672 +0000 +++ log/18/check-generated 2025-09-11 14:54:41.455531672 +0000 @@ -1,10 +0,0 @@ - Server == from the connect (0/2)[LF] - Silly-thing == yes yes (0/1)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] - Server == test with trailing space (1/2)[LF] - Content-Type == text/html (0/1)[LF] - Content-Length == 0 (0/1)[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] - Location == /19450002 (0/1)[LF] == Contents of files in the log/18/ dir after test 1945 === Start of file check-expected Server == from the connect (0/2)[LF] Silly-thing == yes yes (0/1)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] Server == test with trailing space (1/2)[LF] Content-Type == text/html (0/1)[LF] Content-Length == 0 (0/1)[LF] Set-Cookie == onecookie=data; (0/3)[LF] Set-Cookie == secondcookie=2data; (1/3)[LF] Set-Cookie == cookie3=data3; (2/3)[LF] Location == /19450002 (0/1)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1945 ./libtest/libtests lib1945 http://hello:46275/1945 127.0.0.1:35323 > log/18/stdout1945 2> log/18/stderr1945 === End of file commands.log === Start of file http2_server.log 14:54:40.609576 ====> Client connect 14:54:40.609610 accept_connection 3 returned 4 14:54:40.609627 accept_connection 3 returned 0 14:54:40.609643 Read 93 bytes 14:54:40.609706 Process 93 bytes request 14:54:40.609719 Got request: GET /verifiedserver HTTP/1.1 14:54:40.609729 Are-we-friendly question received 14:54:40.609754 Wrote request (93 bytes) input to log/18/proxy.input 14:54:40.609772 Identifying ourselves as friends 14:54:40.609825 Response sent (56 bytes) and written to log/18/proxy.response 14:54:40.609836 special request received, no persistency 14:54:40.609845 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35323... * Established connection to 127.0.0.1 (127.0.0.1 port 35323) from 127.0.0.1 port 55614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35323 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35323 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79088 === End of file http2_verify.out === Start of file http_server.log 14:54:40.590626 ====> Client connect 14:54:40.590662 accept_connection 3 returned 4 14:54:40.590682 accept_connection 3 returned 0 14:54:40.590698 Read 93 bytes 14:54:40.590710 Process 93 bytes request 14:54:40.590725 Got request: GET /verifiedserver HTTP/1.1 14:54:40.590736 Are-we-friendly question received 14:54:40.590761 Wrote request (93 bytes) input to log/18/server.input 14:54:40.590780 Identifying ourselves as friends 14:54:40.590837 Response sent (57 bytes) and written to log/18/server.response 14:54:40.590850 special request received, no persistency 14:54:40.590861 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79088 === End of file proxy.response === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file stderr1945 URL: http://hello:46275/1945 === End of file stderr1945 === Start of file valgrind1945 ==167305== ==167305== Process terminating with default action of signal 4 (SIGILL) ==167305== Illegal opcode at address 0x51D42F3 ==167305== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167305== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167305== by 0x51D42F3: Curl_open (url.c:551) ==167305== by 0x514CA2F: curl_easy_init (easy.c:372) ==167305== by 0x403FFAC: UnknownInlinedFun (lib1945.c:56) ==167305== by 0x403FFAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==167305== by 0x400347F: main (first.c:281) ==167305== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167305== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167305== by 0x51D4243: Curl_open (url.c:530) ==167305== by 0x514CA2F: curl_easy_init (easy.c:372) ==167305== by 0x403FFAC: UnknownInlinedFun (lib1945.c:56) ==167305== by 0x403FFAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==167305== by 0x400347F: main (first.c:281) ==167305== === End of file valgrind1945 prechecked ./libtest/libtests lib1960 check test 1960...[application hands over already connected socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:34475/file 127.0.0.1 34475 > log/16/stdout1960 2> log/16/stderr1960 1960: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 1960 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:34475/file 127.0.0.1 34475 > log/16/stdout1960 2> log/16/stderr1960 === End of file commands.log === Start of file http_server.log 14:54:40.638489 ====> Client connect 14:54:40.638518 accept_connection 3 returned 4 14:54:40.638532 accept_connection 3 returned 0 14:54:40.638547 Read 93 bytes 14:54:40.638557 Process 93 bytes request 14:54:40.638570 Got request: GET /verifiedserver HTTP/1.1 14:54:40.638580 Are-we-friendly question received 14:54:40.638607 Wrote request (93 bytes) input to log/16/server.input 14:54:40.638625 Identifying ourselves as friends 14:54:40.638681 Response sent (56 bytes) and written to log/16/server.response 14:54:40.638693 special request received, no persistency 14:54:40.638703 ====> Client disconnect 0 14:54:41.476379 ====> Client connect 14:54:41.476409 accept_connection 3 returned 4 14:54:41.476425 accept_connection 3 returned 0 14:54:41.553821 Connection closed by client 14:54:41.553849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file precheck-1960 URL: check Test ended with result 0 === End of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:39793 > log/4/stdout1964 2> log/4/stderr1964 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:40545/1977 > log/7/stdout1977 2> log/7/stderr1977 e precheck-1960 === Start of file server.cmd Testnum 1960 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:34475/file === End of file stderr1960 === Start of file valgrind1960 ==167515== ==167515== Process terminating with default action of signal 4 (SIGILL) ==167515== Illegal opcode at address 0x51D42F3 ==167515== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167515== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167515== by 0x51D42F3: Curl_open (url.c:551) ==167515== by 0x514CA2F: curl_easy_init (easy.c:372) ==167515== by 0x4040534: test_lib1960.lto_priv.0 (lib1960.c:119) ==167515== by 0x400347F: main (first.c:281) ==167515== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167515== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167515== by 0x51D4243: Curl_open (url.c:530) ==167515== by 0x514CA2F: curl_easy_init (easy.c:372) ==167515== by 0x4040534: test_lib1960.lto_priv.0 (lib1960.c:119) ==167515== by 0x400347F: main (first.c:281) ==167515== === End of file valgrind1960 test 1964...[HTTP AWS_SIGV4 with X-Xxx-Date header set manually] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:39793 > log/4/stdout1964 2> log/4/stderr1964 1964: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:39793 > log/4/stdout1964 2> log/4/stderr1964 === End of file commands.log === Start of file http_server.log 14:54:40.700260 ====> Client connect 14:54:40.700294 accept_connection 3 returned 4 14:54:40.700310 accept_connection 3 returned 0 14:54:40.700325 Read 93 bytes 14:54:40.700336 Process 93 bytes request 14:54:40.700349 Got request: GET /verifiedserver HTTP/1.1 14:54:40.700359 Are-we-friendly question received 14:54:40.700380 Wrote request (93 bytes) input to log/4/server.input 14:54:40.700397 Identifying ourselves as friends 14:54:40.700453 Response sent (56 bytes) and written to log/4/server.response 14:54:40.700464 special request received, no persistency 14:54:40.700473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 42676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 1964 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file stderr1964 URL: http://xxx:yyy@127.0.0.1:9000/1964/testapi/test === End of file stderr1964 === Start of file valgrind1964 ==167582== ==167582== Process terminating with default action of signal 4 (SIGILL) ==167582== Illegal opcode at address 0x51D42F3 ==167582== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167582== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167582== by 0x51D42F3: Curl_open (url.c:551) ==167582== by 0x514CA2F: curl_easy_init (easy.c:372) ==167582== by 0x403C08C: UnknownInlinedFun (lib1964.c:36) ==167582== by 0x403C08C: test_lib1964.lto_priv.0 (lib1964.c:28) ==167582== by 0x400347F: main (first.c:281) ==167582== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167582== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167582== by 0x51D4243: Curl_open (url.c:530) ==167582== by 0x514CA2F: curl_easy_init (easy.c:372) ==167582== by 0x403C08C: UnknownInlinedFun (lib1964.c:36) ==167582== by 0x403C08C: test_lib1964.lto_priv.0 (lib1964.c:28) ==167582== by 0x400347F: main (first.c:281) ==167582== === End of file valgrind1964 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2000 ../src/curl -q --trace-ascii log/22/trace2000 --trace-time ftp://127.0.0.1:45969/2000 file://localhost/startdir/src/build-curl/tests/log/22/test2000.txt > log/22/stdout2000 2> log/22/stderr2000 test 1977...[CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:40545/1977 > log/7/stdout1977 2> log/7/stderr1977 1977: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:41.672198342 +0000 +++ log/7/check-generated 2025-09-11 14:54:41.672198342 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:40545/1977[LF] -effective URL: http://127.0.0.1:40545/1977?foo[LF] -effective URL: http://127.0.0.1:40545/1977?foo&bar[LF] == Contents of files in the log/7/ dir after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:40545/1977[LF] effective URL: http://127.0.0.1:40545/1977?foo[LF] effective URL: http://127.0.0.1:40545/1977?foo&bar[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:40545/1977 > log/7/stdout1977 2> log/7/stderr1977 === End of file commands.log === Start of file http_server.log 14:54:40.836400 ====> Client connect 14:54:40.836433 accept_connection 3 returned 4 14:54:40.836450 accept_connection 3 returned 0 14:54:40.836466 Read 93 bytes 14:54:40.836476 Process 93 bytes request 14:54:40.836490 Got request: GET /verifiedserver HTTP/1.1 14:54:40.836501 Are-we-friendly question received 14:54:40.836523 Wrote request (93 bytes) input to log/7/server.input 14:54:40.836540 Identifying ourselves as friends 14:54:40.836595 Response sent (56 bytes) and written to log/7/server.response 14:54:40.836605 special request received, no persistency 14:54:40.836615 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 37886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 1977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file stderr1977 URL: http://127.0.0.1:40545/1977 === End of file stderr1977 === Start of file valgrind1977 ==167690== ==167690== Process terminating with default action of signal 4 (SIGILL) ==167690== Illegal opcode at address 0x51D42F3 ==167690== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167690== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167690== by 0x51D42F3: Curl_open (url.c:551) ==167690== by 0x514CA2F: curl_easy_init (easy.c:372) ==167690== by 0x403DF77: test_lib1977.lto_priv.0 (lib1977.c:37) ==167690== by 0x400347F: main (first.c:281) ==167690== 88 bytes in 1 blocks are definitely lost in loss record 573 of 641 ==167690== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167690== by 0x403DF53: test_lib1977.lto_priv.0 (lib1977.c:32) ==167690== by 0x400347F: main (first.c:281) ==167690== ==167690== 5,408 bytes in 1 blocks are definitely lost in loss record 639 of 641 ==167690== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167690== by 0x51D4243: Curl_open (url.c:530) ==167690== by 0x514CA2F: curl_easy_init (easy.c:372) ==167690== by 0x403DF77: test_lib1977.lto_priv.0 (lib1977.c:37) ==167690== by 0x400347F: main (first.c:281) ==167690== === End of file valgrind1977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:35271/%20" > log/14/stdout1916 2> log/14/stderr1916 test 2000...[FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2000 ../src/curl -q --trace-ascii log/22/trace2000 --trace-time ftp://127.0.0.1:45969/2000 file://localhost/startdir/src/build-curl/tests/log/22/test2000.txt > log/22/stdout2000 2> log/22/stderr2000 2000: stdout FAILED: --- log/22/check-expected 2025-09-11 14:54:41.958865013 +0000 +++ log/22/check-generated 2025-09-11 14:54:41.958865013 +0000 @@ -1,11 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/22/ dir after test 2000 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2000 ../src/curl -q --trace-ascii log/22/trace2000 --trace-time ftp://127.0.0.1:45969/2000 file://localhost/startdir/src/build-curl/tests/log/22/test2000.txt > log/22/stdout2000 2> log/22/stderr2000 === End of file commands.log === Start of file ftp_server.log 14:54:41.022931 ====> Client connect 14:54:41.023080 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.023375 < "USER anonymous" 14:54:41.023412 > "331 We are happy you popped in![CR][LF]" 14:54:41.023602 < "PASS ftp@example.com" 14:54:41.023629 > "230 Welcome you silly person[CR][LF]" 14:54:41.023805 < "PWD" 14:54:41.023836 > "257 "/" is current directory[CR][LF]" 14:54:41.024024 < "EPSV" 14:54:41.024052 ====> Passive DATA channel requested by client 14:54:41.024068 DATA sockfilt for passive data channel starting... 14:54:41.025641 DATA sockfilt for passive data channel started (pid 167841) 14:54:41.025754 DATA sockfilt for passive data channel listens on port 39653 14:54:41.025791 > "229 Entering Passive Mode (|||39653|)[LF]" 14:54:41.025809 Client has been notified that DATA conn will be accepted on port 39653 14:54:41.025991 Client connects to port 39653 14:54:41.026029 ====> Client established passive DATA connection on port 39653 14:54:41.026107 < "TYPE I" 14:54:41.026138 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.026313 < "SIZE verifiedserver" 14:54:41.026349 > "213 17[CR][LF]" 14:54:41.026509 < "RETR verifiedserver" 14:54:41.026542 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:41.026621 =====> Closing passive DATA connection... 14:54:41.026636 Server disconnects passive DATA connection 14:54:41.026789 Server disconnected passive DATA connection 14:54:41.026815 DATA sockfilt for passive data channel quits (pid 167841) 14:54:41.027021 DATA sockfilt for passive data channel quit (pid 167841) 14:54:41.027044 =====> Closed passive DATA connection 14:54:41.027070 > "226 File transfer complete[CR][LF]" 14:54:41.067207 < "QUIT" 14:54:41.067262 > "221 bye bye baby[CR][LF]" 14:54:41.067516 MAIN sockfilt said DISC 14:54:41.067548 ====> Client disconnected 14:54:41.067614 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:41.105641 ====> Client connect 14:54:41.105903 Received DATA (on stdin) 14:54:41.105920 > 160 bytes data, server => client 14:54:41.105934 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:41.105946 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:41.105957 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:41.106041 < 16 bytes data, client => server 14:54:41.106056 'USER anonymous\r\n' 14:54:41.106226 Received DATA (on stdin) 14:54:41.106240 > 33 bytes data, server => client 14:54:41.106252 '331 We are happy you popped in!\r\n' 14:54:41.106306 < 22 bytes data, client => server 14:54:41.106331 'PASS ftp@example.com\r\n' 14:54:41.106441 Received DATA (on stdin) 14:54:41.106454 > 30 bytes data, server => client 14:54:41.106466 '230 Welcome you silly person\r\n' 14:54:41.106521 < 5 bytes data, client => server 14:54:41.106539 'PWD\r\n' 14:54:41.106647 Received DATA (on stdin) 14:54:41.106660 > 30 bytes data, server => client 14:54:41.106672 '257 "/" is current directory\r\n' 14:54:41.106735 < 6 bytes data, client => server 14:54:41.106747 'EPSV\r\n' 14:54:41.108622 Received DATA (on stdin) 14:54:41.108635 > 38 bytes data, server => client 14:54:41.108646 '229 Entering Passive Mode (|||39653|)\n' 14:54:41.108774 < 8 bytes data, client => server 14:54:41.108787 'TYPE I\r\n' 14:54:41.108950 Received DATA (on stdin) 14:54:41.108965 > 33 bytes data, server => client 14:54:41.108978 '200 I modify TYPE as you wanted\r\n' 14:54:41.109035 < 21 bytes data, client => server 14:54:41.109049 'SIZE verifiedserver\r\n' 14:54:41.109159 Received DATA (on stdin) 14:54:41.109172 > 8 bytes data, server => client 14:54:41.109184 '213 17\r\n' 14:54:41.109235 < 21 bytes data, client => server 14:54:41.109248 'RETR verifiedserver\r\n' 14:54:41.109448 Received DATA (on stdin) 14:54:41.109461 > 29 bytes data, server => client 14:54:41.109473 '150 Binary junk (17 bytes).\r\n' 14:54:41.109882 Received DATA (on stdin) 14:54:41.109896 > 28 bytes data, server => client 14:54:41.109908 '226 File transfer complete\r\n' 14:54:41.149812 < 6 bytes data, client => server 14:54:41.149841 'QUIT\r\n' 14:54:41.150077 Received DATA (on stdin) 14:54:41.150091 > 18 bytes data, server => client 14:54:41.150103 '221 bye bye baby\r\n' 14:54:41.150272 ====> Client disconnect 14:54:41.150350 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.108279 Running IPv4 version 14:54:41.108335 Listening on port 39653 14:54:41.108370 Wrote pid 167841 to log/22/server/ftp_sockdata.pid 14:54:41.108392 Received PING (on stdin) 14:54:41.108483 Received PORT (on stdin) 14:54:41.108747 ====> Client connect 14:54:41.109364 Received DATA (on stdin) 14:54:41.109381 > 17 bytes data, server => client 14:54:41.109393 'WE ROOLZ: 80268\r\n' 14:54:41.109447 Received DISC (on stdin) 14:54:41.109460 ====> Client forcibly disconnected 14:54:41.109634 Received QUIT (on stdin) 14:54:41.109653 quits 14:54:41.109706 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2000 === End of file server.cmd === Start of file test2000.txt foo bar bar foo moo === End of file test2000.txt === Start of file valgrind2000 ==167919== ==167919== Process terminating with default action of signal 4 (SIGILL) ==167919== Illegal opcode at address 0x4014B6F ==167919== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==167919== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==167919== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==167919== by 0x4004266: main (tool_main.c:199) === End of file valgrind2000 startnew: ./server/servers mqttd --port 0 --pidfile log/14/server/mqtt_server.pid --portfile log/14/server/mqtt_server.port --config log/14/server.cmd --logfile log/14/mqtt_server.log --logdir log/14 RUN: MQTT server is now running PID 166579 on PORT 35271 * pid mqtt => 166579 166579 test 1916...[MQTT PUBLISH with no POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:35271/%20" > log/14/stdout1916 2> log/14/stderr1916 1916: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 1916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --supprCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2001 ../src/curl -q --trace-ascii log/2/trace2001 --trace-time http://127.0.0.1:37587/20010001 ftp://127.0.0.1:39801/20010002 file://localhost/startdir/src/build-curl/tests/log/2/test2001.txt > log/2/stdout2001 2> log/2/stderr2001 essions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:35271/%20" > log/14/stdout1916 2> log/14/stderr1916 === End of file commands.log === Start of file mqtt_server.log 14:54:40.137000 Running IPv4 version 14:54:40.137057 Listening on port 35271 14:54:40.137099 Wrote pid 166579 to log/14/server/mqtt_server.pid 14:54:40.137132 Wrote port 35271 to log/14/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1916 === End of file server.cmd === Start of file stderr1916 URL: mqtt://127.0.0.1:35271/%20 === End of file stderr1916 === Start of file valgrind1916 ==167882== ==167882== Process terminating with default action of signal 4 (SIGILL) ==167882== Illegal opcode at address 0x51D42F3 ==167882== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==167882== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==167882== by 0x51D42F3: Curl_open (url.c:551) ==167882== by 0x514CA2F: curl_easy_init (easy.c:372) ==167882== by 0x403DE4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==167882== by 0x400347F: main (first.c:281) ==167882== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==167882== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167882== by 0x51D4243: Curl_open (url.c:530) ==167882== by 0x514CA2F: curl_easy_init (easy.c:372) ==167882== by 0x403DE4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==167882== by 0x400347F: main (first.c:281) ==167882== === End of file valgrind1916 test 2001...[HTTP GET followed by FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2001 ../src/curl -q --trace-ascii log/2/trace2001 --trace-time http://127.0.0.1:37587/20010001 ftp://127.0.0.1:39801/20010002 file://localhost/startdir/src/build-curl/tests/log/2/test2001.txt > log/2/stdout2001 2> log/2/stderr2001 2001: stdout FAILED: --- log/2/check-expected 2025-09-11 14:54:41.972198347 +0000 +++ log/2/check-generated 2025-09-11 14:54:41.972198347 +0000 @@ -1,12 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/2/ dir after test 2001 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2001 ../src/curl -q --trace-ascii log/2/trace2001 --trace-time http://127.0.0.1:37587/20010001 ftp://127.0.0.1:39801/20010002 file://localhost/startdir/src/build-curl/tests/log/2/test2001.txt > log/2/stdout2001 2> log/2/stderr2001 === End of file commands.log === Start of file ftp_server.log 14:54:41.049306 ====> Client connect 14:54:41.049457 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.053894 < "USER anonymous" 14:54:41.053936 > "331 We are happy you popped in![CR][LF]" 14:54:41.054119 < "PASS ftp@example.com" 14:54:41.054148 > "230 Welcome you silly person[CR][LF]" 14:54:41.054325 < "PWD" 14:54:41.054358 > "257 "/" is current directory[CR][LF]" 14:54:41.054544 < "EPSV" 14:54:41.054572 ====> Passive DATA channel requested by client 14:54:41.054588 DATA sockfilt for passive data channel starting... 14:54:41.056302 DATA sockfilt for passive data channel started (pid 167878) 14:54:41.056421 DATA sockfilt for passive data channel listens on port 43541 14:54:41.056457 > "229 Entering Passive Mode (|||43541|)[LF]" 14:54:41.056475 Client has been notified that DATA conn will be accepted on port 43541 14:54:41.056699 Client connects to port 43541 14:54:41.056726 ====> Client established passive DATA connection on port 43541 14:54:41.056801 < "TYPE I" 14:54:41.056827 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.056994 < "SIZE verifiedserver" 14:54:41.057028 > "213 18[CR][LF]" 14:54:41.057175 < "RETR verifiedserver" 14:54:41.057207 > "150 Binary junk (18 bytes).[CR][LF]" 14:54:41.057288 =====> Closing passive DATA connection... 14:54:41.057304 Server disconnects passive DATA connection 14:54:41.057534 Server disconnected passive DATA connection 14:54:41.057560 DATA sockfilt for passive data channel quits (pid 167878) 14:54:41.057756 DATA sockfilt for passive data channel quit (pid 167878) 14:54:41.057778 =====> Closed passive DATA connection 14:54:41.057802 > "226 File transfer complete[CR][LF]" 14:54:41.100925 < "QUIT" 14:54:41.100975 > "221 bye bye baby[CR][LF]" 14:54:41.101171 MAIN sockfilt said DISC 14:54:41.101200 ====> Client disconnected 14:54:41.101261 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:41.132007 ====> Client connect 14:54:41.136407 Received DATA (on stdin) 14:54:41.136435 > 160 bytes data, server => client 14:54:41.136451 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:41.136463 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:41.136475 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:41.136558 < 16 bytes data, client => server 14:54:41.136580 'USER anonymous\r\n' 14:54:41.136752 Received DATA (on stdin) 14:54:41.136767 > 33 bytes data, server => client 14:54:41.136779 '331 We are happy you popped in!\r\n' 14:54:41.136833 < 22 bytes data, client => server 14:54:41.136848 'PASS ftp@example.com\r\n' 14:54:41.136960 Received DATA (on stdin) 14:54:41.136974 > 30 bytes data, server => client 14:54:41.136987 '230 Welcome you silly person\r\n' 14:54:41.137041 < 5 bytes data, client => server 14:54:41.137056 'PWD\r\n' 14:54:41.137172 Received DATA (on stdin) 14:54:41.137187 > 30 bytes data, server => client 14:54:41.137199 '257 "/" is current directory\r\n' 14:54:41.137262 < 6 bytes data, client => server 14:54:41.137276 'EPSV\r\n' 14:54:41.139290 Received DATA (on stdin) 14:54:41.139304 > 38 bytes data, server => client 14:54:41.139317 '229 Entering Passive Mode (|||43541|)\n' 14:54:41.139455 < 8 bytes data, client => server 14:54:41.139467 'TYPE I\r\n' 14:54:41.139638 Received DATA (on stdin) 14:54:41.139651 > 33 bytes data, server => client 14:54:41.139671 '200 I modify TYPE as you wanted\r\n' 14:54:41.139721 < 21 bytes data, client => server 14:54:41.139733 'SIZE verifiedserver\r\n' 14:54:41.139837 Received DATA (on stdin) 14:54:41.139849 > 8 bytes data, server => client 14:54:41.139860 '213 18\r\n' 14:54:41.139906 < 21 bytes data, client => server 14:54:41.139917 'RETR verifiedserver\r\n' 14:54:41.140115 Received DATA (on stdin) 14:54:41.140127 > 29 bytes data, server => client 14:54:41.140139 '150 Binary junk (18 bytes).\r\n' 14:54:41.140613 Received DATA (on stdin) 14:54:41.140627 > 28 bytes data, server => client 14:54:41.140639 '226 File transfer complete\r\n' 14:54:41.183559 < 6 bytes data, client => server 14:54:41.183582 'QUIT\r\n' 14:54:41.183768 Received DATA (on stdin) 14:54:41.183795 > 18 bytes data, server => client 14:54:41.183808 '221 bye bye baby\r\n' 14:54:41.183932 ====> Client disconnect 14:54:41.184071 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.138935 Running IPv4 version 14:54:41.138994 Listening on port 43541 14:54:41.139032 Wrote pid 167878 to log/2/server/ftp_sockdata.pid 14:54:41.139052 Received PING (on stdin) 14:54:41.139141 Received PORT (on stdin) 14:54:41.139427 ====> Client connect 14:54:41.140164 Received DATA (on stdin) 14:54:41.140178 > 18 bytes data, server => client 14:54:41.140190 'WE ROOLZ: 136171\r\n' 14:54:41.140212 Received DISC (on stdin) 14:54:41.140224 ====> Client forcibly disconnected 14:54:41.140378 Received QUIT (on stdin) 14:54:41.140390 quits 14:54:41.140443 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:41.112718 ====> Client connect 14:54:41.112750 accept_connection 3 returned 4 14:54:41.112768 accept_connection 3 returned 0 14:54:41.112784 Read 93 bytes 14:54:41.112796 Process 93 bytes request 14:54:41.112810 Got request: GET /verifiedserver HTTP/1.1 14:54:41.112821 Are-we-friendly question received 14:54:41.112845 Wrote request (93 bytes) input to log/2/server.input 14:54:41.112864 Identifying ourselves as friends 14:54:41.112923 Response sent (56 bytes) and written to log/2/server.response 14:54:41.112936 special request received, no persistency 14:54:41.112947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 2001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file test2001.txt foo CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2005 ../src/curl -q --output log/11/curl2005.out --include --trace-ascii log/11/trace2005 --trace-time --netrc-optional --netrc-file log/11/netrc2005 http://127.0.0.1:33503/ > log/11/stdout2005 2> log/11/stderr2005 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43359/2023 basic basic > log/12/stdout2023 2> log/12/stderr2023 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45345/2024 basic digest > log/5/stdout2024 2> log/5/stderr2024 bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==168006== ==168006== Process terminating with default action of signal 4 (SIGILL) ==168006== Illegal opcode at address 0x4014B6F ==168006== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==168006== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==168006== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==168006== by 0x4004266: main (tool_main.c:199) === End of file valgrind2001 test 2005...[netrc match with password only in file, no username. machine follows] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2005 ../src/curl -q --output log/11/curl2005.out --include --trace-ascii log/11/trace2005 --trace-time --netrc-optional --netrc-file log/11/netrc2005 http://127.0.0.1:33503/ > log/11/stdout2005 2> log/11/stderr2005 2005: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2005 ../src/curl -q --output log/11/curl2005.out --include --trace-ascii log/11/trace2005 --trace-time --netrc-optional --netrc-file log/11/netrc2005 http://127.0.0.1:33503/ > log/11/stdout2005 2> log/11/stderr2005 === End of file commands.log === Start of file http_server.log 14:54:41.259430 ====> Client connect 14:54:41.259463 accept_connection 3 returned 4 14:54:41.259479 accept_connection 3 returned 0 14:54:41.259493 Read 93 bytes 14:54:41.259503 Process 93 bytes request 14:54:41.259516 Got request: GET /verifiedserver HTTP/1.1 14:54:41.259526 Are-we-friendly question received 14:54:41.259548 Wrote request (93 bytes) input to log/11/server.input 14:54:41.259562 Identifying ourselves as friends 14:54:41.259610 Response sent (56 bytes) and written to log/11/server.response 14:54:41.259619 special request received, no persistency 14:54:41.259628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file netrc2005 machine 127.0.0.1 password 5up3r53cr37 machine example.com === End of file netrc2005 === Start of file server.cmd Testnum 2005 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind2005 ==168111== ==168111== Process terminating with default action of signal 4 (SIGILL) ==168111== Illegal opcode at address 0x4014B6F ==168111== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==168111== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==168111== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==168111== by 0x4004266: main (tool_main.c:199) === End of file valgrind2005 test 2023...[HTTP authorization retry (Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43359/2023 basic basic > log/12/stdout2023 2> log/12/stderr2023 2023: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 2023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43359/2023 basic basic > log/12/stdout2023 2> log/12/stderr2023 === End of file commands.log === Start of file http_server.log 14:54:41.277408 ====> Client connect 14:54:41.277444 accept_connection 3 returned 4 14:54:41.277462 accept_connection 3 returned 0 14:54:41.277477 Read 93 bytes 14:54:41.277487 Process 93 bytes request 14:54:41.277502 Got request: GET /verifiedserver HTTP/1.1 14:54:41.277512 Are-we-friendly question received 14:54:41.277536 Wrote request (93 bytes) input to log/12/server.input 14:54:41.277553 Identifying ourselves as friends 14:54:41.277607 Response sent (56 bytes) and written to log/12/server.response 14:54:41.277618 special request received, no persistency 14:54:41.277628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 2023 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:43359/2023 === End of file stderr2023 === Start of file valgrind2023 ==168155== ==168155== Process terminating with default action of signal 4 (SIGILL) ==168155== Illegal opcode at address 0x51D42F3 ==168155== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168155== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168155== by 0x51D42F3: Curl_open (url.c:551) ==168155== by 0x514CA2F: curl_easy_init (easy.c:372) ==168155== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168155== by 0x400347F: main (first.c:281) ==168155== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168155== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168155== by 0x51D4243: Curl_open (url.c:530) ==168155== by 0x514CA2F: curl_easy_init (easy.c:372) ==168155== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168155== by 0x400347F: main (first.c:281) ==168155== === End of file valgrind2023 test 2024...[HTTP authorization retry (Basic switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45345/2024 basic digest > log/5/stdout2024 2> log/5/stderr2024 2024: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 2024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45345/2024 basic digest > log/5/stdout2024 2> log/5/stderr2024 === End of file commands.log === Start of file http_server.log 14:54:41.285268 ====> Client connect 14:54:41.285308 accept_connection 3 returned 4 14:54:41.285327 accept_connection 3 returned 0 14:54:41.285343 Read 93 bytes 14:54:41.285355 Process 93 bytes request 14:54:41.285368 Got request: GET /verifiedserver HTTP/1.1 14:54:41.285379 Are-we-friendly questionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:42107/2025 basic ntlm > log/15/stdout2025 2> log/15/stderr2025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34449/2027 digest digest > log/24/stdout2027 2> log/24/stderr2027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:39569/2026 digest basic > log/20/stdout2026 2> log/20/stderr2026 received 14:54:41.285408 Wrote request (93 bytes) input to log/5/server.input 14:54:41.285426 Identifying ourselves as friends 14:54:41.285490 Response sent (57 bytes) and written to log/5/server.response 14:54:41.285503 special request received, no persistency 14:54:41.285513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45345... * Established connection to 127.0.0.1 (127.0.0.1 port 45345) from 127.0.0.1 port 36574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:45345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162933 === End of file http_verify.out === Start of file server.cmd Testnum 2024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162933 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:45345/2024 === End of file stderr2024 === Start of file valgrind2024 ==168189== ==168189== Process terminating with default action of signal 4 (SIGILL) ==168189== Illegal opcode at address 0x51D42F3 ==168189== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168189== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168189== by 0x51D42F3: Curl_open (url.c:551) ==168189== by 0x514CA2F: curl_easy_init (easy.c:372) ==168189== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168189== by 0x400347F: main (first.c:281) ==168189== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168189== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168189== by 0x51D4243: Curl_open (url.c:530) ==168189== by 0x514CA2F: curl_easy_init (easy.c:372) ==168189== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168189== by 0x400347F: main (first.c:281) ==168189== === End of file valgrind2024 test 2025...[HTTP authorization retry (Basic switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:42107/2025 basic ntlm > log/15/stdout2025 2> log/15/stderr2025 2025: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 2025 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:42107/2025 basic ntlm > log/15/stdout2025 2> log/15/stderr2025 === End of file commands.log === Start of file http_server.log 14:54:41.376379 ====> Client connect 14:54:41.376413 accept_connection 3 returned 4 14:54:41.376431 accept_connection 3 returned 0 14:54:41.376448 Read 93 bytes 14:54:41.376460 Process 93 bytes request 14:54:41.376474 Got request: GET /verifiedserver HTTP/1.1 14:54:41.376485 Are-we-friendly question received 14:54:41.376511 Wrote request (93 bytes) input to log/15/server.input 14:54:41.376529 Identifying ourselves as friends 14:54:41.376586 Response sent (56 bytes) and written to log/15/server.response 14:54:41.376600 special request received, no persistency 14:54:41.376610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 2025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:42107/2025 === End of file stderr2025 === Start of file valgrind2025 ==168333== ==168333== Process terminating with default action of signal 4 (SIGILL) ==168333== Illegal opcode at address 0x51D42F3 ==168333== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168333== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168333== by 0x51D42F3: Curl_open (url.c:551) ==168333== by 0x514CA2F: curl_easy_init (easy.c:372) ==168333== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168333== by 0x400347F: main (first.c:281) ==168333== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168333== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168333== by 0x51D4243: Curl_open (url.c:530) ==168333== by 0x514CA2F: curl_easy_init (easy.c:372) ==168333== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168333== by 0x400347F: main (first.c:281) ==168333== === End of file valgrind2025 test 2027...[HTTP authorization retry (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34449/2027 digest digest > log/24/stdout2027 2> log/24/stderr2027 2027: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 2027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34449/2027 digest digest > log/24/stdout2027 2> log/24/stderr2027 === End of file commands.log === Start of file http_server.log 14:54:41.385740 ====> Client connect 14:54:41.385823 accept_connection 3 returned 4 14:54:41.385842 accept_connection 3 returned 0 14:54:41.385858 Read 93 bytes 14:54:41.385870 Process 93 bytes request 14:54:41.385882 Got request: GET /verifiedserver HTTP/1.1 14:54:41.385893 Are-we-friendly question received 14:54:41.385920 Wrote request (93 bytes) input to log/24/server.input 14:54:41.385938 Identifying ourselves as friends 14:54:41.386007 Response sent (56 bytes) and written to log/24/server.response 14:54:41.386019 special request received, no persistency 14:54:41.386030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 2027 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:34449/2027 === End of file stderr2027 === Start of file valgrind2027 ==168362== ==168362== Process terminating with default action of signal 4 (SIGILL) ==168362== Illegal opcode at address 0x51D42F3 ==168362== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168362== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168362== by 0x51D42F3: Curl_open (url.c:551) ==168362== by 0x514CA2F: cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:35893/2032 > log/10/stdout2032 2> log/10/stderr2032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2044 ../src/curl -q --output log/6/curl2044.out --include --trace-ascii log/6/trace2044 --trace-time --proto-default DOESNOTEXIST > log/6/stdout2044 2> log/6/stderr2044 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:45171/2030 ntlm digest > log/17/stdout2030 2> log/17/stderr2030 url_easy_init (easy.c:372) ==168362== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168362== by 0x400347F: main (first.c:281) ==168362== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168362== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168362== by 0x51D4243: Curl_open (url.c:530) ==168362== by 0x514CA2F: curl_easy_init (easy.c:372) ==168362== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168362== by 0x400347F: main (first.c:281) ==168362== === End of file valgrind2027 test 2026...[HTTP authorization retry (Digest switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:39569/2026 digest basic > log/20/stdout2026 2> log/20/stderr2026 2026: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 2026 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:39569/2026 digest basic > log/20/stdout2026 2> log/20/stderr2026 === End of file commands.log === Start of file http_server.log 14:54:41.384499 ====> Client connect 14:54:41.384543 accept_connection 3 returned 4 14:54:41.384561 accept_connection 3 returned 0 14:54:41.384577 Read 93 bytes 14:54:41.384588 Process 93 bytes request 14:54:41.384603 Got request: GET /verifiedserver HTTP/1.1 14:54:41.384614 Are-we-friendly question received 14:54:41.384640 Wrote request (93 bytes) input to log/20/server.input 14:54:41.384659 Identifying ourselves as friends 14:54:41.384715 Response sent (56 bytes) and written to log/20/server.response 14:54:41.384726 special request received, no persistency 14:54:41.384737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 2026 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:39569/2026 === End of file stderr2026 === Start of file valgrind2026 ==168340== ==168340== Process terminating with default action of signal 4 (SIGILL) ==168340== Illegal opcode at address 0x51D42F3 ==168340== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168340== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168340== by 0x51D42F3: Curl_open (url.c:551) ==168340== by 0x514CA2F: curl_easy_init (easy.c:372) ==168340== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168340== by 0x400347F: main (first.c:281) ==168340== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168340== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168340== by 0x51D4243: Curl_open (url.c:530) ==168340== by 0x514CA2F: curl_easy_init (easy.c:372) ==168340== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168340== by 0x400347F: main (first.c:281) ==168340== === End of file valgrind2026 test 2032...[NTLM connection mapping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:35893/2032 > log/10/stdout2032 2> log/10/stderr2032 2032: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 2032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:35893/2032 > log/10/stdout2032 2> log/10/stderr2032 === End of file commands.log === Start of file http_server.log 14:54:41.565818 ====> Client connect 14:54:41.565853 accept_connection 3 returned 4 14:54:41.565873 accept_connection 3 returned 0 14:54:41.565890 Read 93 bytes 14:54:41.565903 Process 93 bytes request 14:54:41.565918 Got request: GET /verifiedserver HTTP/1.1 14:54:41.565930 Are-we-friendly question received 14:54:41.565958 Wrote request (93 bytes) input to log/10/server.input 14:54:41.565977 Identifying ourselves as friends 14:54:41.566037 Response sent (56 bytes) and written to log/10/server.response 14:54:41.566049 special request received, no persistency 14:54:41.566059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 2032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:35893/2032 === End of file stderr2032 === Start of file valgrind2032 ==168670== ==168670== Process terminating with default action of signal 4 (SIGILL) ==168670== Illegal opcode at address 0x519C257 ==168670== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==168670== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==168670== by 0x519C257: Curl_multi_handle (multi.c:236) ==168670== by 0x4040F21: test_lib2032.lto_priv.0 (lib2032.c:115) ==168670== by 0x400347F: main (first.c:281) ==168670== 656 bytes in 1 blocks are possibly lost in loss record 608 of 640 ==168670== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168670== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==168670== by 0x4040F21: test_lib2032.lto_priv.0 (lib2032.c:115) ==168670== by 0x400347F: main (first.c:281) ==168670== === End of file valgrind2032 test 2044...[Attempt to set a default protocol that does not exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2044 ../src/curl -q --output log/6/curl2044.out --include --trace-ascii log/6/trace2044 --trace-time --proto-default DOESNOTEXIST > log/6/stdout2044 2> log/6/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/6/ dir after test 2044 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2044 ../src/curl -q --output log/6/curl2044.out --include --trace-ascii log/6/trace2044 --trace-time --proto-default DOESNOTEXIST > log/6/stdout2044 2> log/6/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==168706== ==168706== Process terminCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:33805/2029 ntlm basic > log/19/stdout2029 2> log/19/stderr2029 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:34037/2028 digest ntlm > log/21/stdout2028 2> log/21/stderr2028 ating with default action of signal 4 (SIGILL) ==168706== Illegal opcode at address 0x4014B6F ==168706== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==168706== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==168706== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==168706== by 0x4004266: main (tool_main.c:199) === End of file valgrind2044 test 2030...[HTTP authorization retry (NTLM switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:45171/2030 ntlm digest > log/17/stdout2030 2> log/17/stderr2030 2030: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 2030 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:45171/2030 ntlm digest > log/17/stdout2030 2> log/17/stderr2030 === End of file commands.log === Start of file http_server.log 14:54:41.559930 ====> Client connect 14:54:41.559971 accept_connection 3 returned 4 14:54:41.559991 accept_connection 3 returned 0 14:54:41.560009 Read 93 bytes 14:54:41.560021 Process 93 bytes request 14:54:41.560036 Got request: GET /verifiedserver HTTP/1.1 14:54:41.560046 Are-we-friendly question received 14:54:41.560070 Wrote request (93 bytes) input to log/17/server.input 14:54:41.560088 Identifying ourselves as friends 14:54:41.560162 Response sent (56 bytes) and written to log/17/server.response 14:54:41.560174 special request received, no persistency 14:54:41.560184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 2030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:45171/2030 === End of file stderr2030 === Start of file valgrind2030 ==168757== ==168757== Process terminating with default action of signal 4 (SIGILL) ==168757== Illegal opcode at address 0x51D42F3 ==168757== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168757== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168757== by 0x51D42F3: Curl_open (url.c:551) ==168757== by 0x514CA2F: curl_easy_init (easy.c:372) ==168757== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168757== by 0x400347F: main (first.c:281) ==168757== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168757== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168757== by 0x51D4243: Curl_open (url.c:530) ==168757== by 0x514CA2F: curl_easy_init (easy.c:372) ==168757== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168757== by 0x400347F: main (first.c:281) ==168757== === End of file valgrind2030 test 2029...[HTTP authorization retry (NTLM switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:33805/2029 ntlm basic > log/19/stdout2029 2> log/19/stderr2029 2029: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 2029 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:33805/2029 ntlm basic > log/19/stdout2029 2> log/19/stderr2029 === End of file commands.log === Start of file http_server.log 14:54:40.519725 ====> Client connect 14:54:40.519760 accept_connection 3 returned 4 14:54:40.519777 accept_connection 3 returned 0 14:54:40.519791 Read 93 bytes 14:54:40.519802 Process 93 bytes request 14:54:40.519816 Got request: GET /verifiedserver HTTP/1.1 14:54:40.519826 Are-we-friendly question received 14:54:40.519852 Wrote request (93 bytes) input to log/19/server.input 14:54:40.519870 Identifying ourselves as friends 14:54:40.519927 Response sent (56 bytes) and written to log/19/server.response 14:54:40.519939 special request received, no persistency 14:54:40.519949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 2029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:33805/2029 === End of file stderr2029 === Start of file valgrind2029 ==168567== ==168567== Process terminating with default action of signal 4 (SIGILL) ==168567== Illegal opcode at address 0x51D42F3 ==168567== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168567== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168567== by 0x51D42F3: Curl_open (url.c:551) ==168567== by 0x514CA2F: curl_easy_init (easy.c:372) ==168567== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168567== by 0x400347F: main (first.c:281) ==168567== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168567== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168567== by 0x51D4243: Curl_open (url.c:530) ==168567== by 0x514CA2F: curl_easy_init (easy.c:372) ==168567== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168567== by 0x400347F: main (first.c:281) ==168567== === End of file valgrind2029 test 2028...[HTTP authorization retry (Digest switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:34037/2028 digest ntlm > log/21/stdout2028 2> log/21/stderr2028 2028: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 2028 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:34037/2028 digest ntlm > log/21/stdout2028 2> log/21/stderr2028 === End of file commands.log === Start of file http_server.log 14:54:41.510612 ====> Client connect 14:54:41.510643 accept_connection 3 returned 4 14:54:41.510660 accept_connection 3 returned 0 14:54:41.510675 Read 93 bytes 14:54:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2040 ../src/curl -q --trace-ascii log/16/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:34475/20400100 --next --no-basic http://127.0.0.1:34475/20400200 > log/16/stdout2040 2> log/16/stderr2040 41.510685 Process 93 bytes request 14:54:41.510699 Got request: GET /verifiedserver HTTP/1.1 14:54:41.510709 Are-we-friendly question received 14:54:41.510734 Wrote request (93 bytes) input to log/21/server.input 14:54:41.510752 Identifying ourselves as friends 14:54:41.510805 Response sent (56 bytes) and written to log/21/server.response 14:54:41.510817 special request received, no persistency 14:54:41.510826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 2028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:34037/2028 === End of file stderr2028 === Start of file valgrind2028 ==168538== ==168538== Process terminating with default action of signal 4 (SIGILL) ==168538== Illegal opcode at address 0x51D42F3 ==168538== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168538== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168538== by 0x51D42F3: Curl_open (url.c:551) ==168538== by 0x514CA2F: curl_easy_init (easy.c:372) ==168538== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168538== by 0x400347F: main (first.c:281) ==168538== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168538== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168538== by 0x51D4243: Curl_open (url.c:530) ==168538== by 0x514CA2F: curl_easy_init (easy.c:372) ==168538== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168538== by 0x400347F: main (first.c:281) ==168538== === End of file valgrind2028 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46275/2031 ntlm ntlm > log/18/stdout2031 2> log/18/stderr2031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2039 ../src/curl -q --output log/9/curl2039.out --include --trace-ascii log/9/trace2039 --trace-time --netrc-optional --netrc-file log/9/netrc2039 ftp://127.0.0.1:37027/ > log/9/stdout2039 2> log/9/stderr2039 test 2040...[HTTP Basic authorization, then without authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2040 ../src/curl -q --trace-ascii log/16/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:34475/20400100 --next --no-basic http://127.0.0.1:34475/20400200 > log/16/stdout2040 2> log/16/stderr2040 2040: stdout FAILED: --- log/16/check-expected 2025-09-11 14:54:42.432198354 +0000 +++ log/16/check-generated 2025-09-11 14:54:42.432198354 +0000 @@ -1,2 +0,0 @@ -Finally, this is the real page![LF] -This is a bad password page![LF] == Contents of files in the log/16/ dir after test 2040 === Start of file check-expected Finally, this is the real page![LF] This is a bad password page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2040 ../src/curl -q --trace-ascii log/16/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:34475/20400100 --next --no-basic http://127.0.0.1:34475/20400200 > log/16/stdout2040 2> log/16/stderr2040 === End of file commands.log === Start of file http_server.log 14:54:41.571781 ====> Client connect 14:54:41.571813 accept_connection 3 returned 4 14:54:41.571830 accept_connection 3 returned 0 14:54:41.571844 Read 93 bytes 14:54:41.571855 Process 93 bytes request 14:54:41.571867 Got request: GET /verifiedserver HTTP/1.1 14:54:41.571877 Are-we-friendly question received 14:54:41.571901 Wrote request (93 bytes) input to log/16/server.input 14:54:41.571919 Identifying ourselves as friends 14:54:41.571971 Response sent (56 bytes) and written to log/16/server.response 14:54:41.571983 special request received, no persistency 14:54:41.571993 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 2040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind2040 ==168673== ==168673== Process terminating with default action of signal 4 (SIGILL) ==168673== Illegal opcode at address 0x4014B6F ==168673== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==168673== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==168673== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==168673== by 0x4004266: main (tool_main.c:199) === End of file valgrind2040 test 2031...[HTTP authorization retry (NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46275/2031 ntlm ntlm > log/18/stdout2031 2> log/18/stderr2031 2031: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 2031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46275/2031 ntlm ntlm > log/18/stdout2031 2> log/18/stderr2031 === End of file commands.log === Start of file http_server.log 14:54:41.565792 ====> Client connect 14:54:41.565829 accept_connection 3 returned 4 14:54:41.565848 accept_connection 3 returned 0 14:54:41.565864 Read 93 bytes 14:54:41.565876 Process 93 bytes request 14:54:41.565890 Got request: GET /verifiedserver HTTP/1.1 14:54:41.565902 Are-we-friendly question received 14:54:41.565931 Wrote request (93 bytes) input to log/18/server.input 14:54:41.565950 Identifying ourselves as friends 14:54:41.566012 Response sent (57 bytes) and written to log/18/server.response 14:54:41.566024 special request received, no persistency 14:54:41.566035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 2031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:46275/2031 === End of file stderr2031 === Start of file valgrind2031 ==168784== ==168784== Process terminating with default action of signal 4 (SIGILL) ==168784== Illegal opcode at address 0x51D42F3 ==168784== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==168784== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==168784== by 0x51D42F3: Curl_open (url.c:551) ==168784== by 0x514CA2F: curl_easy_init (easy.c:372) ==168784== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168784== by 0x400347F: main (first.c:281) ==168784== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==168784== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==168784== by 0x51D4243: Curl_open (url.c:530) ==168784== by 0x514CA2F: curl_easy_init (easy.c:372) ==168784== by 0x4040C2C: test_lib2023.lto_priv.0 (lib2023.c:107) ==168784== by 0x400347F: main (first.c:281) ==168784== === End of file valgrind2031 test 2039...[FTP (optional .netrc with 'default' override; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2039 ../src/curl -q --output log/9/curl2039.out --include --trace-ascii log/9/trace2039 --trace-time --netrc-optional --netrc-file log/9/netrc2039 ftp://127.0.0.1:37027/ > log/9/stdout2039 2> log/9/stderr2039 2039: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 2039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2039 ../src/curl -q --output log/9/curl2039.out --include --trace-ascii log/9/trace2039 --trace-time --netrc-optional --netrc-file log/9/netrc2039 ftp://127.0.0.1:37027/ > log/9/stdout2039 2> log/9/stderr2039 === End of file commands.log === Start of file ftp_server.log 14:54:41.488390 ====> Client connect 14:54:41.488528 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.488791 < "USER anonymous" 14:54:41.488827 > "331 We are happy you popped in![CR][LF]" 14:54:41.488997 < "PASS ftp@example.com" 14:54:41.489022 > "230 Welcome you silly person[CR][LF]" 14:54:41.489172 < "PWD" 14:54:41.489201 > "257 "/" is current dCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2045 ../src/curl -q --output log/4/curl2045.out --include --trace-ascii log/4/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:44299 > log/4/stdout2045 2> log/4/stderr2045 irectory[CR][LF]" 14:54:41.489357 < "EPSV" 14:54:41.489380 ====> Passive DATA channel requested by client 14:54:41.489393 DATA sockfilt for passive data channel starting... 14:54:41.490967 DATA sockfilt for passive data channel started (pid 168644) 14:54:41.491094 DATA sockfilt for passive data channel listens on port 43375 14:54:41.491138 > "229 Entering Passive Mode (|||43375|)[LF]" 14:54:41.491161 Client has been notified that DATA conn will be accepted on port 43375 14:54:41.491397 Client connects to port 43375 14:54:41.491430 ====> Client established passive DATA connection on port 43375 14:54:41.491509 < "TYPE I" 14:54:41.491539 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.491709 < "SIZE verifiedserver" 14:54:41.491746 > "213 17[CR][LF]" 14:54:41.491910 < "RETR verifiedserver" 14:54:41.491946 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:41.492032 =====> Closing passive DATA connection... 14:54:41.492051 Server disconnects passive DATA connection 14:54:41.492177 Server disconnected passive DATA connection 14:54:41.492203 DATA sockfilt for passive data channel quits (pid 168644) 14:54:41.492407 DATA sockfilt for passive data channel quit (pid 168644) 14:54:41.492432 =====> Closed passive DATA connection 14:54:41.492461 > "226 File transfer complete[CR][LF]" 14:54:41.533886 < "QUIT" 14:54:41.533939 > "221 bye bye baby[CR][LF]" 14:54:41.534335 MAIN sockfilt said DISC 14:54:41.534366 ====> Client disconnected 14:54:41.534443 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:41.571108 ====> Client connect 14:54:41.571347 Received DATA (on stdin) 14:54:41.571362 > 160 bytes data, server => client 14:54:41.571376 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:41.571388 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:41.571399 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:41.571466 < 16 bytes data, client => server 14:54:41.571478 'USER anonymous\r\n' 14:54:41.571641 Received DATA (on stdin) 14:54:41.571654 > 33 bytes data, server => client 14:54:41.571667 '331 We are happy you popped in!\r\n' 14:54:41.571719 < 22 bytes data, client => server 14:54:41.571732 'PASS ftp@example.com\r\n' 14:54:41.571831 Received DATA (on stdin) 14:54:41.571844 > 30 bytes data, server => client 14:54:41.571855 '230 Welcome you silly person\r\n' 14:54:41.571902 < 5 bytes data, client => server 14:54:41.571913 'PWD\r\n' 14:54:41.572009 Received DATA (on stdin) 14:54:41.572022 > 30 bytes data, server => client 14:54:41.572033 '257 "/" is current directory\r\n' 14:54:41.572087 < 6 bytes data, client => server 14:54:41.572099 'EPSV\r\n' 14:54:41.573979 Received DATA (on stdin) 14:54:41.573994 > 38 bytes data, server => client 14:54:41.574007 '229 Entering Passive Mode (|||43375|)\n' 14:54:41.574154 < 8 bytes data, client => server 14:54:41.574167 'TYPE I\r\n' 14:54:41.574351 Received DATA (on stdin) 14:54:41.574365 > 33 bytes data, server => client 14:54:41.574378 '200 I modify TYPE as you wanted\r\n' 14:54:41.574431 < 21 bytes data, client => server 14:54:41.574444 'SIZE verifiedserver\r\n' 14:54:41.574557 Received DATA (on stdin) 14:54:41.574570 > 8 bytes data, server => client 14:54:41.574582 '213 17\r\n' 14:54:41.574632 < 21 bytes data, client => server 14:54:41.574646 'RETR verifiedserver\r\n' 14:54:41.574842 Received DATA (on stdin) 14:54:41.574874 > 29 bytes data, server => client 14:54:41.574888 '150 Binary junk (17 bytes).\r\n' 14:54:41.575275 Received DATA (on stdin) 14:54:41.575293 > 28 bytes data, server => client 14:54:41.575306 '226 File transfer complete\r\n' 14:54:41.616490 < 6 bytes data, client => server 14:54:41.616525 'QUIT\r\n' 14:54:41.616743 Received DATA (on stdin) 14:54:41.616775 > 18 bytes data, server => client 14:54:41.616788 '221 bye bye baby\r\n' 14:54:41.617088 ====> Client disconnect 14:54:41.617255 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.573600 Running IPv4 version 14:54:41.573654 Listening on port 43375 14:54:41.573693 Wrote pid 168644 to log/9/server/ftp_sockdata.pid 14:54:41.573716 Received PING (on stdin) 14:54:41.573811 Received PORT (on stdin) 14:54:41.574122 ====> Client connect 14:54:41.574866 Received DATA (on stdin) 14:54:41.574881 > 17 bytes data, server => client 14:54:41.574894 'WE ROOLZ: 80262\r\n' 14:54:41.574922 Received DISC (on stdin) 14:54:41.574936 ====> Client forcibly disconnected 14:54:41.575021 Received QUIT (on stdin) 14:54:41.575034 quits 14:54:41.575089 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc2039 # the following two lines were created while testing curl default login userdef password passwddef machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc2039 === Start of file server.cmd Testnum 2039 === End of file server.cmd === Start of file valgrind2039 ==168917== ==168917== Process terminating with default action of signal 4 (SIGILL) ==168917== Illegal opcode at address 0x4014B6F ==168917== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==168917== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==168917== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==168917== by 0x4004266: main (tool_main.c:199) === End of file valgrind2039 test 2045...[Set the default protocol to ftp for a schemeless URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2045 ../src/curl -q --output log/4/curl2045.out --include --trace-ascii log/4/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:44299 > log/4/stdout2045 2> log/4/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/4/ dir after test 2045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2045 ../src/curl -q --output log/4/curl2045.out --include --trace-ascii log/4/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:44299 > log/4/stdout2045 2> log/4/stderr2045 === End of file commands.log === Start of file ftp_server.log 14:54:41.611827 ====> Client connect 14:54:41.612007 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.612280 < "USER anonymous" 14:54:41.612313 > "331 We are happy you popped in![CR][LF]" 14:54:41.612475 < "PASS ftp@example.com" 14:54:41.612499 > "230 Welcome you silly person[CR][LF]" 14:54:41.612646 < "PWD" 14:54:41.612674 > "257 "/" is current directory[CR][LF]" 14:54:41.612873 < "EPSV" 14:54:41.612895 ====> Passive DATA channel requested by client 14:54:41.612908 DATA sockfilt for passive data channel starting... 14:54:41.614896 DATA sockfilt for passive data channel started (pid 169006) 14:54:41.615046 DATA sockfilt for passive data channel listens on port 37867 14:54:41.615099 > "229 Entering Passive Mode (|||37867|)[LF]" 14:54:41.615120 Client has been notified that DATA conn will be accepted on port 37867 14:54:41.615426 Client connects to port 37867 14:54:41.615460 ====> Client established passive DATA connection on port 37867 14:54:41.615557 < "TYPE I" 14:54:41.615591 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.615772 < "SIZE verifiedserver" 14:54:41.615809 > "213 17[CR][LF]" 14:54:41.615986 < "RETR verifiedserver" 14:54:41.616024 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:41.616114 =====> Closing passive DATA connection... 14:54:41.616133 Server disconnects passive DATA connection 14:54:41.616389 Server disconnected passive DATA connection 14:54:41.616421 DATA sockfilt for passive data channel quits (pid 169006) 14:54:41.616633 DATA sockfCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2046 ../src/curl -q --include --trace-ascii log/7/trace2046 --trace-time http://åäö.se:40545/2046 --resolve xn--4cab6c.se:40545:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout2046 2> log/7/stderr2046 ilt for passive data channel quit (pid 169006) 14:54:41.616656 =====> Closed passive DATA connection 14:54:41.616683 > "226 File transfer complete[CR][LF]" 14:54:41.660661 < "QUIT" 14:54:41.660718 > "221 bye bye baby[CR][LF]" 14:54:41.661448 MAIN sockfilt said DISC 14:54:41.661476 ====> Client disconnected 14:54:41.661555 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:41.694491 ====> Client connect 14:54:41.694831 Received DATA (on stdin) 14:54:41.694846 > 160 bytes data, server => client 14:54:41.694859 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:41.694871 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:41.694883 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:41.694955 < 16 bytes data, client => server 14:54:41.694968 'USER anonymous\r\n' 14:54:41.695125 Received DATA (on stdin) 14:54:41.695139 > 33 bytes data, server => client 14:54:41.695151 '331 We are happy you popped in!\r\n' 14:54:41.695201 < 22 bytes data, client => server 14:54:41.695213 'PASS ftp@example.com\r\n' 14:54:41.695308 Received DATA (on stdin) 14:54:41.695320 > 30 bytes data, server => client 14:54:41.695332 '230 Welcome you silly person\r\n' 14:54:41.695375 < 5 bytes data, client => server 14:54:41.695386 'PWD\r\n' 14:54:41.695525 Received DATA (on stdin) 14:54:41.695538 > 30 bytes data, server => client 14:54:41.695550 '257 "/" is current directory\r\n' 14:54:41.695603 < 6 bytes data, client => server 14:54:41.695615 'EPSV\r\n' 14:54:41.697942 Received DATA (on stdin) 14:54:41.697962 > 38 bytes data, server => client 14:54:41.697976 '229 Entering Passive Mode (|||37867|)\n' 14:54:41.698177 < 8 bytes data, client => server 14:54:41.698191 'TYPE I\r\n' 14:54:41.698406 Received DATA (on stdin) 14:54:41.698420 > 33 bytes data, server => client 14:54:41.698433 '200 I modify TYPE as you wanted\r\n' 14:54:41.698488 < 21 bytes data, client => server 14:54:41.698504 'SIZE verifiedserver\r\n' 14:54:41.698623 Received DATA (on stdin) 14:54:41.698637 > 8 bytes data, server => client 14:54:41.698653 '213 17\r\n' 14:54:41.698706 < 21 bytes data, client => server 14:54:41.698720 'RETR verifiedserver\r\n' 14:54:41.699042 Received DATA (on stdin) 14:54:41.699056 > 29 bytes data, server => client 14:54:41.699069 '150 Binary junk (17 bytes).\r\n' 14:54:41.699495 Received DATA (on stdin) 14:54:41.699509 > 28 bytes data, server => client 14:54:41.699521 '226 File transfer complete\r\n' 14:54:41.743251 < 6 bytes data, client => server 14:54:41.743288 'QUIT\r\n' 14:54:41.743534 Received DATA (on stdin) 14:54:41.743546 > 18 bytes data, server => client 14:54:41.743558 '221 bye bye baby\r\n' 14:54:41.744211 ====> Client disconnect 14:54:41.744364 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.697482 Running IPv4 version 14:54:41.697566 Listening on port 37867 14:54:41.697609 Wrote pid 169006 to log/4/server/ftp_sockdata.pid 14:54:41.697634 Received PING (on stdin) 14:54:41.697753 Received PORT (on stdin) 14:54:41.698145 ====> Client connect 14:54:41.698946 Received DATA (on stdin) 14:54:41.698961 > 17 bytes data, server => client 14:54:41.698973 'WE ROOLZ: 80848\r\n' 14:54:41.699003 Received DISC (on stdin) 14:54:41.699016 ====> Client forcibly disconnected 14:54:41.699244 Received QUIT (on stdin) 14:54:41.699257 quits 14:54:41.699316 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply Testnum 2045 === End of file server.cmd === Start of file valgrind2045 ==169017== ==169017== Process terminating with default action of signal 4 (SIGILL) ==169017== Illegal opcode at address 0x4014B6F ==169017== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169017== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169017== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169017== by 0x4004266: main (tool_main.c:199) === End of file valgrind2045 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2047 ../src/curl -q --include --trace-ascii log/22/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:42027 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout2047 2> log/22/stderr2047 setenv LC_ALL = C.UTF-8 test 2046...[Connection reuse with IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2046 ../src/curl -q --include --trace-ascii log/7/trace2046 --trace-time http://åäö.se:40545/2046 --resolve xn--4cab6c.se:40545:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout2046 2> log/7/stderr2046 2046: stdout FAILED: --- log/7/check-expected 2025-09-11 14:54:42.658865023 +0000 +++ log/7/check-generated 2025-09-11 14:54:42.658865023 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20460001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se:40545/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/7/ dir after test 2046 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20460001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se:40545/20460001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2046 ../src/curl -q --include --trace-ascii log/7/trace2046 --trace-time http://åäö.se:40545/2046 --resolve xn--4cab6c.se:40545:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout2046 2> log/7/stderr2046 === End of file commands.log === Start of file http_server.log 14:54:41.780200 ====> Client connect 14:54:41.780233 accept_connection 3 returned 4 14:54:41.780250 accept_connection 3 returned 0 14:54:41.780266 Read 93 bytes 14:54:41.780277 Process 93 bytes request 14:54:41.780291 Got request: GET /verifiedserver HTTP/1.1 14:54:41.780301 Are-we-friendly question received 14:54:41.780324 Wrote request (93 bytes) input to log/7/server.input 14:54:41.780341 Identifying ourselves as friends 14:54:41.780392 Response sent (56 bytes) and written to log/7/server.response 14:54:41.780403 special request received, no persistency 14:54:41.780413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 37902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 2046 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind2046 ==169089== ==169089== Process terminating with default action of signal 4 (SIGILL) ==169089== Illegal opcode at address 0x4014B6F ==169089== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169089== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169089== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169089== by 0x4004266: main (tool_main.c:199) === End of file valgrind2046 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:46043 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:46043 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:46043 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:46043 > log/14/stdout2049 2> log/14/stderr2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2050 ../src/curl -q --output log/2/curl2050.out --include --trace-ascii log/2/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37587 -x 127.0.0.1:36829 > log/2/stdout2050 2> log/2/stderr2050 setenv LC_ALL = C.UTF-8 test 2047...[Connection reuse with IDN host name over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2047 ../src/curl -q --include --trace-ascii log/22/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:42027 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout2047 2> log/22/stderr2047 2047: stdout FAILED: --- log/22/check-expected 2025-09-11 14:54:42.935531694 +0000 +++ log/22/check-generated 2025-09-11 14:54:42.935531694 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20470001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/22/ dir after test 2047 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20470001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2047 ../src/curl -q --include --trace-ascii log/22/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:42027 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout2047 2> log/22/stderr2047 === End of file commands.log === Start of file http_server.log 14:54:42.071209 ====> Client connect 14:54:42.071237 accept_connection 3 returned 4 14:54:42.071263 accept_connection 3 returned 0 14:54:42.071275 Read 93 bytes 14:54:42.071284 Process 93 bytes request 14:54:42.071295 Got request: GET /verifiedserver HTTP/1.1 14:54:42.071304 Are-we-friendly question received 14:54:42.071325 Wrote request (93 bytes) input to log/22/server.input 14:54:42.071339 Identifying ourselves as friends 14:54:42.071385 Response sent (56 bytes) and written to log/22/server.response 14:54:42.071394 special request received, no persistency 14:54:42.071402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 38636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 2047 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind2047 ==169231== ==169231== Process terminating with default action of signal 4 (SIGILL) ==169231== Illegal opcode at address 0x4014B6F ==169231== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169231== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169231== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169231== by 0x4004266: main (tool_main.c:199) === End of file valgrind2047 test 2049...[Connect to specific host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:46043 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:46043 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:46043 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:46043 > log/14/stdout2049 2> log/14/stderr2049 2049: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 2049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:46043 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:46043 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:46043 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:46043 > log/14/stdout2049 2> log/14/stderr2049 === End of file commands.log === Start of file http_server.log 14:54:42.071107 ====> Client connect 14:54:42.071150 accept_connection 3 returned 4 14:54:42.071172 accept_connection 3 returned 0 14:54:42.071190 Read 93 bytes 14:54:42.071202 Process 93 bytes request 14:54:42.071216 Got request: GET /verifiedserver HTTP/1.1 14:54:42.071227 Are-we-friendly question received 14:54:42.071265 Wrote request (93 bytes) input to log/14/server.input 14:54:42.071285 Identifying ourselves as friends 14:54:42.071363 Response sent (56 bytes) and written to log/14/server.response 14:54:42.071375 special request received, no persistency 14:54:42.071387 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 51734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 2049 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind2049 ==169212== ==169212== Process terminating with default action of signal 4 (SIGILL) ==169212== Illegal opcode at address 0x4014B6F ==169212== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169212== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169212== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169212== by 0x4004266: main (tool_main.c:199) === End of file valgrind2049 test 2050...[--connect-to via HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2050 ../src/curl -q --output log/2/curl2050.out --include --trace-ascii log/2/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37587 -x 127.0.0.1:36829 > log/2/stdout2050 2> log/2/stderr2050 2050: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2050 === Start of file commands.logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:44029/20020001 ftp://127.0.0.1:43113/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40792//20020003 > log/1/stdout2002 2> log/1/stderr2002 ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2050 ../src/curl -q --output log/2/curl2050.out --include --trace-ascii log/2/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37587 -x 127.0.0.1:36829 > log/2/stdout2050 2> log/2/stderr2050 === End of file commands.log === Start of file http2_server.log 14:54:42.099001 ====> Client connect 14:54:42.099032 accept_connection 3 returned 4 14:54:42.099049 accept_connection 3 returned 0 14:54:42.099064 Read 93 bytes 14:54:42.099075 Process 93 bytes request 14:54:42.099088 Got request: GET /verifiedserver HTTP/1.1 14:54:42.099098 Are-we-friendly question received 14:54:42.099121 Wrote request (93 bytes) input to log/2/proxy.input 14:54:42.099138 Identifying ourselves as friends 14:54:42.099187 Response sent (57 bytes) and written to log/2/proxy.response 14:54:42.099198 special request received, no persistency 14:54:42.099208 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36829... * Established connection to 127.0.0.1 (127.0.0.1 port 36829) from 127.0.0.1 port 41700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36829 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:36829 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 115099 === End of file http2_verify.out === Start of file http_server.log 14:54:42.081903 ====> Client connect 14:54:42.081929 accept_connection 3 returned 4 14:54:42.081943 accept_connection 3 returned 0 14:54:42.081955 Read 93 bytes 14:54:42.081964 Process 93 bytes request 14:54:42.081976 Got request: GET /verifiedserver HTTP/1.1 14:54:42.081984 Are-we-friendly question received 14:54:42.082002 Wrote request (93 bytes) input to log/2/server.input 14:54:42.082015 Identifying ourselves as friends 14:54:42.082082 Response sent (56 bytes) and written to log/2/server.response 14:54:42.082092 special request received, no persistency 14:54:42.082100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 115099 === End of file proxy.response === Start of file server.cmd Testnum 2050 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind2050 ==169305== ==169305== Process terminating with default action of signal 4 (SIGILL) ==169305== Illegal opcode at address 0x4014B6F ==169305== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169305== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169305== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169305== by 0x4004266: main (tool_main.c:199) === End of file valgrind2050 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/1/server/tftp_server.pid" --portfile "log/1/server/tftp_server.port" --logfile "log/1/tftp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 167981 port 40792 * pid tftp => 167981 167981 test 2002...[HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:44029/20020001 ftp://127.0.0.1:43113/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40792//20020003 > log/1/stdout2002 2> log/1/stderr2002 2002: stdout FAILED: --- log/1/check-expected 2025-09-11 14:54:43.072198363 +0000 +++ log/1/check-generated 2025-09-11 14:54:43.072198363 +0000 @@ -1,16 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] == Contents of files in the log/1/ dir after test 2002 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:44029/20020001 ftp://127.0.0.1:43113/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40792//20020003 > log/1/stdout2002 2> log/1/stderr2002 === End of file commands.log === Start of file ftp_server.log 14:54:41.049989 ====> Client connect 14:54:41.050138 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.050405 < "USER anonymous" 14:54:41.050437 > "331 We are happy you popped in![CR][LF]" 14:54:41.050592 < "PASS ftp@example.com" 14:54:41.050617 > "230 Welcome you silly person[CR][LF]" 14:54:41.050767 < "PWD" 14:54:41.050796 > "257 "/" is current directory[CR][LF]" 14:54:41.050950 < "EPSV" 14:54:41.050975 ====> Passive DATA channel requested by client 14:54:41.050988 DATA sockfilt for passive data channel starting... 14:54:41.052848 DATA sockfilt for passive data channel started (pid 167877) 14:54:41.052985 DATA sockfilt for passive data channel listens on port 45613 14:54:41.053029 > "229 Entering Passive Mode (|||45613|)[LF]" 14:54:41.053050 Client has been notified that DATA conn will be accepted on port 45613 14:54:41.053301 Client connects to port 45613 14:54:41.053329 ====> Client established passive DATA connection on port 45613 14:54:41.053413 < "TYPE I" 14:54:41.053445 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.053698 < "SIZE verifiedserver" 14:54:41.053744 > "213 17[CR][LF]" 14:54:41.053911 < "RETR verifiedserver" 14:54:41.053944 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:41.054037 =====> Closing passive DATA connection... 14:54:41.054053 Server disconnects passive DATA connection 14:54:41.054347 Server disconnected passive DATA connection 14:54:41.054376 DATA sockfilt for passive data channel quits (pid 167877) 14:54:41.054648 DATA sockfilt for passive data channel quit (pid 167877) 14:54:41.054671 =====> Closed passive DATA connection 14:54:41.054699 > "226 File transfer complete[CR][LF]" 14:54:41.097197 < "QUIT" 14:54:41.097251 > "221 bye bye baby[CR][LF]" 14:54:41.097961 MAIN sockfilt said DISC 14:54:41.097994 ====> Client disconnected 14:54:41.098083 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:40.132681 ====> Client connect 14:54:40.132961 Received DATA (on stdin) 14:54:40.132982 > 160 bytes data, server => client 14:54:40.132995 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:40.133007 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:40.133018 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:40.133092 < 16 bytes data, client => server 14:54:40.133104 'USER anonymous\r\n' 14:54:40.133249 Received DATA (on stdin) 14:54:40.133260 > 33 bytes data, server => client 14:54:40.133271 '331 We are happy you popped in!\r\n' 14:54:40.133318 < 22 bytes data, client => server 14:54:40.133331 'PASS ftp@example.com\r\n' 14:54:40.133427 Received DATA (on stdin) 14:54:40.133439 > 30 bytes data, server => client 14:54:40.133451 '230 Welcome you silly person\r\n' 14:54:40.133497 < 5 bytes data, client => server 14:54:40.133508 'PWD\r\n' 14:54:40.133605 Received DATA (on stdin) 14:54:40.133617 > 30 bytes data, server => client 14:54:40.133628 '257 "/" is current directory\r\n' 14:54:40.133682 < 6 bytes data, client => server 14:54:40.133693 'EPSV\r\n' 14:54:40.135870 Received DATA (on stdin) 14:54:40.135888 > 38 bytes data, server => client 14:54:40.135902 '229 Entering Passive Mode (|||45613|)\n' 14:54:40.136032 < 8 bytes data, client => server 14:54:40.136047 'TYPE I\r\n' 14:54:40.136255 Received DATA (on stdin) 14:54:40.136268 > 33 bytes data, server => client 14:54:40.136280 '200 I modify TYPE as you wanted\r\n' 14:54:40.136392 < 21 bytes data, client => server 14:54:40.136414 'SIZE verifiedserver\r\n' 14:54:40.136556 Received DATA (on stdin) 14:54:40.136573 > 8 bytes data, server => client 14:54:40.136585 '213 17\r\n' 14:54:40.136637 < 21 bytes data, client => server 14:54:40.136650 'RETR verifiedserver\r\n' 14:54:40.136867 Received DATA (on stdin) 14:54:40.136883 > 29 bytes data, server => client 14:54:40.136896 '150 Binary junk (17 bytes).\r\n' 14:54:40.137510 Received DATA (on stdin) 14:54:40.137524 > 28 bytes data, server => client 14:54:40.137536 '226 File transfer complete\r\n' 14:54:40.179803 < 6 bytes data, client => server 14:54:40.179831 'QUIT\r\n' 14:54:40.180064 Received DATA (on stdin) 14:54:40.180078 > 18 bytes data, server => client 14:54:40.180090 '221 bye bye baby\r\n' 14:54:40.180715 ====> Client disconnect 14:54:40.180811 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.135473 Running IPv4 version 14:54:41.135527 Listening on port 45613 14:54:41.135567 Wrote pid 167877 to log/1/server/ftp_sockdata.pid 14:54:41.135588 Received PING (on stdin) 14:54:41.135699 Received PORT (on stdin) 14:54:41.136069 ====> Client connect 14:54:41.136969 Received DATA (on stdin) 14:54:41.136991 > 17 bytes data, server => client 14:54:41.137003 'WE ROOLZ: 80194\r\n' 14:54:41.137030 Received DISC (on stdin) 14:54:41.137044 ====> Client forcibly disconnected 14:54:41.137193 Received QUIT (on stdin) 14:54:41.137206 quits 14:54:41.137270 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:41.113241 ====> Client connect 14:54:41.113275 accept_connection 3 returned 4 14:54:41.113293 accept_connection 3 returned 0 14:54:41.113308 Read 93 bytes 14:54:41.113320 Process 93 bytes request 14:54:41.113334 Got request: GET /verifiedserver HTTP/1.1 14:54:41.113344 Are-we-friendly question received 14:54:41.113379 Wrote request (93 bytes) input to log/1/server.input 14:54:41.113402 Identifying ourselves as friends 14:54:41.113461 Response sent (56 bytes) and written to log/1/server.response 14:54:41.113473 special request received, no persistency 14:54:41.113483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 46582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2053 ../src/curl -q --output log/5/curl2053.out --include --trace-ascii log/5/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:45345 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:45345 > log/5/stdout2053 2> log/5/stderr2053 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2051 ../src/curl -q --include --trace-ascii log/11/trace2051 --trace-time http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:33503 http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next http://127.0.0.1:33503/2051 -w "%{num_connects}\n" > log/11/stdout2051 2> log/11/stderr2051 Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 2002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file test2002.txt foo bar bar foo moo === End of file test2002.txt === Start of file tftp_server.log 14:54:41.198490 Wrote pid 167981 to log/1/server/tftp_server.pid 14:54:41.198534 Wrote port 40792 to log/1/server/tftp_server.port 14:54:41.198545 Running IPv4 version on port UDP/40792 === End of file tftp_server.log === Start of file valgrind2002 ==169433== ==169433== Process terminating with default action of signal 4 (SIGILL) ==169433== Illegal opcode at address 0x4014B6F ==169433== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169433== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169433== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169433== by 0x4004266: main (tool_main.c:199) === End of file valgrind2002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2052 ../src/curl -q --include --trace-ascii log/12/trace2052 --trace-time http://www.example.com:43359/2052 --resolve www.example.com:43359:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43359 --connect-to ::127.0.0.1:43359 http://www.example.com:43359/2052 -w "%{num_connects}\n" > log/12/stdout2052 2> log/12/stderr2052 test 2051...[Connect to specific host: Reuse existing connections if possible] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2051 ../src/curl -q --include --trace-ascii log/11/trace2051 --trace-time http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:33503 http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next http://127.0.0.1:33503/2051 -w "%{num_connects}\n" > log/11/stdout2051 2> log/11/stderr2051 2051: stdout FAILED: --- log/11/check-expected 2025-09-11 14:54:43.092198363 +0000 +++ log/11/check-generated 2025-09-11 14:54:43.092198363 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -0[LF] -OK[LF] -0[LF] == Contents of files in the log/11/ dir after test 2051 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 0[LF] OK[LF] 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2051 ../src/curl -q --include --trace-ascii log/11/trace2051 --trace-time http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:33503 http://127.0.0.1:33503/2051 -w "%{num_connects}\n" --next http://127.0.0.1:33503/2051 -w "%{num_connects}\n" > log/11/stdout2051 2> log/11/stderr2051 === End of file commands.log === Start of file http_server.log 14:54:42.196746 ====> Client connect 14:54:42.196783 accept_connection 3 returned 4 14:54:42.196802 accept_connection 3 returned 0 14:54:42.196819 Read 93 bytes 14:54:42.196831 Process 93 bytes request 14:54:42.196846 Got request: GET /verifiedserver HTTP/1.1 14:54:42.196857 Are-we-friendly question received 14:54:42.196884 Wrote request (93 bytes) input to log/11/server.input 14:54:42.196904 Identifying ourselves as friends 14:54:42.196964 Response sent (56 bytes) and written to log/11/server.response 14:54:42.196976 special request received, no persistency 14:54:42.196987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 2051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind2051 ==169451== ==169451== Process terminating with default action of signal 4 (SIGILL) ==169451== Illegal opcode at address 0x4014B6F ==169451== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169451== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169451== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169451== by 0x4004266: main (tool_main.c:199) === End of file valgrind2051 test 2053...[Connect to specific host with IP addresses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2053 ../src/curl -q --output log/5/curl2053.out --include --trace-ascii log/5/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:45345 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:45345 > log/5/stdout2053 2> log/5/stderr2053 2053: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 2053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2053 ../src/curl -q --output log/5/curl2053.out --include --trace-ascii log/5/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:45345 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:45345 > log/5/stdout2053 2> log/5/stderr2053 === End of file commands.log === Start of file http_server.log 14:54:42.204672 ====> Client connect 14:54:42.204713 accept_connection 3 returned 4 14:54:42.204732 accept_connection 3 returned 0 14:54:42.204749 Read 93 bytes 14:54:42.204762 Process 93 bytes request 14:54:42.204780 Got request: GET /verifiedserver HTTP/1.1 14:54:42.204792 Are-we-friendly question received 14:54:42.204827 Wrote request (93 bytes) input to log/5/server.input 14:54:42.204847 Identifying ourselves as friends 14:54:42.204911 Response sent (57 bytes) and written to log/5/server.response 14:54:42.204923 special request received, no persistency 14:54:42.204934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45345... * Established connection to 127.0.0.1 (127.0.0.1 port 45345) from 127.0.0.1 port 36580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:45345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162933 === End of file http_verify.out === Start of file server.cmd Testnum 2053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162933 === End of file server.response === Start of file valgrind2053 ==169461== ==169461== Process terminating with default action of signal 4 (SIGILL) ==169461== Illegal opcode at address 0x4014B6F ==169461== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169461== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169461== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169461== by 0x4004266: main (tool_main.c:199) === End of file valgrind2053 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:38851/20030001 ftp://127.0.0.1:39001/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:53376//20030003 tftp://127.0.0.1:53376//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:39001/20030002 http://127.0.0.1:38851/20030001 > log/23/stdout2003 2> log/23/stderr2003 test 2052...[--connect-to: do not mix connections with and without a "connect to host"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2052 ../src/curl -q --include --trace-ascii log/12/trace2052 --trace-time http://www.example.com:43359/2052 --resolve www.example.com:43359:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43359 --connect-to ::127.0.0.1:43359 http://www.example.com:43359/2052 -w "%{num_connects}\n" > log/12/stdout2052 2> log/12/stderr2052 2052: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:43.102198363 +0000 +++ log/12/check-generated 2025-09-11 14:54:43.102198363 +0000 @@ -1,9 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -1[LF] == Contents of files in the log/12/ dir after test 2052 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2052 ../src/curl -q --include --trace-ascii log/12/trace2052 --trace-time http://www.example.com:43359/2052 --resolve www.example.com:43359:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43359 --connect-to ::127.0.0.1:43359 http://www.example.com:43359/2052 -w "%{num_connects}\n" > log/12/stdout2052 2> log/12/stderr2052 === End of file commands.log === Start of file http_server.log 14:54:42.204504 ====> Client connect 14:54:42.204550 accept_connection 3 returned 4 14:54:42.204569 accept_connection 3 returned 0 14:54:42.204587 Read 93 bytes 14:54:42.204600 Process 93 bytes request 14:54:42.204616 Got request: GET /verifiedserver HTTP/1.1 14:54:42.204627 Are-we-friendly question received 14:54:42.204654 Wrote request (93 bytes) input to log/12/server.input 14:54:42.204674 Identifying ourselves as friends 14:54:42.204738 Response sent (56 bytes) and written to log/12/server.response 14:54:42.204752 special request received, no persistency 14:54:42.204764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 2052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file valgrind2052 ==169478== ==169478== Process terminating with default action of signal 4 (SIGILL) ==169478== Illegal opcode at address 0x4014B6F ==169478== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169478== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169478== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169478== by 0x4004266: main (tool_main.c:199) === End of file valgrind2052 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/23/server/tftp_server.pid" --portfile "log/23/server/tftp_server.port" --logfile "log/23/tftp_server.log" --logdir "log/23" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 168051 port 53376 * pid tftp => 168051 168051 test 2003...[HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:38851/20030001 ftp://127.0.0.1:39001/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:53376//20030003 tftp://127.0.0.1:53376//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:39001/20030002 http://127.0.0.1:38851/20030001 > log/23/stdout2003 2> log/23/stderr2003 2003: stdout FAILED: --- log/23/check-expected 2025-09-11 14:54:43.118865030 +0000 +++ log/23/check-generated 2025-09-11 14:54:43.118865030 +0000 @@ -1,32 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] --foo-[LF] == Contents of files in the log/23/ dir after test 2003 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:38851/20030001 ftp://127.0.0.1:39001/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:53376//20030003 tftp://127.0.0.1:53376//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:39001/20030002 http://127.0.0.1:38851/20030001 > log/23/stdout2003 2> log/23/stderr2003 === End of file commands.log === Start of file ftp_server.log 14:54:41.096278 ====> Client connect 14:54:41.096445 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:41.096708 < "USER anonymous" 14:54:41.096743 > "331 We are happy you popped in![CR][LF]" 14:54:41.096917 < "PASS ftp@example.com" 14:54:41.096944 > "230 Welcome you silly person[CR][LF]" 14:54:41.097129 < "PWD" 14:54:41.097162 > "257 "/" is current directory[CR][LF]" 14:54:41.097330 < "EPSV" 14:54:41.097355 ====> Passive DATA channel requested by client 14:54:41.097368 DATA sockfilt for passive data channel starting... 14:54:41.099262 DATA sockfilt for passive data channel started (pid 167977) 14:54:41.099386 DATA sockfilt for passive data channel listens on port 43749 14:54:41.099436 > "229 Entering Passive Mode (|||43749|)[LF]" 14:54:41.099460 Client has been notified that DATA conn will be accepted on port 43749 14:54:41.099727 Client connects to port 43749 14:54:41.099759 ====> Client established passive DATA connection on port 43749 14:54:41.099844 < "TYPE I" 14:54:41.099876 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:41.100066 < "SIZE verifiedserver" 14:54:41.100108 > "213 17[CR][LF]" 14:54:41.100306 < "RETR verifiedserver" 14:54:41.100347 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:41.100442 =====> Closing passive DATA connection... 14:54:41.100464 Server disconnects passive DATA connection 14:54:41.100772 Server disconnected passive DATA connection 14:54:41.100803 DATA sockfilt for passive data channel quits (pid 167977) 14:54:41.101011 DATA sockfilt for passive data channel quit (pid 167977) 14:54:41.101035 =====> Closed passive DATA connection 14:54:41.101061 > "226 File transfer complete[CR][LF]" 14:54:41.144420 < "QUIT" 14:54:41.144495 > "221 bye bye baby[CR][LF]" 14:54:41.145202 MAIN sockfilt said DISC 14:54:41.145262 ====> Client disconnected 14:54:41.145352 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:41.178968 ====> Client connect 14:54:41.179266 Received DATA (on stdin) 14:54:41.179282 > 160 bytes data, server => client 14:54:41.179295 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:41.179306 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:41.179318 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:41.179392 < 16 bytes data, client => server 14:54:41.179405 'USER anonymous\r\n' 14:54:41.179555 Received DATA (on stdin) 14:54:41.179567 > 33 bytes data, server => client 14:54:41.179579 '331 We are happy you popped in!\r\n' 14:54:41.179628 < 22 bytes data, client => server 14:54:41.179640 'PASS ftp@example.com\r\n' 14:54:41.179748 Received DATA (on stdin) 14:54:41.179772 > 30 bytes data, server => client 14:54:41.179785 '230 Welcome you silly person\r\n' 14:54:41.179844 < 5 bytes data, client => server 14:54:41.179857 'PWD\r\n' 14:54:41.179973 Received DATA (on stdin) 14:54:41.179986 > 30 bytes data, server => client 14:54:41.179997 '257 "/" is current directory\r\n' 14:54:41.180054 < 6 bytes data, client => server 14:54:41.180067 'EPSV\r\n' 14:54:41.182280 Received DATA (on stdin) 14:54:41.182298 > 38 bytes data, server => client 14:54:41.182310 '229 Entering Passive Mode (|||43749|)\n' 14:54:41.182479 < 8 bytes data, client => server 14:54:41.182493 'TYPE I\r\n' 14:54:41.182693 Received DATA (on stdin) 14:54:41.182709 > 33 bytes data, server => client 14:54:41.182721 '200 I modify TYPE as you wanted\r\n' 14:54:41.182778 < 21 bytes data, client => server 14:54:41.182795 'SIZE verifiedserver\r\n' 14:54:41.182924 Received DATA (on stdin) 14:54:41.182939 > 8 bytes data, server => client 14:54:41.182951 '213 17\r\n' 14:54:41.183017 < 21 bytes data, client => server 14:54:41.183034 'RETR verifiedserver\r\n' 14:54:41.183280 Received DATA (on stdin) 14:54:41.183294 > 29 bytes data, server => client 14:54:41.183307 '150 Binary junk (17 bytes).\r\n' 14:54:41.183871 Received DATA (on stdin) 14:54:41.183885 > 28 bytes data, server => client 14:54:41.183896 '226 File transfer complete\r\n' 14:54:41.226899 < 6 bytes data, client => server 14:54:41.226950 'QUIT\r\n' 14:54:41.227313 Received DATA (on stdin) 14:54:41.227327 > 18 bytes data, server => client 14:54:41.227339 '221 bye bye baby\r\n' 14:54:41.227926 ====> Client disconnect 14:54:41.228166 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:41.181871 Running IPv4 version 14:54:41.181941 Listening on port 43749 14:54:41.181988 Wrote pid 167977 to log/23/server/ftp_sockdata.pid 14:54:41.182012 Received PING (on stdin) 14:54:41.182104 Received PORT (on stdin) 14:54:41.182446 ====> Client connect 14:54:41.183336 Received DATA (on stdin) 14:54:41.183350 > 17 bytes data, server => client 14:54:41.183363 'WE ROOLZ: 80287\r\n' 14:54:41.183388 Received DISC (on stdin) 14:54:41.183402 ====> Client forcibly disconnected 14:54:41.183623 Received QUIT (on stdin) 14:54:41.183636 quits 14:54:41.183686 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 14:54:41.161122 ====> Client connect 14:54:41.161156 accept_connection 3 returned 4 14:54:41.161173 accept_conCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2055 ../src/curl -q --output log/24/curl2055.out --include --trace-ascii log/24/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34449 -x 127.0.0.1:39595 --preproxy socks5://127.0.0.1:36037 > log/24/stdout2055 2> log/24/stderr2055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2054 ../src/curl -q --output log/15/curl2054.out --include --trace-ascii log/15/trace2054 --trace-time http://127.0.0.1:42107/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:42107/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::42107 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:42107 --connect-to www.example.com:8084:foo:123 > log/15/stdout2054 2> log/15/stderr2054 nection 3 returned 0 14:54:41.161189 Read 93 bytes 14:54:41.161200 Process 93 bytes request 14:54:41.161214 Got request: GET /verifiedserver HTTP/1.1 14:54:41.161224 Are-we-friendly question received 14:54:41.161274 Wrote request (93 bytes) input to log/23/server.input 14:54:41.161291 Identifying ourselves as friends 14:54:41.161341 Response sent (56 bytes) and written to log/23/server.response 14:54:41.161351 special request received, no persistency 14:54:41.161360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 59020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 2003 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file test2003.txt foo bar bar foo moo === End of file test2003.txt === Start of file tftp_server.log 14:54:41.248136 Wrote pid 168051 to log/23/server/tftp_server.pid 14:54:41.248183 Wrote port 53376 to log/23/server/tftp_server.port 14:54:41.248195 Running IPv4 version on port UDP/53376 === End of file tftp_server.log === Start of file valgrind2003 ==169608== ==169608== Process terminating with default action of signal 4 (SIGILL) ==169608== Illegal opcode at address 0x4014B6F ==169608== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169608== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169608== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169608== by 0x4004266: main (tool_main.c:199) === End of file valgrind2003 test 2055...[--connect-to via SOCKS proxy and HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2055 ../src/curl -q --output log/24/curl2055.out --include --trace-ascii log/24/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34449 -x 127.0.0.1:39595 --preproxy socks5://127.0.0.1:36037 > log/24/stdout2055 2> log/24/stderr2055 2055: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 2055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2055 ../src/curl -q --output log/24/curl2055.out --include --trace-ascii log/24/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34449 -x 127.0.0.1:39595 --preproxy socks5://127.0.0.1:36037 > log/24/stdout2055 2> log/24/stderr2055 === End of file commands.log === Start of file http2_server.log 14:54:42.385136 ====> Client connect 14:54:42.385180 accept_connection 3 returned 4 14:54:42.385198 accept_connection 3 returned 0 14:54:42.385215 Read 93 bytes 14:54:42.385234 Process 93 bytes request 14:54:42.385249 Got request: GET /verifiedserver HTTP/1.1 14:54:42.385260 Are-we-friendly question received 14:54:42.385289 Wrote request (93 bytes) input to log/24/proxy.input 14:54:42.385312 Identifying ourselves as friends 14:54:42.385379 Response sent (57 bytes) and written to log/24/proxy.response 14:54:42.385395 special request received, no persistency 14:54:42.385406 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:39595... * Established connection to 127.0.0.1 (127.0.0.1 port 39595) from 127.0.0.1 port 51346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39595 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:39595 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 146231 === End of file http2_verify.out === Start of file http_server.log 14:54:42.366652 ====> Client connect 14:54:42.366685 accept_connection 3 returned 4 14:54:42.366702 accept_connection 3 returned 0 14:54:42.366717 Read 93 bytes 14:54:42.366728 Process 93 bytes request 14:54:42.366740 Got request: GET /verifiedserver HTTP/1.1 14:54:42.366751 Are-we-friendly question received 14:54:42.366776 Wrote request (93 bytes) input to log/24/server.input 14:54:42.366794 Identifying ourselves as friends 14:54:42.366848 Response sent (56 bytes) and written to log/24/server.response 14:54:42.366860 special request received, no persistency 14:54:42.366870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 146231 === End of file proxy.response === Start of file server.cmd Testnum 2055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind2055 ==169816== ==169816== Process terminating with default action of signal 4 (SIGILL) ==169816== Illegal opcode at address 0x4014B6F ==169816== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169816== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169816== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169816== by 0x4004266: main (tool_main.c:199) === End of file valgrind2055 test 2054...[Connect to specific host: use the first "connect-to" string that matches] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2054 ../src/curl -q --output log/15/curl2054.out --include --trace-ascii log/15/trace2054 --trace-time http://127.0.0.1:42107/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:42107/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::42107 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:42107 --connect-to www.example.com:8084:foo:123 > log/15/stdout2054 2> log/15/stderr2054 2054: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 2054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2054 ../src/curl -q --output log/15/curl2054.out --include --trace-ascii log/15/trace2054 --trace-time http://127.0.0.1:42107/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:42107/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::42107 --connect-to :8083::123 --next http://www.example.com:8084/2054 --conneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2058 ../src/curl -q --output log/20/curl2058.out --include --trace-ascii log/20/trace2058 --trace-time http://127.0.0.1:39569/2058 -u auser:apasswd --digest -T log/20/2058 -x http://127.0.0.1:39569 -C 2 -X GET > log/20/stdout2058 2> log/20/stderr2058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2062 ../src/curl -q --output log/19/curl2062.out --include --trace-ascii log/19/trace2062 --trace-time http://127.0.0.1:33805/2062 -u testuser:testpass --digest > log/19/stdout2062 2> log/19/stderr2062 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2061 ../src/curl -q --output log/17/curl2061.out --include --trace-ascii log/17/trace2061 --trace-time http://127.0.0.1:45171/2061 -u testuser:testpass --digest > log/17/stdout2061 2> log/17/stderr2061 ct-to www.example.com:8084:127.0.0.1:42107 --connect-to www.example.com:8084:foo:123 > log/15/stdout2054 2> log/15/stderr2054 === End of file commands.log === Start of file http_server.log 14:54:42.364239 ====> Client connect 14:54:42.364271 accept_connection 3 returned 4 14:54:42.364289 accept_connection 3 returned 0 14:54:42.364305 Read 93 bytes 14:54:42.364316 Process 93 bytes request 14:54:42.364330 Got request: GET /verifiedserver HTTP/1.1 14:54:42.364341 Are-we-friendly question received 14:54:42.364365 Wrote request (93 bytes) input to log/15/server.input 14:54:42.364383 Identifying ourselves as friends 14:54:42.364437 Response sent (56 bytes) and written to log/15/server.response 14:54:42.364449 special request received, no persistency 14:54:42.364460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42107... * Established connection to 127.0.0.1 (127.0.0.1 port 42107) from 127.0.0.1 port 32862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42107 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42107 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74017 === End of file http_verify.out === Start of file server.cmd Testnum 2054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74017 === End of file server.response === Start of file valgrind2054 ==169759== ==169759== Process terminating with default action of signal 4 (SIGILL) ==169759== Illegal opcode at address 0x4014B6F ==169759== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169759== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169759== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169759== by 0x4004266: main (tool_main.c:199) === End of file valgrind2054 test 2058...[HTTP Digest with PUT, resumed upload, modified method and SHA-256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2058 ../src/curl -q --output log/20/curl2058.out --include --trace-ascii log/20/trace2058 --trace-time http://127.0.0.1:39569/2058 -u auser:apasswd --digest -T log/20/2058 -x http://127.0.0.1:39569 -C 2 -X GET > log/20/stdout2058 2> log/20/stderr2058 2058: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 2058 === Start of file 2058 test === End of file 2058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2058 ../src/curl -q --output log/20/curl2058.out --include --trace-ascii log/20/trace2058 --trace-time http://127.0.0.1:39569/2058 -u auser:apasswd --digest -T log/20/2058 -x http://127.0.0.1:39569 -C 2 -X GET > log/20/stdout2058 2> log/20/stderr2058 === End of file commands.log === Start of file http_server.log 14:54:42.367654 ====> Client connect 14:54:42.367686 accept_connection 3 returned 4 14:54:42.367704 accept_connection 3 returned 0 14:54:42.367720 Read 93 bytes 14:54:42.367731 Process 93 bytes request 14:54:42.367745 Got request: GET /verifiedserver HTTP/1.1 14:54:42.367756 Are-we-friendly question received 14:54:42.367779 Wrote request (93 bytes) input to log/20/server.input 14:54:42.367797 Identifying ourselves as friends 14:54:42.367850 Response sent (56 bytes) and written to log/20/server.response 14:54:42.367861 special request received, no persistency 14:54:42.367872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 2058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind2058 ==169778== ==169778== Process terminating with default action of signal 4 (SIGILL) ==169778== Illegal opcode at address 0x4014B6F ==169778== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169778== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169778== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169778== by 0x4004266: main (tool_main.c:199) === End of file valgrind2058 test 2062...[HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2062 ../src/curl -q --output log/19/curl2062.out --include --trace-ascii log/19/trace2062 --trace-time http://127.0.0.1:33805/2062 -u testuser:testpass --digest > log/19/stdout2062 2> log/19/stderr2062 2062: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 2062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2062 ../src/curl -q --output log/19/curl2062.out --include --trace-ascii log/19/trace2062 --trace-time http://127.0.0.1:33805/2062 -u testuser:testpass --digest > log/19/stdout2062 2> log/19/stderr2062 === End of file commands.log === Start of file http_server.log 14:54:41.516569 ====> Client connect 14:54:41.516603 accept_connection 3 returned 4 14:54:41.516621 accept_connection 3 returned 0 14:54:41.516637 Read 93 bytes 14:54:41.516648 Process 93 bytes request 14:54:41.516662 Got request: GET /verifiedserver HTTP/1.1 14:54:41.516673 Are-we-friendly question received 14:54:41.516698 Wrote request (93 bytes) input to log/19/server.input 14:54:41.516717 Identifying ourselves as friends 14:54:41.516774 Response sent (56 bytes) and written to log/19/server.response 14:54:41.516786 special request received, no persistency 14:54:41.516796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 2062 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind2062 ==170035== ==170035== Process terminating with default action of signal 4 (SIGILL) ==170035== Illegal opcode at address 0x4014B6F ==170035== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170035== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170035== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170035== by 0x4004266: main (tool_main.c:199) === End of file valgrind2062 test 2061...[HTTP with RFC7616 SHA256 Digest authorization] ../libtool --mode=execuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:34037/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2059 ../src/curl -q --output log/10/curl2059.out --include --trace-ascii log/10/trace2059 --trace-time http://127.0.0.1:35893/2059 -u auser:apasswd --digest -T log/10/2059 -x http://127.0.0.1:35893 -C 2 -X GET > log/10/stdout2059 2> log/10/stderr2059 te /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2061 ../src/curl -q --output log/17/curl2061.out --include --trace-ascii log/17/trace2061 --trace-time http://127.0.0.1:45171/2061 -u testuser:testpass --digest > log/17/stdout2061 2> log/17/stderr2061 2061: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 2061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2061 ../src/curl -q --output log/17/curl2061.out --include --trace-ascii log/17/trace2061 --trace-time http://127.0.0.1:45171/2061 -u testuser:testpass --digest > log/17/stdout2061 2> log/17/stderr2061 === End of file commands.log === Start of file http_server.log 14:54:42.509046 ====> Client connect 14:54:42.509080 accept_connection 3 returned 4 14:54:42.509192 accept_connection 3 returned 0 14:54:42.509218 Read 93 bytes 14:54:42.509239 Process 93 bytes request 14:54:42.509254 Got request: GET /verifiedserver HTTP/1.1 14:54:42.509270 Are-we-friendly question received 14:54:42.509298 Wrote request (93 bytes) input to log/17/server.input 14:54:42.509318 Identifying ourselves as friends 14:54:42.509368 Response sent (56 bytes) and written to log/17/server.response 14:54:42.509392 special request received, no persistency 14:54:42.509404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45171... * Established connection to 127.0.0.1 (127.0.0.1 port 45171) from 127.0.0.1 port 34296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45171 > User-Agent: curl/8.16.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45171 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74015 === End of file http_verify.out === Start of file server.cmd Testnum 2061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74015 === End of file server.response === Start of file valgrind2061 ==170027== ==170027== Process terminating with default action of signal 4 (SIGILL) ==170027== Illegal opcode at address 0x4014B6F ==170027== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170027== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170027== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170027== by 0x4004266: main (tool_main.c:199) === End of file valgrind2061 test 2063...[HTTP with RFC7616 SHA-256 Digest authorization and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:34037/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 2063: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 2063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:34037/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 === End of file commands.log === Start of file http_server.log 14:54:42.534352 ====> Client connect 14:54:42.534388 accept_connection 3 returned 4 14:54:42.534407 accept_connection 3 returned 0 14:54:42.534423 Read 93 bytes 14:54:42.534434 Process 93 bytes request 14:54:42.534449 Got request: GET /verifiedserver HTTP/1.1 14:54:42.534459 Are-we-friendly question received 14:54:42.534487 Wrote request (93 bytes) input to log/21/server.input 14:54:42.534504 Identifying ourselves as friends 14:54:42.534559 Response sent (56 bytes) and written to log/21/server.response 14:54:42.534570 special request received, no persistency 14:54:42.534579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 2063 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind2063 ==170147== ==170147== Process terminating with default action of signal 4 (SIGILL) ==170147== Illegal opcode at address 0x4014B6F ==170147== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170147== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170147== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170147== by 0x4004266: main (tool_main.c:199) === End of file valgrind2063 test 2059...[HTTP Digest with PUT, resumed upload, modified method, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2059 ../src/curl -q --output log/10/curl2059.out --include --trace-ascii log/10/trace2059 --trace-time http://127.0.0.1:35893/2059 -u auser:apasswd --digest -T log/10/2059 -x http://127.0.0.1:35893 -C 2 -X GET > log/10/stdout2059 2> log/10/stderr2059 2059: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 2059 === Start of file 2059 test === End of file 2059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2059 ../src/curl -q --output log/10/curl2059.out --include --trace-ascii log/10/trace2059 --trace-time http://127.0.0.1:35893/2059 -u auser:apasswd --digest -T log/10/2059 -x http://127.0.0.1:35893 -C 2 -X GET > log/10/stdout2059 2> log/10/stderr2059 === End of file commands.log === Start of file http_server.log 14:54:42.496997 ====> Client connect 14:54:42.497029 accept_connection 3 returned 4 14:54:42.497045 accept_connection 3 returned 0 14:54:42.497061 Read 93 bytes 14:54:42.497072 Process 93 bytes request 14:54:42.497088 Got request: GET /verifiedserver HTTP/1.1 14:54:42.497099 Are-we-friendly question received 14:54:42.497124 Wrote request (93 bytes) input to log/10/server.input 14:54:42.497141 Identifying ourselves as friends 14:54:42.497198 Response sent (56 bytes) and written to log/10/server.response 14:54:42.497210 special request received, no persistency 14:54:42.497220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file httCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2066 ../src/curl -q --output log/9/curl2066.out --include --trace-ascii log/9/trace2066 --trace-time http://127.0.0.1:34345/2066 -u testuser:test2pass --digest > log/9/stdout2066 2> log/9/stderr2066 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2060 ../src/curl -q --output log/6/curl2060.out --include --trace-ascii log/6/trace2060 --trace-time http://127.0.0.1:38791/2060 -u auser:apasswd --digest -T log/6/2060 -x http://127.0.0.1:38791 -C 2 -X GET > log/6/stdout2060 2> log/6/stderr2060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2064 ../src/curl -q --output log/16/curl2064.out --include --trace-ascii log/16/trace2064 --trace-time http://127.0.0.1:34475/2064 -u testuser:test2pass --digest > log/16/stdout2064 2> log/16/stderr2064 p_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 2059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind2059 ==169992== ==169992== Process terminating with default action of signal 4 (SIGILL) ==169992== Illegal opcode at address 0x4014B6F ==169992== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==169992== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==169992== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==169992== by 0x4004266: main (tool_main.c:199) === End of file valgrind2059 test 2066...[HTTP with RFC7616 Digest, bad password, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2066 ../src/curl -q --output log/9/curl2066.out --include --trace-ascii log/9/trace2066 --trace-time http://127.0.0.1:34345/2066 -u testuser:test2pass --digest > log/9/stdout2066 2> log/9/stderr2066 2066: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 2066 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2066 ../src/curl -q --output log/9/curl2066.out --include --trace-ascii log/9/trace2066 --trace-time http://127.0.0.1:34345/2066 -u testuser:test2pass --digest > log/9/stdout2066 2> log/9/stderr2066 === End of file commands.log === Start of file http_server.log 14:54:42.555768 ====> Client connect 14:54:42.555801 accept_connection 3 returned 4 14:54:42.555818 accept_connection 3 returned 0 14:54:42.555833 Read 93 bytes 14:54:42.555844 Process 93 bytes request 14:54:42.555858 Got request: GET /verifiedserver HTTP/1.1 14:54:42.555868 Are-we-friendly question received 14:54:42.555893 Wrote request (93 bytes) input to log/9/server.input 14:54:42.555911 Identifying ourselves as friends 14:54:42.555964 Response sent (56 bytes) and written to log/9/server.response 14:54:42.555975 special request received, no persistency 14:54:42.555986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 40976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 2066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind2066 ==170290== ==170290== Process terminating with default action of signal 4 (SIGILL) ==170290== Illegal opcode at address 0x4014B6F ==170290== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170290== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170290== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170290== by 0x4004266: main (tool_main.c:199) === End of file valgrind2066 test 2060...[HTTP Digest with PUT, resumed upload, SHA-512-256, userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2060 ../src/curl -q --output log/6/curl2060.out --include --trace-ascii log/6/trace2060 --trace-time http://127.0.0.1:38791/2060 -u auser:apasswd --digest -T log/6/2060 -x http://127.0.0.1:38791 -C 2 -X GET > log/6/stdout2060 2> log/6/stderr2060 2060: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2060 === Start of file 2060 test === End of file 2060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2060 ../src/curl -q --output log/6/curl2060.out --include --trace-ascii log/6/trace2060 --trace-time http://127.0.0.1:38791/2060 -u auser:apasswd --digest -T log/6/2060 -x http://127.0.0.1:38791 -C 2 -X GET > log/6/stdout2060 2> log/6/stderr2060 === End of file commands.log === Start of file http_server.log 14:54:42.507568 ====> Client connect 14:54:42.507600 accept_connection 3 returned 4 14:54:42.507617 accept_connection 3 returned 0 14:54:42.507632 Read 93 bytes 14:54:42.507643 Process 93 bytes request 14:54:42.507657 Got request: GET /verifiedserver HTTP/1.1 14:54:42.507667 Are-we-friendly question received 14:54:42.507691 Wrote request (93 bytes) input to log/6/server.input 14:54:42.507708 Identifying ourselves as friends 14:54:42.507760 Response sent (56 bytes) and written to log/6/server.response 14:54:42.507771 special request received, no persistency 14:54:42.507780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38791... * Established connection to 127.0.0.1 (127.0.0.1 port 38791) from 127.0.0.1 port 40346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38791 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38791 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81600 === End of file http_verify.out === Start of file server.cmd Testnum 2060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81600 === End of file server.response === Start of file valgrind2060 ==170028== ==170028== Process terminating with default action of signal 4 (SIGILL) ==170028== Illegal opcode at address 0x4014B6F ==170028== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170028== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170028== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170028== by 0x4004266: main (tool_main.c:199) === End of file valgrind2060 test 2064...[HTTP with RFC7616 Digest authorization with bad password and SHA256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2064 ../src/curl -q --output log/16/curl2064.out --include --trace-ascii log/16/trace2064 --trace-time http://127.0.0.1:34475/2064 -u testuser:test2pass --digest > log/16/stdout2064 2> log/16/stderr2064 2064: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 2064 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2064 ../src/curl -q --output log/16/curl2064.out --include --trace-ascii log/16/trace2064 --trace-time http://127.0.0.1:34475/2064 -u testuser:test2pass --digest > log/16/stdout2064 2> log/16/stderr2064 === End of file commands.log === Start of file http_server.log 14:54:42.544946 ====> Client connect 14:54:42.544978 accept_connection 3 returned 4 14:54:42.544994 accept_connection 3 returned 0 14:54:42.545010 Read 93 bytes 14:54:42.545020 Process 93 bytes request 14:54:42.545033 Got request: GET /verifiedserver HTTP/1.1 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2065 ../src/curl -q --output log/18/curl2065.out --include --trace-ascii log/18/trace2065 --trace-time http://127.0.0.1:46275/2065 -u testuser:test2pass --digest > log/18/stdout2065 2> log/18/stderr2065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2067 ../src/curl -q --output log/4/curl2067.out --include --trace-ascii log/4/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/2067 > log/4/stdout2067 2> log/4/stderr2067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40545/2068 > log/7/stdout2068 2> log/7/stderr2068 14:54:42.545043 Are-we-friendly question received 14:54:42.545067 Wrote request (93 bytes) input to log/16/server.input 14:54:42.545083 Identifying ourselves as friends 14:54:42.545135 Response sent (56 bytes) and written to log/16/server.response 14:54:42.545147 special request received, no persistency 14:54:42.545157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34475... * Established connection to 127.0.0.1 (127.0.0.1 port 34475) from 127.0.0.1 port 56328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34475 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34475 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74016 === End of file http_verify.out === Start of file server.cmd Testnum 2064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74016 === End of file server.response === Start of file valgrind2064 ==170197== ==170197== Process terminating with default action of signal 4 (SIGILL) ==170197== Illegal opcode at address 0x4014B6F ==170197== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170197== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170197== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170197== by 0x4004266: main (tool_main.c:199) === End of file valgrind2064 test 2065...[HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2065 ../src/curl -q --output log/18/curl2065.out --include --trace-ascii log/18/trace2065 --trace-time http://127.0.0.1:46275/2065 -u testuser:test2pass --digest > log/18/stdout2065 2> log/18/stderr2065 2065: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 2065 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2065 ../src/curl -q --output log/18/curl2065.out --include --trace-ascii log/18/trace2065 --trace-time http://127.0.0.1:46275/2065 -u testuser:test2pass --digest > log/18/stdout2065 2> log/18/stderr2065 === End of file commands.log === Start of file http_server.log 14:54:42.546013 ====> Client connect 14:54:42.546047 accept_connection 3 returned 4 14:54:42.546065 accept_connection 3 returned 0 14:54:42.546080 Read 93 bytes 14:54:42.546092 Process 93 bytes request 14:54:42.546105 Got request: GET /verifiedserver HTTP/1.1 14:54:42.546116 Are-we-friendly question received 14:54:42.546144 Wrote request (93 bytes) input to log/18/server.input 14:54:42.546162 Identifying ourselves as friends 14:54:42.546221 Response sent (57 bytes) and written to log/18/server.response 14:54:42.546233 special request received, no persistency 14:54:42.546244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 2065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file valgrind2065 ==170205== ==170205== Process terminating with default action of signal 4 (SIGILL) ==170205== Illegal opcode at address 0x4014B6F ==170205== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170205== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170205== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170205== by 0x4004266: main (tool_main.c:199) === End of file valgrind2065 test 2067...[HTTP POST --digest with SHA256 and user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2067 ../src/curl -q --output log/4/curl2067.out --include --trace-ascii log/4/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/2067 > log/4/stdout2067 2> log/4/stderr2067 2067: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2067 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2067 ../src/curl -q --output log/4/curl2067.out --include --trace-ascii log/4/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:39793/2067 > log/4/stdout2067 2> log/4/stderr2067 === End of file commands.log === Start of file http_server.log 14:54:42.676700 ====> Client connect 14:54:42.676738 accept_connection 3 returned 4 14:54:42.676758 accept_connection 3 returned 0 14:54:42.676776 Read 93 bytes 14:54:42.676789 Process 93 bytes request 14:54:42.676806 Got request: GET /verifiedserver HTTP/1.1 14:54:42.676818 Are-we-friendly question received 14:54:42.676846 Wrote request (93 bytes) input to log/4/server.input 14:54:42.676868 Identifying ourselves as friends 14:54:42.676929 Response sent (56 bytes) and written to log/4/server.response 14:54:42.676942 special request received, no persistency 14:54:42.676954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 42682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 2067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind2067 ==170480== ==170480== Process terminating with default action of signal 4 (SIGILL) ==170480== Illegal opcode at address 0x4014B6F ==170480== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170480== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170480== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170480== by 0x4004266: main (tool_main.c:199) === End of file valgrind2067 test 2068...[HTTP POST Digest with SHA-512-256, userhash and set Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40545/2068 > log/7/stdout2068 2> log/7/stderr2068 2068: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? RetCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2069 ../src/curl -q --output log/22/curl2069.out --include --trace-ascii log/22/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42027/2069 > log/22/stdout2069 2> log/22/stderr2069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2071 ../src/curl -q --output log/14/curl2071.out --trace-ascii log/14/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/14/test2070.txt > log/14/stdout2071 2> log/14/stderr2071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2072 ../src/curl -q --output log/2/curl2072.out --trace-ascii log/2/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/2/test2072.txt > log/2/stdout2072 2> log/2/stderr2072 urned: 132 == Contents of files in the log/7/ dir after test 2068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40545/2068 > log/7/stdout2068 2> log/7/stderr2068 === End of file commands.log === Start of file http_server.log 14:54:42.771432 ====> Client connect 14:54:42.771500 accept_connection 3 returned 4 14:54:42.771519 accept_connection 3 returned 0 14:54:42.771536 Read 93 bytes 14:54:42.771548 Process 93 bytes request 14:54:42.771562 Got request: GET /verifiedserver HTTP/1.1 14:54:42.771573 Are-we-friendly question received 14:54:42.771597 Wrote request (93 bytes) input to log/7/server.input 14:54:42.771617 Identifying ourselves as friends 14:54:42.771675 Response sent (56 bytes) and written to log/7/server.response 14:54:42.771687 special request received, no persistency 14:54:42.771697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 37908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 2068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind2068 ==170563== ==170563== Process terminating with default action of signal 4 (SIGILL) ==170563== Illegal opcode at address 0x4014B6F ==170563== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170563== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170563== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170563== by 0x4004266: main (tool_main.c:199) === End of file valgrind2068 test 2069...[HTTP POST Digest with SHA-256, userhash and set Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2069 ../src/curl -q --output log/22/curl2069.out --include --trace-ascii log/22/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42027/2069 > log/22/stdout2069 2> log/22/stderr2069 2069: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 2069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2069 ../src/curl -q --output log/22/curl2069.out --include --trace-ascii log/22/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42027/2069 > log/22/stdout2069 2> log/22/stderr2069 === End of file commands.log === Start of file http_server.log 14:54:43.045590 ====> Client connect 14:54:43.045626 accept_connection 3 returned 4 14:54:43.045643 accept_connection 3 returned 0 14:54:43.045658 Read 93 bytes 14:54:43.045669 Process 93 bytes request 14:54:43.045682 Got request: GET /verifiedserver HTTP/1.1 14:54:43.045691 Are-we-friendly question received 14:54:43.045714 Wrote request (93 bytes) input to log/22/server.input 14:54:43.045730 Identifying ourselves as friends 14:54:43.045786 Response sent (56 bytes) and written to log/22/server.response 14:54:43.045797 special request received, no persistency 14:54:43.045806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42027... * Established connection to 127.0.0.1 (127.0.0.1 port 42027) from 127.0.0.1 port 38648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42027 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42027 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74010 === End of file http_verify.out === Start of file server.cmd Testnum 2069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74010 === End of file server.response === Start of file valgrind2069 ==170686== ==170686== Process terminating with default action of signal 4 (SIGILL) ==170686== Illegal opcode at address 0x4014B6F ==170686== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170686== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170686== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170686== by 0x4004266: main (tool_main.c:199) === End of file valgrind2069 prechecked /usr/bin/perl -e "print 'Test requires a Unix system' if($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'msys');" test 2072...[file:// with Unix path resolution behavior for the case of extra slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2072 ../src/curl -q --output log/2/curl2072.out --trace-ascii log/2/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/2/test2072.txt > log/2/stdout2072 2> log/2/stderr2072 2072: data FAILED: --- log/2/check-expected 2025-09-11 14:54:43.862198373 +0000 +++ log/2/check-generated 2025-09-11 14:54:43.862198373 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/2/ dir after test 2072 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2072 ../src/curl -q --output log/2/curl2072.out --trace-ascii log/2/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/2/test2072.txt > log/2/stdout2072 2> log/2/stderr2072 === End of file commands.log === Start of file server.cmd Testnum 2072 === End of file server.cmd === Start of file test2072.txt foo bar bar foo moo === End of file test2072.txt === Start of file valgrind2072 ==170716== ==170716== Process terminating with default action of signal 4 (SIGILL) ==170716== Illegal opcode at address 0x4014B6F ==170716== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170716== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170716== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170716== by 0x4004266: main (tool_main.c:199) === End of file valgrind2072 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2075 ../src/curl -q --output log/12/curl2075.out --include --trace-ascii log/12/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/12/stdout2075 2> log/12/stderr2075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2073 ../src/curl -q --output log/1/curl2073.out --include --trace-ascii log/1/trace2073 --trace-time http://127.0.0.1:44029/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:44029/2073 -F 'name=b;filename=b.jpg' > log/1/stdout2073 2> log/1/stderr2073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:33503/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/stderr2074 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2077 ../src/curl -q --output log/23/curl2077.out --include --trace-ascii log/23/trace2077 --trace-time http://127.0.0.1:38851/2077 --fail --negotiate > log/23/stdout2077 2> log/23/stderr2077 test 2071...[basic file:// file with "127.0.0.1" hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2071 ../src/curl -q --output log/14/curl2071.out --trace-ascii log/14/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/14/test2070.txt > log/14/stdout2071 2> log/14/stderr2071 2071: data FAILED: --- log/14/check-expected 2025-09-11 14:54:43.865531708 +0000 +++ log/14/check-generated 2025-09-11 14:54:43.865531708 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/14/ dir after test 2071 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2071 ../src/curl -q --output log/14/curl2071.out --trace-ascii log/14/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/14/test2070.txt > log/14/stdout2071 2> log/14/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==170648== ==170648== Process terminating with default action of signal 4 (SIGILL) ==170648== Illegal opcode at address 0x4014B6F ==170648== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170648== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170648== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170648== by 0x4004266: main (tool_main.c:199) === End of file valgrind2071 test 2075...[Verify usernames are not allowed in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2075 ../src/curl -q --output log/12/curl2075.out --include --trace-ascii log/12/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/12/stdout2075 2> log/12/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/12/ dir after test 2075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2075 ../src/curl -q --output log/12/curl2075.out --include --trace-ascii log/12/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/12/stdout2075 2> log/12/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==170866== ==170866== Process terminating with default action of signal 4 (SIGILL) ==170866== Illegal opcode at address 0x4014B6F ==170866== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170866== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170866== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170866== by 0x4004266: main (tool_main.c:199) === End of file valgrind2075 test 2073...[HTTP form posts with handle reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2073 ../src/curl -q --output log/1/curl2073.out --include --trace-ascii log/1/trace2073 --trace-time http://127.0.0.1:44029/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:44029/2073 -F 'name=b;filename=b.jpg' > log/1/stdout2073 2> log/1/stderr2073 2073: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 2073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2073 ../src/curl -q --output log/1/curl2073.out --include --trace-ascii log/1/trace2073 --trace-time http://127.0.0.1:44029/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:44029/2073 -F 'name=b;filename=b.jpg' > log/1/stdout2073 2> log/1/stderr2073 === End of file commands.log === Start of file http_server.log 14:54:43.182240 ====> Client connect 14:54:43.182274 accept_connection 3 returned 4 14:54:43.182292 accept_connection 3 returned 0 14:54:43.182309 Read 93 bytes 14:54:43.182320 Process 93 bytes request 14:54:43.182333 Got request: GET /verifiedserver HTTP/1.1 14:54:43.182344 Are-we-friendly question received 14:54:43.182369 Wrote request (93 bytes) input to log/1/server.input 14:54:43.182387 Identifying ourselves as friends 14:54:43.182524 Response sent (56 bytes) and written to log/1/server.response 14:54:43.182550 special request received, no persistency 14:54:43.182563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 46588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file server.cmd Testnum 2073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file valgrind2073 ==170850== ==170850== Process terminating with default action of signal 4 (SIGILL) ==170850== Illegal opcode at address 0x4014B6F ==170850== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170850== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170850== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170850== by 0x4004266: main (tool_main.c:199) === End of file valgrind2073 test 2074...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:33503/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/stderr2074 2074: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2074 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:33503/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/stderr2074 === End of file commands.log === Start of file http_server.log 14:54:43.208193 ====> Client connect 14:54:43.208227 accept_connection 3 returned 4 14:54:43.208244 accept_connection 3 returned 0 14:54:43.208260 Read 93 bytes 14:54:43.208271 Process 93 bytes request 14:54:43.208284 Got request: GET /verifiedserver HTTP/1.1 14:54:43.208294 Are-we-friendly question received 14:54:43.208319 Wrote request (93 bytes) input to log/11/server.input 14:54:43.208335 Identifying ourselves as friends 14:54:43.208389 Response sent (56 bytes) and written to log/11/server.response 14:54:43.208400 special request received, no persistency 14:54:43.208410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33503... * Established connection to 127.0.0.1 (127.0.0.1 port 33503) from 127.0.0.1 port 50930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33503 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33503 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74119 === End of file http_verify.out === Start of file server.cmd Testnum 2074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74119 === End of file server.response === Start of file valgrind2074 ==170921== ==170921== Process terminating with default action of signal 4 (SIGILL) ==170921== Illegal opcode at address 0x4014B6F ==170921== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170921== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170921== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170921== by 0x4004266: main (tool_main.c:199) === End of file valgrind2074 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2076 ../src/curl -q --output log/5/curl2076.out --include --trace-ascii log/5/trace2076 --trace-time "http://127.0.0.1:45345/2076?query" -u testuser:testpass --digest > log/5/stdout2076 2> log/5/stderr2076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 test 2077...[curl --fail --negotiate to unauthenticated service fails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2077 ../src/curl -q --output log/23/curl2077.out --include --trace-ascii log/23/trace2077 --trace-time http://127.0.0.1:38851/2077 --fail --negotiate > log/23/stdout2077 2> log/23/stderr2077 2077: data FAILED: --- log/23/check-expected 2025-09-11 14:54:44.015531710 +0000 +++ log/23/check-generated 2025-09-11 14:54:44.015531710 +0000 @@ -1,4 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] == Contents of files in the log/23/ dir after test 2077 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2077 ../src/curl -q --output log/23/curl2077.out --include --trace-ascii log/23/trace2077 --trace-time http://127.0.0.1:38851/2077 --fail --negotiate > log/23/stdout2077 2> log/23/stderr2077 === End of file commands.log === Start of file http_server.log 14:54:43.230177 ====> Client connect 14:54:43.230211 accept_connection 3 returned 4 14:54:43.230228 accept_connection 3 returned 0 14:54:43.230245 Read 93 bytes 14:54:43.230256 Process 93 bytes request 14:54:43.230270 Got request: GET /verifiedserver HTTP/1.1 14:54:43.230281 Are-we-friendly question received 14:54:43.230305 Wrote request (93 bytes) input to log/23/server.input 14:54:43.230322 Identifying ourselves as friends 14:54:43.230376 Response sent (56 bytes) and written to log/23/server.response 14:54:43.230388 special request received, no persistency 14:54:43.230399 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38851... * Established connection to 127.0.0.1 (127.0.0.1 port 38851) from 127.0.0.1 port 59032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38851 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38851 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76073 === End of file http_verify.out === Start of file server.cmd Testnum 2077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76073 === End of file server.response === Start of file valgrind2077 ==171013== ==171013== Process terminating with default action of signal 4 (SIGILL) ==171013== Illegal opcode at address 0x4014B6F ==171013== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171013== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171013== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171013== by 0x4004266: main (tool_main.c:199) === End of file valgrind2077 test 2076...[HTTP with digest auth and URI contains query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2076 ../src/curl -q --output log/5/curl2076.out --include --trace-ascii log/5/trace2076 --trace-time "http://127.0.0.1:45345/2076?query" -u testuser:testpass --digest > log/5/stdout2076 2> log/5/stderr2076 2076: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 2076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2076 ../src/curl -q --output log/5/curl2076.out --include --trace-ascii log/5/trace2076 --trace-time "http://127.0.0.1:45345/2076?query" -u testuser:testpass --digest > log/5/stdout2076 2> log/5/stderr2076 === End of file commands.log === Start of file http_server.log 14:54:43.215940 ====> Client connect 14:54:43.215980 accept_connection 3 returned 4 14:54:43.215997 accept_connection 3 returned 0 14:54:43.216014 Read 93 bytes 14:54:43.216024 Process 93 bytes request 14:54:43.216036 Got request: GET /verifiedserver HTTP/1.1 14:54:43.216046 Are-we-friendly question received 14:54:43.216072 Wrote request (93 bytes) input to log/5/server.input 14:54:43.216089 Identifying ourselves as friends 14:54:43.216167 Response sent (57 bytes) and written to log/5/server.response 14:54:43.216177 special request received, no persistency 14:54:43.216187 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45345... * Established connection to 127.0.0.1 (127.0.0.1 port 45345) from 127.0.0.1 port 36582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:45345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162933 === End of file http_verify.out === Start of file server.cmd Testnum 2076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162933 === End of file server.response === Start of file valgrind2076 ==170968== ==170968== Process terminating with default action of signal 4 (SIGILL) ==170968== Illegal opcode at address 0x4014B6F ==170968== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==170968== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==170968== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==170968== by 0x4004266: main (tool_main.c:199) === End of file valgrind2076 test 2080...[config file with overly long option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 curl returned 132, when expecting 26 2080: exit FAILED == Contents of files in the log/15/ dir after test 2080 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2081 ../src/curl -q --include --trace-ascii log/20/trace2081 --trace-time http://user:pass@127.0.0.1:39569/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/20/stdout2081 2> log/20/stderr2081 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2078 ../src/curl -q --output log/24/curl2078.out --include --trace-ascii log/24/trace2078 --trace-time http://127.0.0.1:34449/2078 --negotiate --data name=value > log/24/stdout2078 2> log/24/stderr2078 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==171146== ==171146== Process terminating with default action of signal 4 (SIGILL) ==171146== Illegal opcode at address 0x4014B6F ==171146== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171146== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171146== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171146== by 0x4004266: main (tool_main.c:199) === End of file valgrind2080 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:33805/2082 > log/19/stdout2082 2> log/19/stderr2082 test 2081...[Automatic referrer credential and anchor stripping check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2081 ../src/curl -q --include --trace-ascii log/20/trace2081 --trace-time http://user:pass@127.0.0.1:39569/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/20/stdout2081 2> log/20/stderr2081 2081: stdout FAILED: --- log/20/check-expected 2025-09-11 14:54:44.145531712 +0000 +++ log/20/check-generated 2025-09-11 14:54:44.145531712 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/20810002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Thanks for following.[LF] -http://127.0.0.1:39569/we/want/our/2081[LF] == Contents of files in the log/20/ dir after test 2081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/20810002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] Connection: close[CR][LF] [CR][LF] Thanks for following.[LF] http://127.0.0.1:39569/we/want/our/2081[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2081 ../src/curl -q --include --trace-ascii log/20/trace2081 --trace-time http://user:pass@127.0.0.1:39569/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/20/stdout2081 2> log/20/stderr2081 === End of file commands.log === Start of file http_server.log 14:54:43.339831 ====> Client connect 14:54:43.339863 accept_connection 3 returned 4 14:54:43.339881 accept_connection 3 returned 0 14:54:43.339897 Read 93 bytes 14:54:43.339908 Process 93 bytes request 14:54:43.339922 Got request: GET /verifiedserver HTTP/1.1 14:54:43.339933 Are-we-friendly question received 14:54:43.339956 Wrote request (93 bytes) input to log/20/server.input 14:54:43.339973 Identifying ourselves as friends 14:54:43.340027 Response sent (56 bytes) and written to log/20/server.response 14:54:43.340038 special request received, no persistency 14:54:43.340049 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Established connection to 127.0.0.1 (127.0.0.1 port 39569) from 127.0.0.1 port 58724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74012 === End of file http_verify.out === Start of file server.cmd Testnum 2081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74012 === End of file server.response === Start of file valgrind2081 ==171214== ==171214== Process terminating with default action of signal 4 (SIGILL) ==171214== Illegal opcode at address 0x4014B6F ==171214== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171214== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171214== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171214== by 0x4004266: main (tool_main.c:199) === End of file valgrind2081 test 2078...[curl --negotiate should not send empty POST request only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2078 ../src/curl -q --output log/24/curl2078.out --include --trace-ascii log/24/trace2078 --trace-time http://127.0.0.1:34449/2078 --negotiate --data name=value > log/24/stdout2078 2> log/24/stderr2078 2078: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 2078 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2078 ../src/curl -q --output log/24/curl2078.out --include --trace-ascii log/24/trace2078 --trace-time http://127.0.0.1:34449/2078 --negotiate --data name=value > log/24/stdout2078 2> log/24/stderr2078 === End of file commands.log === Start of file http_server.log 14:54:43.324159 ====> Client connect 14:54:43.324193 accept_connection 3 returned 4 14:54:43.324210 accept_connection 3 returned 0 14:54:43.324227 Read 93 bytes 14:54:43.324238 Process 93 bytes request 14:54:43.324253 Got request: GET /verifiedserver HTTP/1.1 14:54:43.324263 Are-we-friendly question received 14:54:43.324289 Wrote request (93 bytes) input to log/24/server.input 14:54:43.324307 Identifying ourselves as friends 14:54:43.324361 Response sent (56 bytes) and written to log/24/server.response 14:54:43.324372 special request received, no persistency 14:54:43.324382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 2078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind2078 ==171182== ==171182== Process terminating with default action of signal 4 (SIGILL) ==171182== Illegal opcode at address 0x4014B6F ==171182== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171182== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171182== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171182== by 0x4004266: main (tool_main.c:199) === End of file valgrind2078 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 41221 --port2 45185 --nghttpx "nghttpx" --pidfile "log/3/server/http_v2_server.pid" --logfile "log/3/http_v2_server.log" --logdir "log/3" --connect 127.0.0.1:38933 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1700 SKIPPED: failed starting HTTP/2 server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2202 ../src/curl -q --output log/18/curl2202.out --include --trace log/18/trace2202 --trace-time mqtt://127.0.0.1:44953/2202 -d something -u fakeuser:fakepasswd > log/18/stdout2202 2> log/18/stderr2202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2200 ../src/curl -q --output log/6/curl2200.out --include --trace log/6/trace2200 --trace-time mqtt://127.0.0.1:34575/2200 -u fakeuser:fakepasswd > log/6/stdout2200 2> log/6/stderr2200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:34037/2084#err > log/21/stdout2084 2> log/21/stderr2084 test 2082...[Pre-request callback for HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:33805/2082 > log/19/stdout2082 2> log/19/stderr2082 2082: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:44.265531714 +0000 +++ log/19/check-generated 2025-09-11 14:54:44.265531714 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 33805[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/19/ dir after test 2082 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 33805[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:33805/2082 > log/19/stdout2082 2> log/19/stderr2082 === End of file commands.log === Start of file http_server.log 14:54:42.484450 ====> Client connect 14:54:42.484477 accept_connection 3 returned 4 14:54:42.484491 accept_connection 3 returned 0 14:54:42.484510 Read 93 bytes 14:54:42.484520 Process 93 bytes request 14:54:42.484532 Got request: GET /verifiedserver HTTP/1.1 14:54:42.484540 Are-we-friendly question received 14:54:42.484558 Wrote request (93 bytes) input to log/19/server.input 14:54:42.484572 Identifying ourselves as friends 14:54:42.484617 Response sent (56 bytes) and written to log/19/server.response 14:54:42.484626 special request received, no persistency 14:54:42.484633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 2082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:33805/2082 === End of file stderr2082 === Start of file valgrind2082 ==171332== ==171332== Process terminating with default action of signal 4 (SIGILL) ==171332== Illegal opcode at address 0x51D42F3 ==171332== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171332== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171332== by 0x51D42F3: Curl_open (url.c:551) ==171332== by 0x514CA2F: curl_easy_init (easy.c:372) ==171332== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171332== by 0x400347F: main (first.c:281) ==171332== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171332== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171332== by 0x51D4243: Curl_open (url.c:530) ==171332== by 0x514CA2F: curl_easy_init (easy.c:372) ==171332== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171332== by 0x400347F: main (first.c:281) ==171332== === End of file valgrind2082 test 2202...[MQTT PUBLISH with invalid user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2202 ../src/curl -q --output log/18/curl2202.out --include --trace log/18/trace2202 --trace-time mqtt://127.0.0.1:44953/2202 -d something -u fakeuser:fakepasswd > log/18/stdout2202 2> log/18/stderr2202 2202: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 2202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2202 ../src/curl -q --output log/18/curl2202.out --include --trace log/18/trace2202 --trace-time mqtt://127.0.0.1:44953/2202 -d something -u fakeuser:fakepasswd > log/18/stdout2202 2> log/18/stderr2202 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==171501== ==171501== Process terminating with default action of signal 4 (SIGILL) ==171501== Illegal opcode at address 0x4014B6F ==171501== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171501== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171501== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171501== by 0x4004266: main (tool_main.c:199) === End of file valgrind2202 test 2200...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2200 ../src/curl -q --output log/6/curl2200.out --include --trace log/6/trace2200 --trace-time mqtt://127.0.0.1:34575/2200 -u fakeuser:fakepasswd > log/6/stdout2200 2> log/6/stderr2200 2200: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2200 ../src/curl -q --output log/6/curl2200.out --include --trace log/6/trace2200 --trace-time mqtt://127.0.0.1:34575/2200 -u fakeuser:fakepasswd > log/6/stdout2200 2> log/6/stderr2200 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==171443== ==171443== Process terminating with default action of signal 4 (SIGILL) ==171443== Illegal opcode at address 0x4014B6F ==171443== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171443== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171443== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171443== by 0x4004266: main (tool_main.c:199) === End of file valgrind2200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40705/test-2083/ > log/17/stdout2083 2> log/17/stderr2083 test 2084...[Pre-request callback for HTTP with callback terminating transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:34037/2084#err > log/21/stdout2084 2> log/21/stderr2084 2084: stdout FAILED: --- log/21/check-expected 2025-09-11 14:54:44.308865047 +0000 +++ log/21/check-generated 2025-09-11 14:54:44.308865047 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 34037[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/21/ dir after test 2084 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 34037[LF] Local port = stripped[LF] Returning = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:34037/2084#err > log/21/stdout2084 2> log/21/stderr2084 === End of file commands.log === Start of file http_server.log 14:54:43.552667 ====> Client connect 14:54:43.552696 accept_connection 3 returned 4 14:54:43.552717 accept_connection 3 returned 0 14:54:43.552731 Read 93 bytes 14:54:43.552743 Process 93 bytes request 14:54:43.552755 Got request: GET /verifiedserver HTTP/1.1 14:54:43.552766 Are-we-friendly question received 14:54:43.552792 Wrote request (93 bytes) input to log/21/server.input 14:54:43.552807 Identifying ourselves as friends 14:54:43.553034 Response sent (56 bytes) and written to log/21/server.response 14:54:43.553046 special request received, no persistency 14:54:43.553055 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 47498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 2084 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:34037/2084#err === End of file stderr2084 === Start of file valgrind2084 ==171454== ==171454== Process terminating with default action of signal 4 (SIGILL) ==171454== Illegal opcode at address 0x51D42F3 ==171454== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171454== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171454== by 0x51D42F3: Curl_open (url.c:551) ==171454== by 0x514CA2F: curl_easy_init (easy.c:372) ==171454== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171454== by 0x400347F: main (first.c:281) ==171454== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171454== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171454== by 0x51D4243: Curl_open (url.c:530) ==171454== by 0x514CA2F: curl_easy_init (easy.c:372) ==171454== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171454== by 0x400347F: main (first.c:281) ==171454== === End of file valgrind2084 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 40229 --port2 33493 --nghttpx "nghttpx" --pidfile "log/8/server/http_v2_server.pid" --logfile "log/8/http_v2_server.log" --logdir "log/8" --connect 127.0.0.1:37085 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1701 SKIPPED: failed starting HTTP/2 server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2086 ./libtest/libtests lib2082 [::1]:39931/2086#ipv6 > log/9/stdout2086 2> log/9/stderr2086 test 2083...[Pre-request callback for FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40705/test-2083/ > log/17/stdout2083 2> log/17/stderr2083 2083: stdout FAILED: --- log/17/check-expected 2025-09-11 14:54:44.315531714 +0000 +++ log/17/check-generated 2025-09-11 14:54:44.315531714 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40705[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/17/ dir after test 2083 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 40705[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40705/test-2083/ > log/17/stdout2083 2> log/17/stderr2083 === End of file commands.log === Start of file ftp_server.log 14:54:43.461368 ====> Client connect 14:54:43.461522 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:43.461842 < "USER anonymous" 14:54:43.461883 > "331 We are happy you popped in![CR][LF]" 14:54:43.462134 < "PASS ftp@example.com" 14:54:43.462199 > "230 Welcome you silly person[CR][LF]" 14:54:43.462460 < "PWD" 14:54:43.462500 > "257 "/" is current directory[CR][LF]" 14:54:43.462819 < "EPSV" 14:54:43.462867 ====> Passive DATA channel requested by client 14:54:43.462883 DATA sockfilt for passive data channel starting... 14:54:43.464701 DATA sockfilt for passive data channel started (pid 171414) 14:54:43.464817 DATA sockfilt for passive data channel listens on port 34729 14:54:43.464860 > "229 Entering Passive Mode (|||34729|)[LF]" 14:54:43.464886 Client has been notified that DATA conn will be accepted on port 34729 14:54:43.465113 Client connects to port 34729 14:54:43.465144 ====> Client established passive DATA connection on port 34729 14:54:43.465260 < "TYPE I" 14:54:43.465293 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:43.465461 < "SIZE verifiedserver" 14:54:43.465499 > "213 17[CR][LF]" 14:54:43.465672 < "RETR verifiedserver" 14:54:43.465711 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:43.465794 =====> Closing passive DATA connection... 14:54:43.465813 Server disconnects passive DATA connection 14:54:43.465953 Server disconnected passive DATA connection 14:54:43.465980 DATA sockfilt for passive data channel quits (pid 171414) 14:54:43.466275 DATA sockfilt for passive data channel quit (pid 171414) 14:54:43.466303 =====> Closed passive DATA connection 14:54:43.466329 > "226 File transfer complete[CR][LF]" 14:54:43.509095 < "QUIT" 14:54:43.509150 > "221 bye bye baby[CR][LF]" 14:54:43.509775 MAIN sockfilt said DISC 14:54:43.509828 ====> Client disconnected 14:54:43.509916 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:43.544066 ====> Client connect 14:54:43.544352 Received DATA (on stdin) 14:54:43.544373 > 160 bytes data, server => client 14:54:43.544388 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:43.544401 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:43.544414 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:43.544494 < 16 bytes data, client => server 14:54:43.544513 'USER anonymous\r\n' 14:54:43.544702 Received DATA (on stdin) 14:54:43.544718 > 33 bytes data, server => client 14:54:43.544730 '331 We are happy you popped in!\r\n' 14:54:43.544795 < 22 bytes data, client => server 14:54:43.544813 'PASS ftp@example.com\r\n' 14:54:43.545024 Received DATA (on stdin) 14:54:43.545044 > 30 bytes data, server => client 14:54:43.545057 '230 Welcome you silly person\r\n' 14:54:43.545148 < 5 bytes data, client => server 14:54:43.545164 'PWD\r\n' 14:54:43.545329 Received DATA (on stdin) 14:54:43.545344 > 30 bytes data, server => client 14:54:43.545357 '257 "/" is current directory\r\n' 14:54:43.545465 < 6 bytes data, client => server 14:54:43.545484 'EPSV\r\n' 14:54:43.547703 Received DATA (on stdin) 14:54:43.547719 > 38 bytes data, server => client 14:54:43.547735 '229 Entering Passive Mode (|||34729|)\n' 14:54:43.547968 < 8 bytes data, client => server 14:54:43.547981 'TYPE I\r\n' 14:54:43.548107 Received DATA (on stdin) 14:54:43.548120 > 33 bytes data, server => client 14:54:43.548132 '200 I modify TYPE as you wanted\r\n' 14:54:43.548184 < 21 bytes data, client => server 14:54:43.548197 'SIZE verifiedserver\r\n' 14:54:43.548312 Received DATA (on stdin) 14:54:43.548326 > 8 bytes data, server => client 14:54:43.548338 '213 17\r\n' 14:54:43.548390 < 21 bytes data, client => server 14:54:43.548405 'RETR verifiedserver\r\n' 14:54:43.548514 Received DATA (on stdin) 14:54:43.548528 > 29 bytes data, server => client 14:54:43.548540 '150 Binary junk (17 bytes).\r\n' 14:54:43.549142 Received DATA (on stdin) 14:54:43.549156 > 28 bytes data, server => client 14:54:43.549169 '226 File transfer complete\r\n' 14:54:43.591700 < 6 bytes data, client => server 14:54:43.591734 'QUIT\r\n' 14:54:43.591966 Received DATA (on stdin) 14:54:43.591980 > 18 bytes data, server => client 14:54:43.591991 '221 bye bye baby\r\n' 14:54:43.592523 ====> Client disconnect 14:54:43.592734 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:43.547201 Running IPv4 version 14:54:43.547255 Listening on port 34729 14:54:43.547296 Wrote pid 171414 to log/17/server/ftp_sockdata.pid 14:54:43.547449 Received PING (on stdin) 14:54:43.547538 Received PORT (on stdin) 14:54:43.547872 ====> Client connect 14:54:43.548622 Received DATA (on stdin) 14:54:43.548635 > 17 bytes data, server => client 14:54:43.548644 'WE ROOLZ: 91632\r\n' 14:54:43.548669 Received DISC (on stdin) 14:54:43.548679 ====> Client forcibly disconnected 14:54:43.548799 Received QUIT (on stdin) 14:54:43.548812 quits 14:54:43.548936 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2083 === End of file server.cmd === Start of file stderr2083 URL: ftp://127.0.0.1:40705/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==171634== ==171634== Process terminating with default action of signal 4 (SIGILL) ==171634== Illegal opcode at address 0x51D42F3 ==171634== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171634== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171634== by 0x51D42F3: Curl_open (url.c:551) ==171634== by 0x514CA2F: curl_easy_init (easy.c:372) ==171634== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171634== by 0x400347F: main (first.c:281) ==171634== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171634== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171634== by 0x51D4243: Curl_open (url.c:530) ==171634== by 0x514CA2F: curl_easy_init (easy.c:372) ==171634== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171634== by 0x400347F: main (first.c:281) ==171634== === End of file valgrind2083 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:35893/2085#redir > log/10/stdout2085 2> log/10/stderr2085 setenv MSYS2_ARG_CONV_EXCL = * test 2086...[Pre-request callback for HTTP IPv6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2086 ./libtest/libtests lib2082 [::1]:39931/2086#ipv6 > log/9/stdout2086 2> log/9/stderr2086 2086: stdout FAILED: --- log/9/check-expected 2025-09-11 14:54:44.322198381 +0000 +++ log/9/check-generated 2025-09-11 14:54:44.322198381 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 39931[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/9/ dir after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 39931[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2086 ./libtest/libtests lib2082 [::1]:39931/2086#ipv6 > log/9/stdout2086 2> log/9/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 14:54:43.567122 ====> Client connect 14:54:43.567154 accept_connection 3 returned 4 14:54:43.567171 accept_connection 3 returned 0 14:54:43.567187 Read 89 bytes 14:54:43.567202 Process 89 bytes request 14:54:43.567219 Got request: GET /verifiedserver HTTP/1.1 14:54:43.567229 Are-we-friendly question received 14:54:43.567255 Wrote request (89 bytes) input to log/9/server.input 14:54:43.567276 Identifying ourselves as friends 14:54:43.567341 Response sent (57 bytes) and written to log/9/server.response 14:54:43.567358 special request received, no persistency 14:54:43.567369 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:39931... * Established connection to ::1 (::1 port 39931) from ::1 port 40990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:39931 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:39931 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 147404 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 2086 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147404 === End of file server.response === Start of file stderr2086 URL: [::1]:39931/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==171505== ==171505== Process terminating with default action of signal 4 (SIGILL) ==171505== Illegal opcode at address 0x51D42F3 ==171505== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171505== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171505== by 0x51D42F3: Curl_open (url.c:551) ==171505== by 0x514CA2F: curl_easy_init (easy.c:372) ==171505== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171505== by 0x400347F: main (first.c:281) ==171505== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171505== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171505== by 0x51D4243: Curl_open (url.c:530) ==171505== by 0x514CA2F: curl_easy_init (easy.c:372) ==171505== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171505== by 0x400347F: main (first.c:281) ==171505== === End of file valgrind2086 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2601 ./unit/units unit2601 - > log/24/stdout2601 2> log/24/stderr2601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:46043/2306 http://127.0.0.1:46043/23060002 > log/14/stdout2306 2> log/14/stderr2306 test 2085...[Pre-request callback for HTTP with location following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:35893/2085#redir > log/10/stdout2085 2> log/10/stderr2085 2085: stdout FAILED: --- log/10/check-expected 2025-09-11 14:54:44.328865047 +0000 +++ log/10/check-generated 2025-09-11 14:54:44.328865047 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 35893[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 35893[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/10/ dir after test 2085 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 35893[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 35893[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:35893/2085#redir > log/10/stdout2085 2> log/10/stderr2085 === End of file commands.log === Start of file http_server.log 14:54:43.557013 ====> Client connect 14:54:43.557038 accept_connection 3 returned 4 14:54:43.557052 accept_connection 3 returned 0 14:54:43.557063 Read 93 bytes 14:54:43.557073 Process 93 bytes request 14:54:43.557083 Got request: GET /verifiedserver HTTP/1.1 14:54:43.557091 Are-we-friendly question received 14:54:43.557109 Wrote request (93 bytes) input to log/10/server.input 14:54:43.557123 Identifying ourselves as friends 14:54:43.557163 Response sent (56 bytes) and written to log/10/server.response 14:54:43.557172 special request received, no persistency 14:54:43.557180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 34242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 2085 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:35893/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==171460== ==171460== Process terminating with default action of signal 4 (SIGILL) ==171460== Illegal opcode at address 0x51D42F3 ==171460== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171460== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171460== by 0x51D42F3: Curl_open (url.c:551) ==171460== by 0x514CA2F: curl_easy_init (easy.c:372) ==171460== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171460== by 0x400347F: main (first.c:281) ==171460== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171460== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171460== by 0x51D4243: Curl_open (url.c:530) ==171460== by 0x514CA2F: curl_easy_init (easy.c:372) ==171460== by 0x4041DDC: test_lib2082.lto_priv.0 (lib2082.c:64) ==171460== by 0x400347F: main (first.c:281) ==171460== === End of file valgrind2085 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 35685 --port2 36449 --nghttpx "nghttpx" --pidfile "log/13/server/http_v2_server.pid" --logfile "log/13/http_v2_server.log" --logdir "log/13" --connect 127.0.0.1:41533 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1702 SKIPPED: failed starting HTTP/2 server test 2601...[bufq unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2601 ./unit/units unit2601 - > log/24/stdout2601 2> log/24/stderr2601 units returned 132, when expecting 0 2601: exit FAILED == Contents of files in the log/24/ dir after test 2601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2601 ./unit/units unit2601 - > log/24/stdout2601 2> log/24/stderr2601 === End of file commands.log === Start of file server.cmd Testnum 2601 === End of file server.cmd === Start of file stderr2601 URL: - === End of file stderr2601 === Start of file valgrind2601 ==172117== ==172117== Process terminating with default action of signal 4 (SIGILL) ==172117== Illegal opcode at address 0x401E5A7 ==172117== at 0x401E5A7: UnknownInlinedFun (string_fortified.h:59) ==172117== by 0x401E5A7: UnknownInlinedFun (bufq.c:217) ==172117== by 0x401E5A7: UnknownInlinedFun (bufq.c:232) ==172117== by 0x401E5A7: test_unit2601.lto_priv.0 (unit2601.c:217) ==172117== by 0x400A18F: main (first.c:281) === End of file valgrind2601 test 2306...[HTTP GET reused handle with first header folded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:46043/2306 http://127.0.0.1:46043/23060002 > log/14/stdout2306 2> log/14/stderr2306 2306: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 2306 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:46043/2306 http://127.0.0.1:46043/23060002 > log/14/stdout2306 2> log/14/stderr2306 === End of file commands.log === Start of file http_server.log 14:54:43.969952 ====> Client connect 14:54:43.969989 accept_connection 3 returned 4 14:54:43.970008 accept_connection 3 returned 0 14:54:43.970028 Read 93 bytes 14:54:43.970039 Process 93 bytes request 14:54:43.970053 Got request: GET /verifiedserver HTTP/1.1 14:54:43.970064 Are-we-friendly question received 14:54:43.970089 Wrote request (93 bytes) input to log/14/server.input 14:54:43.970107 Identifying ourselves as friends 14:54:43.970163 Response sent (56 bytes) and written to log/14/server.response 14:54:43.970175 special request received, no persistency 14:54:43.970186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 51744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 2306 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:46043/2306 === End of file stderr2306 === Start of file valgrind2306 ==171786== ==1717CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2307 ../src/curl -q --output log/2/curl2307.out --include --trace-ascii log/2/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39801/2307 > log/2/stdout2307 2> log/2/stderr2307 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2602 ./unit/units unit2602 - > log/3/stdout2602 2> log/3/stderr2602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43359/2308 > log/12/stdout2308 2> log/12/stderr2308 86== Process terminating with default action of signal 4 (SIGILL) ==171786== Illegal opcode at address 0x51D42F3 ==171786== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171786== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171786== by 0x51D42F3: Curl_open (url.c:551) ==171786== by 0x514CA2F: curl_easy_init (easy.c:372) ==171786== by 0x4042088: UnknownInlinedFun (lib2306.c:34) ==171786== by 0x4042088: test_lib2306.lto_priv.0 (lib2306.c:26) ==171786== by 0x400347F: main (first.c:281) ==171786== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171786== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171786== by 0x51D4243: Curl_open (url.c:530) ==171786== by 0x514CA2F: curl_easy_init (easy.c:372) ==171786== by 0x4042088: UnknownInlinedFun (lib2306.c:34) ==171786== by 0x4042088: test_lib2306.lto_priv.0 (lib2306.c:26) ==171786== by 0x400347F: main (first.c:281) ==171786== === End of file valgrind2306 test 2307...[FTP retrieve a byte-range with end larger than file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2307 ../src/curl -q --output log/2/curl2307.out --include --trace-ascii log/2/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39801/2307 > log/2/stdout2307 2> log/2/stderr2307 2307: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2307 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2307 ../src/curl -q --output log/2/curl2307.out --include --trace-ascii log/2/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39801/2307 > log/2/stdout2307 2> log/2/stderr2307 === End of file commands.log === Start of file ftp_server.log 14:54:43.915182 ====> Client connect 14:54:43.915335 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:43.915639 < "USER anonymous" 14:54:43.915675 > "331 We are happy you popped in![CR][LF]" 14:54:43.915865 < "PASS ftp@example.com" 14:54:43.915893 > "230 Welcome you silly person[CR][LF]" 14:54:43.916071 < "PWD" 14:54:43.916105 > "257 "/" is current directory[CR][LF]" 14:54:43.916299 < "EPSV" 14:54:43.916327 ====> Passive DATA channel requested by client 14:54:43.916342 DATA sockfilt for passive data channel starting... 14:54:43.917940 DATA sockfilt for passive data channel started (pid 171820) 14:54:43.918060 DATA sockfilt for passive data channel listens on port 45603 14:54:43.918100 > "229 Entering Passive Mode (|||45603|)[LF]" 14:54:43.918118 Client has been notified that DATA conn will be accepted on port 45603 14:54:43.918346 Client connects to port 45603 14:54:43.918375 ====> Client established passive DATA connection on port 45603 14:54:43.918454 < "TYPE I" 14:54:43.918483 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:43.918661 < "SIZE verifiedserver" 14:54:43.918699 > "213 18[CR][LF]" 14:54:43.918874 < "RETR verifiedserver" 14:54:43.918910 > "150 Binary junk (18 bytes).[CR][LF]" 14:54:43.918996 =====> Closing passive DATA connection... 14:54:43.919014 Server disconnects passive DATA connection 14:54:43.919252 Server disconnected passive DATA connection 14:54:43.919283 DATA sockfilt for passive data channel quits (pid 171820) 14:54:43.919507 DATA sockfilt for passive data channel quit (pid 171820) 14:54:43.919567 =====> Closed passive DATA connection 14:54:43.919606 > "226 File transfer complete[CR][LF]" 14:54:43.963866 < "QUIT" 14:54:43.963922 > "221 bye bye baby[CR][LF]" 14:54:43.964660 MAIN sockfilt said DISC 14:54:43.964706 ====> Client disconnected 14:54:43.964765 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:43.997866 ====> Client connect 14:54:43.998160 Received DATA (on stdin) 14:54:43.998177 > 160 bytes data, server => client 14:54:43.998191 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:43.998204 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:43.998216 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:43.998298 < 16 bytes data, client => server 14:54:43.998316 'USER anonymous\r\n' 14:54:43.998490 Received DATA (on stdin) 14:54:43.998506 > 33 bytes data, server => client 14:54:43.998519 '331 We are happy you popped in!\r\n' 14:54:43.998575 < 22 bytes data, client => server 14:54:43.998591 'PASS ftp@example.com\r\n' 14:54:43.998705 Received DATA (on stdin) 14:54:43.998719 > 30 bytes data, server => client 14:54:43.998732 '230 Welcome you silly person\r\n' 14:54:43.998786 < 5 bytes data, client => server 14:54:43.998801 'PWD\r\n' 14:54:43.998919 Received DATA (on stdin) 14:54:43.998933 > 30 bytes data, server => client 14:54:43.998947 '257 "/" is current directory\r\n' 14:54:43.999010 < 6 bytes data, client => server 14:54:43.999026 'EPSV\r\n' 14:54:44.000932 Received DATA (on stdin) 14:54:44.000947 > 38 bytes data, server => client 14:54:44.000959 '229 Entering Passive Mode (|||45603|)\n' 14:54:44.001099 < 8 bytes data, client => server 14:54:44.001112 'TYPE I\r\n' 14:54:44.001296 Received DATA (on stdin) 14:54:44.001310 > 33 bytes data, server => client 14:54:44.001323 '200 I modify TYPE as you wanted\r\n' 14:54:44.001376 < 21 bytes data, client => server 14:54:44.001391 'SIZE verifiedserver\r\n' 14:54:44.001512 Received DATA (on stdin) 14:54:44.001526 > 8 bytes data, server => client 14:54:44.001537 '213 18\r\n' 14:54:44.001591 < 21 bytes data, client => server 14:54:44.001606 'RETR verifiedserver\r\n' 14:54:44.001827 Received DATA (on stdin) 14:54:44.001841 > 29 bytes data, server => client 14:54:44.001854 '150 Binary junk (18 bytes).\r\n' 14:54:44.002431 Received DATA (on stdin) 14:54:44.002454 > 28 bytes data, server => client 14:54:44.002467 '226 File transfer complete\r\n' 14:54:44.046455 < 6 bytes data, client => server 14:54:44.046485 'QUIT\r\n' 14:54:44.046722 Received DATA (on stdin) 14:54:44.046751 > 18 bytes data, server => client 14:54:44.046763 '221 bye bye baby\r\n' 14:54:44.047403 ====> Client disconnect 14:54:44.047573 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:43.000571 Running IPv4 version 14:54:43.000629 Listening on port 45603 14:54:43.000668 Wrote pid 171820 to log/2/server/ftp_sockdata.pid 14:54:43.000689 Received PING (on stdin) 14:54:43.000782 Received PORT (on stdin) 14:54:43.001069 ====> Client connect 14:54:43.001881 Received DATA (on stdin) 14:54:43.001895 > 18 bytes data, server => client 14:54:43.001907 'WE ROOLZ: 136171\r\n' 14:54:43.001935 Received DISC (on stdin) 14:54:43.001949 ====> Client forcibly disconnected 14:54:43.002106 Received QUIT (on stdin) 14:54:43.002120 quits 14:54:43.002176 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==171857== ==171857== Process terminating with default action of signal 4 (SIGILL) ==171857== Illegal opcode at address 0x4014B6F ==171857== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==171857== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==171857== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==171857== by 0x4004266: main (tool_main.c:199) === End of file valgrind2307 test 2602...[dynhds unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2602 ./unit/units unit2602 - > log/3/stdout2602 2> log/3/stderr2602 -------e-v- OK (1669 out of 1725, remaining: 00:03, took 0.527s, duration: 01:53) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2604 ./unit/units unit2604 - > log/18/stdout2604 2> log/18/stderr2604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:44029/ > log/1/stdout2309 2> log/1/stderr2309 test 2308...[verify return code when write callback returns error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43359/2308 > log/12/stdout2308 2> log/12/stderr2308 2308: stdout FAILED: --- log/12/check-expected 2025-09-11 14:54:44.815531722 +0000 +++ log/12/check-generated 2025-09-11 14:54:44.815531722 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/12/ dir after test 2308 === Start of file check-expected Returned 23, should be 23.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43359/2308 > log/12/stdout2308 2> log/12/stderr2308 === End of file commands.log === Start of file http_server.log 14:54:44.115645 ====> Client connect 14:54:44.115671 accept_connection 3 returned 4 14:54:44.115684 accept_connection 3 returned 0 14:54:44.115697 Read 93 bytes 14:54:44.115707 Process 93 bytes request 14:54:44.115720 Got request: GET /verifiedserver HTTP/1.1 14:54:44.115730 Are-we-friendly question received 14:54:44.115752 Wrote request (93 bytes) input to log/12/server.input 14:54:44.115768 Identifying ourselves as friends 14:54:44.115816 Response sent (56 bytes) and written to log/12/server.response 14:54:44.115826 special request received, no persistency 14:54:44.115835 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 2308 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:43359/2308 === End of file stderr2308 === Start of file valgrind2308 ==171975== ==171975== Process terminating with default action of signal 4 (SIGILL) ==171975== Illegal opcode at address 0x51D42F3 ==171975== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171975== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171975== by 0x51D42F3: Curl_open (url.c:551) ==171975== by 0x514CA2F: curl_easy_init (easy.c:372) ==171975== by 0x4042DEA: UnknownInlinedFun (lib2308.c:41) ==171975== by 0x4042DEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==171975== by 0x400347F: main (first.c:281) ==171975== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171975== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171975== by 0x51D4243: Curl_open (url.c:530) ==171975== by 0x514CA2F: curl_easy_init (easy.c:372) ==171975== by 0x4042DEA: UnknownInlinedFun (lib2308.c:41) ==171975== by 0x4042DEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==171975== by 0x400347F: main (first.c:281) ==171975== === End of file valgrind2308 test 2603...[http1 parser unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 units returned 132, when expecting 0 2603: exit FAILED == Contents of files in the log/19/ dir after test 2603 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 === End of file commands.log === Start of file server.cmd Testnum 2603 === End of file server.cmd === Start of file stderr2603 URL: - === End of file stderr2603 === Start of file valgrind2603 ==172169== ==172169== Process terminating with default action of signal 4 (SIGILL) ==172169== Illegal opcode at address 0x40202D3 ==172169== at 0x40202D3: UnknownInlinedFun (string_fortified.h:59) ==172169== by 0x40202D3: UnknownInlinedFun (http1.c:45) ==172169== by 0x40202D3: parse_success (unit2603.c:70) ==172169== by 0x4020933: test_unit2603.lto_priv.0 (unit2603.c:179) ==172169== by 0x400A18F: main (first.c:281) === End of file valgrind2603 test 2604...[Curl_get_pathname unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2604 ./unit/units unit2604 - > log/18/stdout2604 2> log/18/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/18/ dir after test 2604 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2604 ./unit/units unit2604 - > log/18/stdout2604 2> log/18/stderr2604 === End of file commands.log === Start of file server.cmd Testnum 2604 === End of file server.cmd === Start of file stderr2604 URL: - === End of file stderr2604 === Start of file valgrind2604 ==172173== ==172173== Process terminating with default action of signal 4 (SIGILL) ==172173== Illegal opcode at address 0x4020A8A ==172173== at 0x4020A8A: test_unit2604.lto_priv.0 (unit2604.c:53) ==172173== by 0x400A18F: main (first.c:281) === End of file valgrind2604 test 2309...[HTTP with .netrc using duped easy handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:44029/ > log/1/stdout2309 2> log/1/stderr2309 2309: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 2309 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:44029/ > log/1/stdout2309 2> log/1/stderr2309 === End of file commands.log === Start of file http_server.log 14:54:44.115649 ====> Client connect 14:54:44.115677 accept_connection 3 returned 4 14:54:44.115694 accept_connection 3 returned 0 14:54:44.115707 Read 93 bytes 14:54:44.115717 Process 93 bytes request 14:54:44.115729 Got request: GET /verifiedserver HTTP/1.1 14:54:44.115739 Are-we-friendly question received 14:54:44.115760 Wrote request (93 bytes) input to log/1/server.input 14:54:44.115775 Identifying ourselves as friends 14:54:44.115823 Response sent (56 bytes) and written to log/1/server.response 14:54:44.115833 special request received, no persistency 14:54:44.115841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44029... * Established connection to 127.0.0.1 (127.0.0.1 port 44029) from 127.0.0.1 port 46594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44029 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44029 left intact === End of file http_verify.lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3002 ../src/curl -q --output log/6/curl3002.out --include --trace-ascii log/6/trace3002 --trace-time smtp://127.0.0.1:33615/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/6/stdout3002 2> log/6/stderr3002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3007 ../src/curl -q --output log/10/curl3007.out --include --trace-ascii log/10/trace3007 --trace-time smtp://127.0.0.1:36285/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/10/stdout3007 2> log/10/stderr3007 og === Start of file http_verify.out WE ROOLZ: 74544 === End of file http_verify.out === Start of file netrc2309 machine github.com login daniel password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 === End of file netrc2309 === Start of file server.cmd Testnum 2309 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74544 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==171976== ==171976== Process terminating with default action of signal 4 (SIGILL) ==171976== Illegal opcode at address 0x51D42F3 ==171976== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==171976== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==171976== by 0x51D42F3: Curl_open (url.c:551) ==171976== by 0x514CA2F: curl_easy_init (easy.c:372) ==171976== by 0x4042ECF: UnknownInlinedFun (lib2309.c:42) ==171976== by 0x4042ECF: test_lib2309.lto_priv.0 (lib2309.c:35) ==171976== by 0x400347F: main (first.c:281) ==171976== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==171976== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171976== by 0x51D4243: Curl_open (url.c:530) ==171976== by 0x514CA2F: curl_easy_init (easy.c:372) ==171976== by 0x4042ECF: UnknownInlinedFun (lib2309.c:42) ==171976== by 0x4042ECF: test_lib2309.lto_priv.0 (lib2309.c:35) ==171976== by 0x400347F: main (first.c:281) ==171976== === End of file valgrind2309 test 3002...[SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3002 ../src/curl -q --output log/6/curl3002.out --include --trace-ascii log/6/trace3002 --trace-time smtp://127.0.0.1:33615/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/6/stdout3002 2> log/6/stderr3002 3002: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3002 ../src/curl -q --output log/6/curl3002.out --include --trace-ascii log/6/trace3002 --trace-time smtp://127.0.0.1:33615/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/6/stdout3002 2> log/6/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 14:54:44.300927 ====> Client connect 14:54:44.301044 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.301259 < "EHLO verifiedserver" 14:54:44.301288 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.301412 < "HELP" 14:54:44.301434 > "214 WE ROOLZ: 122942[CR][LF]" 14:54:44.301445 return proof we are we 14:54:44.301610 < "QUIT" 14:54:44.301629 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.302284 MAIN sockfilt said DISC 14:54:44.302310 ====> Client disconnected 14:54:44.302363 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.383641 ====> Client connect 14:54:44.383859 Received DATA (on stdin) 14:54:44.383871 > 160 bytes data, server => client 14:54:44.383881 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:44.383890 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.383898 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:44.383953 < 21 bytes data, client => server 14:54:44.383963 'EHLO verifiedserver\r\n' 14:54:44.384095 Received DATA (on stdin) 14:54:44.384104 > 53 bytes data, server => client 14:54:44.384113 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.384153 < 6 bytes data, client => server 14:54:44.384161 'HELP\r\n' 14:54:44.384248 Received DATA (on stdin) 14:54:44.384257 > 22 bytes data, server => client 14:54:44.384265 '214 WE ROOLZ: 122942\r\n' 14:54:44.384349 < 6 bytes data, client => server 14:54:44.384359 'QUIT\r\n' 14:54:44.384435 Received DATA (on stdin) 14:54:44.384444 > 35 bytes data, server => client 14:54:44.384452 '221 curl ESMTP server signing off\r\n' 14:54:44.385044 ====> Client disconnect 14:54:44.385170 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3002 From: different To: another body === End of file stdin-for-3002 === Start of file valgrind3002 ==172279== ==172279== Process terminating with default action of signal 4 (SIGILL) ==172279== Illegal opcode at address 0x4014B6F ==172279== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172279== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172279== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172279== by 0x4004266: main (tool_main.c:199) === End of file valgrind3002 test 3007...[SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3007 ../src/curl -q --output log/10/curl3007.out --include --trace-ascii log/10/trace3007 --trace-time smtp://127.0.0.1:36285/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/10/stdout3007 2> log/10/stderr3007 3007: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 3007 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3007 ../src/curl -q --output log/10/curl3007.out --include --trace-ascii log/10/trace3007 --trace-time smtp://127.0.0.1:36285/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/10/stdout3007 2> log/10/stderr3007 === End of file commands.log === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 14:54:44.349689 ====> Client connect 14:54:44.349814 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.350083 < "EHLO verifiedserver" 14:54:44.350125 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.350425 < "HELP" 14:54:44.350475 > "214 WE ROOLZ: 109299[CR][LF]" 14:54:44.350492 return proof we are we 14:54:44.350716 < "QUIT" 14:54:44.350738 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.351037 MAIN sockfilt said DISC 14:54:44.351071 ====> Client disconnected 14:54:44.351129 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.432409 ====> Client connect 14:54:44.432636 Received DATA (on stdin) 14:54:44.432652 > 160 bytes data, server => client 14:54:44.432666 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:44.432679 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.432690 '_ {| |___ \r\n220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:43299/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/8/stdout3004 2> log/8/stderr3004 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3003 ../src/curl -q --output log/21/curl3003.out --include --trace-ascii log/21/trace3003 --trace-time smtp://127.0.0.1:46579/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/21/stdout3003 2> log/21/stderr3003 \___|\___/|_| \_\_____|\r\n' 14:54:44.432758 < 21 bytes data, client => server 14:54:44.432772 'EHLO verifiedserver\r\n' 14:54:44.432921 Received DATA (on stdin) 14:54:44.432946 > 53 bytes data, server => client 14:54:44.432960 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.433094 < 6 bytes data, client => server 14:54:44.433106 'HELP\r\n' 14:54:44.433304 Received DATA (on stdin) 14:54:44.433317 > 22 bytes data, server => client 14:54:44.433329 '214 WE ROOLZ: 109299\r\n' 14:54:44.433445 < 6 bytes data, client => server 14:54:44.433457 'QUIT\r\n' 14:54:44.433543 Received DATA (on stdin) 14:54:44.433553 > 35 bytes data, server => client 14:54:44.433562 '221 curl ESMTP server signing off\r\n' 14:54:44.433790 ====> Client disconnect 14:54:44.433941 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3007 From: different To: another body === End of file stdin-for-3007 === Start of file valgrind3007 ==172491== ==172491== Process terminating with default action of signal 4 (SIGILL) ==172491== Illegal opcode at address 0x4014B6F ==172491== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172491== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172491== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172491== by 0x4004266: main (tool_main.c:199) === End of file valgrind3007 test 3004...[SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:43299/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/8/stdout3004 2> log/8/stderr3004 3004: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 3004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:43299/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/8/stdout3004 2> log/8/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 14:54:44.334038 ====> Client connect 14:54:44.334151 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.334846 < "EHLO verifiedserver" 14:54:44.334902 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.335096 < "HELP" 14:54:44.335126 > "214 WE ROOLZ: 123220[CR][LF]" 14:54:44.335138 return proof we are we 14:54:44.335312 < "QUIT" 14:54:44.335334 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.336981 MAIN sockfilt said DISC 14:54:44.337014 ====> Client disconnected 14:54:44.337067 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.416763 ====> Client connect 14:54:44.417009 Received DATA (on stdin) 14:54:44.417031 > 160 bytes data, server => client 14:54:44.417042 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:44.417051 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.417060 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:44.417487 < 21 bytes data, client => server 14:54:44.417508 'EHLO verifiedserver\r\n' 14:54:44.417720 Received DATA (on stdin) 14:54:44.417733 > 53 bytes data, server => client 14:54:44.417745 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.417804 < 6 bytes data, client => server 14:54:44.417816 'HELP\r\n' 14:54:44.417943 Received DATA (on stdin) 14:54:44.417954 > 22 bytes data, server => client 14:54:44.417963 '214 WE ROOLZ: 123220\r\n' 14:54:44.418042 < 6 bytes data, client => server 14:54:44.418054 'QUIT\r\n' 14:54:44.418139 Received DATA (on stdin) 14:54:44.418148 > 35 bytes data, server => client 14:54:44.418157 '221 curl ESMTP server signing off\r\n' 14:54:44.419734 ====> Client disconnect 14:54:44.419876 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3004 From: different To: another body === End of file stdin-for-3004 === Start of file valgrind3004 ==172413== ==172413== Process terminating with default action of signal 4 (SIGILL) ==172413== Illegal opcode at address 0x4014B6F ==172413== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172413== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172413== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172413== by 0x4004266: main (tool_main.c:199) === End of file valgrind3004 test 3003...[SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3003 ../src/curl -q --output log/21/curl3003.out --include --trace-ascii log/21/trace3003 --trace-time smtp://127.0.0.1:46579/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/21/stdout3003 2> log/21/stderr3003 3003: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 3003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3003 ../src/curl -q --output log/21/curl3003.out --include --trace-ascii log/21/trace3003 --trace-time smtp://127.0.0.1:46579/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/21/stdout3003 2> log/21/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 14:54:44.332942 ====> Client connect 14:54:44.333039 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.333249 < "EHLO verifiedserver" 14:54:44.333280 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.333404 < "HELP" 14:54:44.333426 > "214 WE ROOLZ: 123195[CR][LF]" 14:54:44.333437 return proof we are we 14:54:44.333691 < "QUIT" 14:54:44.333714 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.333942 MAIN sockfilt said DISC 14:54:44.333969 ====> Client disconnected 14:54:44.334033 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.415670 ====> Client connect 14:54:44.415855 Received DATA (on stdin) 14:54:44.415867 > 160 bytes data, server => client 14:54:44.415877 '220- _ _ ____ _ \r\n220- CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3006 ../src/curl -q --output log/9/curl3006.out --include --trace-ascii log/9/trace3006 --trace-time smtp://127.0.0.1:43783/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/9/stdout3006 2> log/9/stderr3006 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3005 ../src/curl -q --output log/17/curl3005.out --include --trace-ascii log/17/trace3005 --trace-time smtp://127.0.0.1:35643/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/17/stdout3005 2> log/17/stderr3005 ___| | | | _ \| | ' 14:54:44.415886 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.415894 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:44.415949 < 21 bytes data, client => server 14:54:44.415959 'EHLO verifiedserver\r\n' 14:54:44.416086 Received DATA (on stdin) 14:54:44.416096 > 53 bytes data, server => client 14:54:44.416105 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.416144 < 6 bytes data, client => server 14:54:44.416153 'HELP\r\n' 14:54:44.416240 Received DATA (on stdin) 14:54:44.416249 > 22 bytes data, server => client 14:54:44.416257 '214 WE ROOLZ: 123195\r\n' 14:54:44.416418 < 6 bytes data, client => server 14:54:44.416434 'QUIT\r\n' 14:54:44.416519 Received DATA (on stdin) 14:54:44.416529 > 35 bytes data, server => client 14:54:44.416537 '221 curl ESMTP server signing off\r\n' 14:54:44.416700 ====> Client disconnect 14:54:44.416843 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3003 From: different To: another body === End of file stdin-for-3003 === Start of file valgrind3003 ==172409== ==172409== Process terminating with default action of signal 4 (SIGILL) ==172409== Illegal opcode at address 0x4014B6F ==172409== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172409== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172409== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172409== by 0x4004266: main (tool_main.c:199) === End of file valgrind3003 test 3006...[SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3006 ../src/curl -q --output log/9/curl3006.out --include --trace-ascii log/9/trace3006 --trace-time smtp://127.0.0.1:43783/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/9/stdout3006 2> log/9/stderr3006 3006: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 3006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3006 ../src/curl -q --output log/9/curl3006.out --include --trace-ascii log/9/trace3006 --trace-time smtp://127.0.0.1:43783/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/9/stdout3006 2> log/9/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 14:54:44.345091 ====> Client connect 14:54:44.345216 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.345478 < "EHLO verifiedserver" 14:54:44.345515 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.345676 < "HELP" 14:54:44.345703 > "214 WE ROOLZ: 123193[CR][LF]" 14:54:44.345716 return proof we are we 14:54:44.345898 < "QUIT" 14:54:44.345930 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.346643 MAIN sockfilt said DISC 14:54:44.346668 ====> Client disconnected 14:54:44.346721 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.427812 ====> Client connect 14:54:44.428039 Received DATA (on stdin) 14:54:44.428054 > 160 bytes data, server => client 14:54:44.428066 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:44.428078 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.428089 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:44.428157 < 21 bytes data, client => server 14:54:44.428171 'EHLO verifiedserver\r\n' 14:54:44.428326 Received DATA (on stdin) 14:54:44.428339 > 53 bytes data, server => client 14:54:44.428351 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.428402 < 6 bytes data, client => server 14:54:44.428413 'HELP\r\n' 14:54:44.428524 Received DATA (on stdin) 14:54:44.428535 > 22 bytes data, server => client 14:54:44.428546 '214 WE ROOLZ: 123193\r\n' 14:54:44.428632 < 6 bytes data, client => server 14:54:44.428647 'QUIT\r\n' 14:54:44.428741 Received DATA (on stdin) 14:54:44.428755 > 35 bytes data, server => client 14:54:44.428768 '221 curl ESMTP server signing off\r\n' 14:54:44.429406 ====> Client disconnect 14:54:44.429528 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3006 From: different To: another body === End of file stdin-for-3006 === Start of file valgrind3006 ==172461== ==172461== Process terminating with default action of signal 4 (SIGILL) ==172461== Illegal opcode at address 0x4014B6F ==172461== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172461== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172461== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172461== by 0x4004266: main (tool_main.c:199) === End of file valgrind3006 test 3005...[SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3005 ../src/curl -q --output log/17/curl3005.out --include --trace-ascii log/17/trace3005 --trace-time smtp://127.0.0.1:35643/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/17/stdout3005 2> log/17/stderr3005 3005: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 3005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3005 ../src/curl -q --output log/17/curl3005.out --include --trace-ascii log/17/trace3005 --trace-time smtp://127.0.0.1:35643/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/17/stdout3005 2> log/17/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 14:54:44.339810 ====> Client connect 14:54:44.339932 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:44.340203 < "EHLO verifiedserver" 14:54:44.340247 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:44.340423 < "HELP" 14:54:44.340458 > "214 WE ROOLZ: 109366[CR][LF]" 14:54:44.340473 return proof we are we 14:54:44.340694 < "QUIT" 14:54:44.340727 > "221 curl ESMTP server signing off[CR][LF]" 14:54:44.341303 MAIN sockfilt said DISC 14:54:44.341327 ====> Client disconnected 14:54:44.341376 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:44.422531 ====> Client connect 14:54:44.422752 Received DATA (on stdin) 14:54:44.422767 > 160 bytes data, server => client 14:54:44.422780 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:44.422792 ' \r\n22CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2201 ../src/curl -q --output log/16/curl2201.out --include --trace log/16/trace2201 --trace-time mqtt://127.0.0.1:41919/2201 -d something -u testuser:testpasswd > log/16/stdout2201 2> log/16/stderr2201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3008 ../src/curl -q --trace-ascii log/13/trace3008 --trace-time http://127.0.0.1:41533/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3008 2> log/13/stderr3008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2203 ../src/curl -q --output log/4/curl2203.out --include --trace log/4/trace2203 --trace-time mqtt://127.0.0.1:36435/2203 > log/4/stdout2203 2> log/4/stderr2203 0- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:44.422803 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:44.422878 < 21 bytes data, client => server 14:54:44.422890 'EHLO verifiedserver\r\n' 14:54:44.423059 Received DATA (on stdin) 14:54:44.423072 > 53 bytes data, server => client 14:54:44.423085 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:44.423139 < 6 bytes data, client => server 14:54:44.423150 'HELP\r\n' 14:54:44.423281 Received DATA (on stdin) 14:54:44.423293 > 22 bytes data, server => client 14:54:44.423304 '214 WE ROOLZ: 109366\r\n' 14:54:44.423397 < 6 bytes data, client => server 14:54:44.423417 'QUIT\r\n' 14:54:44.423531 Received DATA (on stdin) 14:54:44.423551 > 35 bytes data, server => client 14:54:44.423563 '221 curl ESMTP server signing off\r\n' 14:54:44.424067 ====> Client disconnect 14:54:44.424180 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3005 From: different To: another body === End of file stdin-for-3005 === Start of file valgrind3005 ==172437== ==172437== Process terminating with default action of signal 4 (SIGILL) ==172437== Illegal opcode at address 0x4014B6F ==172437== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172437== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172437== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172437== by 0x4004266: main (tool_main.c:199) === End of file valgrind3005 startnew: ./server/servers mqttd --port 0 --pidfile log/16/server/mqtt_server.pid --portfile log/16/server/mqtt_server.port --config log/16/server.cmd --logfile log/16/mqtt_server.log --logdir log/16 RUN: MQTT server is now running PID 171432 on PORT 41919 * pid mqtt => 171432 171432 test 2201...[MQTT PUBLISH with user and password valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2201 ../src/curl -q --output log/16/curl2201.out --include --trace log/16/trace2201 --trace-time mqtt://127.0.0.1:41919/2201 -d something -u testuser:testpasswd > log/16/stdout2201 2> log/16/stderr2201 2201: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 2201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2201 ../src/curl -q --output log/16/curl2201.out --include --trace log/16/trace2201 --trace-time mqtt://127.0.0.1:41919/2201 -d something -u testuser:testpasswd > log/16/stdout2201 2> log/16/stderr2201 === End of file commands.log === Start of file mqtt_server.log 14:54:43.555784 Running IPv4 version 14:54:43.555845 Listening on port 41919 14:54:43.555883 Wrote pid 171432 to log/16/server/mqtt_server.pid 14:54:43.555914 Wrote port 41919 to log/16/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==172735== ==172735== Process terminating with default action of signal 4 (SIGILL) ==172735== Illegal opcode at address 0x4014B6F ==172735== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172735== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172735== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172735== by 0x4004266: main (tool_main.c:199) === End of file valgrind2201 test 3008...[--output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3008 ../src/curl -q --trace-ascii log/13/trace3008 --trace-time http://127.0.0.1:41533/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3008 2> log/13/stderr3008 3008: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 3008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3008 ../src/curl -q --trace-ascii log/13/trace3008 --trace-time http://127.0.0.1:41533/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3008 2> log/13/stderr3008 === End of file commands.log === Start of file http_server.log 14:54:44.523792 ====> Client connect 14:54:44.526431 accept_connection 3 returned 4 14:54:44.526450 accept_connection 3 returned 0 14:54:44.526464 Read 93 bytes 14:54:44.526475 Process 93 bytes request 14:54:44.526487 Got request: GET /verifiedserver HTTP/1.1 14:54:44.526497 Are-we-friendly question received 14:54:44.526523 Wrote request (93 bytes) input to log/13/server.input 14:54:44.526538 Identifying ourselves as friends 14:54:44.526597 Response sent (56 bytes) and written to log/13/server.response 14:54:44.526607 special request received, no persistency 14:54:44.526616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 35202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 3008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind3008 ==172704== ==172704== Process terminating with default action of signal 4 (SIGILL) ==172704== Illegal opcode at address 0x4014B6F ==172704== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172704== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172704== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172704== by 0x4004266: main (tool_main.c:199) === End of file valgrind3008 startnew: ./server/servers mqttd --port 0 --pidfile log/4/server/mqtt_server.pid --portfile log/4/server/mqtt_server.port --config log/4/server.cmd --logfile log/4/mqtt_server.log --logdir log/4 RUN: MQTT server is now running PID 171713 on PORT 36435 * pid mqtt => 171713 171713 test 2203...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2203 ../src/curl -q --output log/4/curl2203.out --include --trace log/4/trace2203 --trace-time mqtt://127.0.0.1:36435/2203 > log/4/stdout2203 2> log/4/stderr2203 2203: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2203 ../src/curl -q --output log/4/curl2203.out --include --trace log/4/trace2203 --trace-time mqtt://127.0.0.1:36435/2203 > log/4/stdout2203 2> log/4/stderr2203 === End of file commands.log === Start of file mqtt_server.log 14:54:43.635328 Running IPv4 version 14:54:43.635410 Listening on port 36435 14:54:43.635452 Wrote pid 171713 to log/4/server/mqtt_server.pid 14:54:43.635485 Wrote port 36435 to log/4/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39073/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:46043/3010 > log/14/stdout3010 2> log/14/stderr3010 d === Start of file valgrind2203 ==172809== ==172809== Process terminating with default action of signal 4 (SIGILL) ==172809== Illegal opcode at address 0x4014B6F ==172809== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172809== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172809== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172809== by 0x4004266: main (tool_main.c:199) === End of file valgrind2203 startnew: ./server/servers mqttd --port 0 --pidfile log/7/server/mqtt_server.pid --portfile log/7/server/mqtt_server.port --config log/7/server.cmd --logfile log/7/mqtt_server.log --logdir log/7 RUN: MQTT server is now running PID 171747 on PORT 39073 * pid mqtt => 171747 171747 test 2204...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39073/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 2204: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 2204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39073/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 === End of file commands.log === Start of file mqtt_server.log 14:54:43.749431 Running IPv4 version 14:54:43.749482 Listening on port 39073 14:54:43.749515 Wrote pid 171747 to log/7/server/mqtt_server.pid 14:54:43.749542 Wrote port 39073 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==172861== ==172861== Process terminating with default action of signal 4 (SIGILL) ==172861== Illegal opcode at address 0x4014B6F ==172861== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172861== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172861== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172861== by 0x4004266: main (tool_main.c:199) === End of file valgrind2204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3009 ../src/curl -q --trace-ascii log/24/trace3009 --trace-time http://127.0.0.1:34449/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/24/stdout3009 2> log/24/stderr3009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3011 ../src/curl -q --trace-ascii log/2/trace3011 --trace-time http://127.0.0.1:37587/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/2/tmp --create-dirs > log/2/stdout3011 2> log/2/stderr3011 test 3010...[HTTP retry-after reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:46043/3010 > log/14/stdout3010 2> log/14/stderr3010 3010: stdout FAILED: --- log/14/check-expected 2025-09-11 14:54:45.595531732 +0000 +++ log/14/check-generated 2025-09-11 14:54:45.595531732 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/14/ dir after test 3010 === Start of file check-expected Retry-After 2[LF] Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:46043/3010 > log/14/stdout3010 2> log/14/stderr3010 === End of file commands.log === Start of file http_server.log 14:54:44.815473 ====> Client connect 14:54:44.815507 accept_connection 3 returned 4 14:54:44.815524 accept_connection 3 returned 0 14:54:44.815539 Read 93 bytes 14:54:44.815550 Process 93 bytes request 14:54:44.815565 Got request: GET /verifiedserver HTTP/1.1 14:54:44.815575 Are-we-friendly question received 14:54:44.815601 Wrote request (93 bytes) input to log/14/server.input 14:54:44.815618 Identifying ourselves as friends 14:54:44.815670 Response sent (56 bytes) and written to log/14/server.response 14:54:44.815681 special request received, no persistency 14:54:44.815692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 51756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 3010 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:46043/3010 === End of file stderr3010 === Start of file valgrind3010 ==172964== ==172964== Process terminating with default action of signal 4 (SIGILL) ==172964== Illegal opcode at address 0x51D42F3 ==172964== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==172964== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==172964== by 0x51D42F3: Curl_open (url.c:551) ==172964== by 0x514CA2F: curl_easy_init (easy.c:372) ==172964== by 0x4046B59: test_lib3010.lto_priv.0 (lib3010.c:36) ==172964== by 0x400347F: main (first.c:281) ==172964== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==172964== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172964== by 0x51D4243: Curl_open (url.c:530) ==172964== by 0x514CA2F: curl_easy_init (easy.c:372) ==172964== by 0x4046B59: test_lib3010.lto_priv.0 (lib3010.c:36) ==172964== by 0x400347F: main (first.c:281) ==172964== === End of file valgrind3010 test 3009...[--output-dir a non-existing directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3009 ../src/curl -q --trace-ascii log/24/trace3009 --trace-time http://127.0.0.1:34449/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/24/stdout3009 2> log/24/stderr3009 3009: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 3009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3009 ../src/curl -q --trace-ascii log/24/trace3009 --trace-time http://127.0.0.1:34449/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/24/stdout3009 2> log/24/stderr3009 === End of file commands.log === Start of file http_server.log 14:54:44.801087 ====> Client connect 14:54:44.801123 accept_connection 3 returned 4 14:54:44.801142 accept_connection 3 returned 0 14:54:44.801158 Read 93 bytes 14:54:44.801170 Process 93 bytes request 14:54:44.801185 Got request: GET /verifiedserver HTTP/1.1 14:54:44.801195 Are-we-friendly question received 14:54:44.801222 Wrote request (93 bytes) input to log/24/server.input 14:54:44.801239 Identifying ourselves as friends 14:54:44.801294 Response sent (56 bytes) and written to log/24/server.response 14:54:44.801305 special request received, no persistency 14:54:44.801315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 56058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 3009 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind3009 ==172944== ==172944== Process terminating with default action of signal 4 (SIGILL) ==172944== Illegal opcode at address 0x4014B6F ==172944== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==172944== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==172944== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==172944== by 0x4004266: main (tool_main.c:199) === End of file valgrind3009 test 3011...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3011 ../src/curl -q --trace-ascii log/2/trace3011 --trace-time http://127.0.0.1:37587/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/2/tmp --create-dirs > log/2/stdout3011 2> log/2/stderr3011 3011: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3011 ../src/curl -q --trace-ascii log/2/trace3011 --trace-time http://127.0.0.1:37587/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/2/tmp --create-dirs > log/2/stdout3011 2> log/2/stderr3011 === End of file commands.log === Start of file http_server.log 14:54:44.848301 ====> Client connect 14:54:44.848336 accept_connection 3 returned 4 14:54:44.848356 accept_connection 3 returned 0 14:54:44.848372 Read 93 bytes 14:54:44.848383 Process 93 bytes request 14:54:44.848398 Got request: GET /verifiedserver HTTP/1.1 14:54:44.848409 Are-we-friendly question received 14:54:44.848433 Wrote request (93 bytes) input to log/2/server.input 14:54:44.848452 Identifying ourselves as friends 14:54:44.848505 Response sent (56 bytes) and written to log/2/server.response 14:54:44.848516 special request received, no persistency 14:54:44.848525 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * TryingCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3012 ../src/curl -q --trace-ascii log/3/trace3012 --trace-time http://127.0.0.1:38933/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/3 > log/3/stdout3012 2> log/3/stderr3012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3016 ../src/curl -q --output log/1/curl3016.out --include --trace-ascii log/1/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/1/stdout3016 2> log/1/stderr3016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3013 ../src/curl -q --trace-ascii log/12/trace3013 --trace-time http://127.0.0.1:43359/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/12 http://127.0.0.1:43359/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3013 2> log/12/stderr3013 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 35666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 3011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file valgrind3011 ==173049== ==173049== Process terminating with default action of signal 4 (SIGILL) ==173049== Illegal opcode at address 0x4014B6F ==173049== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173049== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173049== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173049== by 0x4004266: main (tool_main.c:199) === End of file valgrind3011 test 3012...[--output-dir with -J and -R] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3012 ../src/curl -q --trace-ascii log/3/trace3012 --trace-time http://127.0.0.1:38933/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/3 > log/3/stdout3012 2> log/3/stderr3012 3012: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 3012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3012 ../src/curl -q --trace-ascii log/3/trace3012 --trace-time http://127.0.0.1:38933/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/3 > log/3/stdout3012 2> log/3/stderr3012 === End of file commands.log === Start of file http_server.log 14:54:44.891586 ====> Client connect 14:54:44.891648 accept_connection 3 returned 4 14:54:44.891667 accept_connection 3 returned 0 14:54:44.891684 Read 93 bytes 14:54:44.891696 Process 93 bytes request 14:54:44.891712 Got request: GET /verifiedserver HTTP/1.1 14:54:44.891723 Are-we-friendly question received 14:54:44.891751 Wrote request (93 bytes) input to log/3/server.input 14:54:44.891769 Identifying ourselves as friends 14:54:44.891831 Response sent (57 bytes) and written to log/3/server.response 14:54:44.891844 special request received, no persistency 14:54:44.891854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 44168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd Testnum 3012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file valgrind3012 ==173126== ==173126== Process terminating with default action of signal 4 (SIGILL) ==173126== Illegal opcode at address 0x4014B6F ==173126== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173126== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173126== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173126== by 0x4004266: main (tool_main.c:199) === End of file valgrind3012 test 3016...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3016 ../src/curl -q --output log/1/curl3016.out --include --trace-ascii log/1/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/1/stdout3016 2> log/1/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/1/ dir after test 3016 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3016 ../src/curl -q --output log/1/curl3016.out --include --trace-ascii log/1/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/1/stdout3016 2> log/1/stderr3016 === End of file commands.log === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==173219== ==173219== Process terminating with default action of signal 4 (SIGILL) ==173219== Illegal opcode at address 0x4014B6F ==173219== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173219== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173219== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173219== by 0x4004266: main (tool_main.c:199) === End of file valgrind3016 test 3013...[Two --output-dir with --next in between] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3013 ../src/curl -q --trace-ascii log/12/trace3013 --trace-time http://127.0.0.1:43359/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/12 http://127.0.0.1:43359/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3013 2> log/12/stderr3013 3013: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 3013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3013 ../src/curl -q --trace-ascii log/12/trace3013 --trace-time http://127.0.0.1:43359/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/12 http://127.0.0.1:43359/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3013 2> log/12/stderr3013 === End of file commands.log === Start of file http_server.log 14:54:44.928507 ====> Client connect 14:54:44.928542 accept_connection 3 returned 4 14:54:44.928561 accept_connection 3 returned 0 14:54:44.928577 Read 93 bytes 14:54:44.928589 Process 93 bytes request 14:54:44.928604 Got request: GET /verifiedserver HTTP/1.1 14:54:44.928615 Are-we-friendly question received 14:54:44.928640 Wrote request (93 bytes) input to log/12/server.input 14:54:44.928656 Identifying ourselves as friends 14:54:44.928708 Response sent (56 bytes) and written to log/12/server.response 14:54:44.928719 special request received, no persistency 14:54:44.928729 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 43298 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 3013 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3014 ../src/curl -q --include --trace-ascii log/19/trace3014 --trace-time http://127.0.0.1:33805/1439 --write-out '%{num_headers}' > log/19/stdout3014 2> log/19/stderr3014 === Start of file valgrind3013 ==173226== ==173226== Process terminating with default action of signal 4 (SIGILL) ==173226== Illegal opcode at address 0x4014B6F ==173226== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173226== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173226== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173226== by 0x4004266: main (tool_main.c:199) === End of file valgrind3013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3015 ../src/curl -q --include --trace-ascii log/18/trace3015 --trace-time http://127.0.0.1:46275/3015 -w "%{num_headers}\n" -L -o/dev/null > log/18/stdout3015 2> log/18/stderr3015 test 3014...[Check if %{num_headers} returns correct number of headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3014 ../src/curl -q --include --trace-ascii log/19/trace3014 --trace-time http://127.0.0.1:33805/1439 --write-out '%{num_headers}' > log/19/stdout3014 2> log/19/stderr3014 3014: stdout FAILED: --- log/19/check-expected 2025-09-11 14:54:45.732198401 +0000 +++ log/19/check-generated 2025-09-11 14:54:45.732198401 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -4 == Contents of files in the log/19/ dir after test 3014 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 4 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3014 ../src/curl -q --include --trace-ascii log/19/trace3014 --trace-time http://127.0.0.1:33805/1439 --write-out '%{num_headers}' > log/19/stdout3014 2> log/19/stderr3014 === End of file commands.log === Start of file http_server.log 14:54:43.932578 ====> Client connect 14:54:43.932611 accept_connection 3 returned 4 14:54:43.932629 accept_connection 3 returned 0 14:54:43.932755 Read 93 bytes 14:54:43.932768 Process 93 bytes request 14:54:43.932782 Got request: GET /verifiedserver HTTP/1.1 14:54:43.932793 Are-we-friendly question received 14:54:43.932820 Wrote request (93 bytes) input to log/19/server.input 14:54:43.932840 Identifying ourselves as friends 14:54:43.932893 Response sent (56 bytes) and written to log/19/server.response 14:54:43.932905 special request received, no persistency 14:54:43.932916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 59314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 3014 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file valgrind3014 ==173237== ==173237== Process terminating with default action of signal 4 (SIGILL) ==173237== Illegal opcode at address 0x4014B6F ==173237== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173237== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173237== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173237== by 0x4004266: main (tool_main.c:199) === End of file valgrind3014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2205 ../src/curl -q --output log/22/curl2205.out --include --trace log/22/trace2205 --trace-time mqtt://127.0.0.1:33273/2205 -K log/22/input2205 > log/22/stdout2205 2> log/22/stderr2205 test 3015...[HTTP GET -w num_headers with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3015 ../src/curl -q --include --trace-ascii log/18/trace3015 --trace-time http://127.0.0.1:46275/3015 -w "%{num_headers}\n" -L -o/dev/null > log/18/stdout3015 2> log/18/stderr3015 3015: stdout FAILED: --- log/18/check-expected 2025-09-11 14:54:45.738865068 +0000 +++ log/18/check-generated 2025-09-11 14:54:45.738865068 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/18/ dir after test 3015 === Start of file check-expected 4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3015 ../src/curl -q --include --trace-ascii log/18/trace3015 --trace-time http://127.0.0.1:46275/3015 -w "%{num_headers}\n" -L -o/dev/null > log/18/stdout3015 2> log/18/stderr3015 === End of file commands.log === Start of file http_server.log 14:54:44.930619 ====> Client connect 14:54:44.930651 accept_connection 3 returned 4 14:54:44.930668 accept_connection 3 returned 0 14:54:44.930682 Read 93 bytes 14:54:44.930693 Process 93 bytes request 14:54:44.930706 Got request: GET /verifiedserver HTTP/1.1 14:54:44.930716 Are-we-friendly question received 14:54:44.930742 Wrote request (93 bytes) input to log/18/server.input 14:54:44.930761 Identifying ourselves as friends 14:54:44.930813 Response sent (57 bytes) and written to log/18/server.response 14:54:44.930825 special request received, no persistency 14:54:44.930838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 48708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 3015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file valgrind3015 ==173239== ==173239== Process terminating with default action of signal 4 (SIGILL) ==173239== Illegal opcode at address 0x4014B6F ==173239== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173239== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173239== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173239== by 0x4004266: main (tool_main.c:199) === End of file valgrind3015 startnew: ./server/servers mqttd --port 0 --pidfile log/22/server/mqtt_server.pid --portfile log/22/server/mqtt_server.port --config log/22/server.cmd --logfile log/22/mqtt_server.log --logdir log/22 RUN: MQTT server is now running PID 171763 on PORT 33273 * pid mqtt => 171763 171763 test 2205...[MQTT with very long user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2205 ../src/curl -q --output log/22/curl2205.out --include --trace log/22/trace2205 --trace-time mqtt://127.0.0.1:33273/2205 -K log/22/input2205 > log/22/stdout2205 2> log/22/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/22/ dir after test 2205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2205 ../src/curl -q --output log/22/curl2205.out --include --trace log/22/trace2205 --trace-time mqtt://127.0.0.1:33273/2205 -K log/22/input2205 > log/22/stdout2205 2> log/22/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3017 ../src/curl -q --output log/6/curl3017.out --include --trace log/6/trace3017 --trace-time mqtt://127.0.0.1:34575/3017 -m 3 > log/6/stdout3017 2> log/6/stderr3017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34345/3025 > log/9/stdout3025 2> log/9/stderr3025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3019 ../src/curl -q --output log/8/curl3019.out --include --trace-ascii log/8/trace3019 --trace-time --resolve 37085:example.com:127.0.0.1 http://example.com:37085/3019 > log/8/stdout3019 2> log/8/stderr3019 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file mqtt_server.log 14:54:43.952414 Running IPv4 version 14:54:43.952467 Listening on port 33273 14:54:43.952505 Wrote pid 171763 to log/22/server/mqtt_server.pid 14:54:43.952537 Wrote port 33273 to log/22/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2205 === End of file server.cmd === Start of file valgrind2205 ==173311== ==173311== Process terminating with default action of signal 4 (SIGILL) ==173311== Illegal opcode at address 0x4014B6F ==173311== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173311== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173311== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173311== by 0x4004266: main (tool_main.c:199) === End of file valgrind2205 test 3017...[MQTT SUBSCRIBE with pathological PUBLISH length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3017 ../src/curl -q --output log/6/curl3017.out --include --trace log/6/trace3017 --trace-time mqtt://127.0.0.1:34575/3017 -m 3 > log/6/stdout3017 2> log/6/stderr3017 3017: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3017 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3017 ../src/curl -q --output log/6/curl3017.out --include --trace log/6/trace3017 --trace-time mqtt://127.0.0.1:34575/3017 -m 3 > log/6/stdout3017 2> log/6/stderr3017 === End of file commands.log === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==173490== ==173490== Process terminating with default action of signal 4 (SIGILL) ==173490== Illegal opcode at address 0x4014B6F ==173490== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173490== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173490== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173490== by 0x4004266: main (tool_main.c:199) === End of file valgrind3017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3018 ../src/curl -q --output log/10/curl3018.out --include --trace log/10/trace3018 --trace-time mqtt://127.0.0.1:40041/3018 --max-filesize 11 > log/10/stdout3018 2> log/10/stderr3018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3020 ../src/curl -q --output log/21/curl3020.out --include --trace-ascii log/21/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34037/3020 > log/21/stdout3020 2> log/21/stderr3020 test 3025...[CURLOPT_HTTP200ALIASES] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34345/3025 > log/9/stdout3025 2> log/9/stderr3025 3025: data FAILED: --- log/9/check-expected 2025-09-11 14:54:46.185531741 +0000 +++ log/9/check-generated 2025-09-11 14:54:46.185531741 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/9/ dir after test 3025 === Start of file check-expected ICY 200 OK[LF] Content-Length: 7[LF] [LF] MooMoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34345/3025 > log/9/stdout3025 2> log/9/stderr3025 === End of file commands.log === Start of file http_server.log 14:54:45.327984 ====> Client connect 14:54:45.328018 accept_connection 3 returned 4 14:54:45.328036 accept_connection 3 returned 0 14:54:45.328052 Read 93 bytes 14:54:45.328064 Process 93 bytes request 14:54:45.328079 Got request: GET /verifiedserver HTTP/1.1 14:54:45.328091 Are-we-friendly question received 14:54:45.328117 Wrote request (93 bytes) input to log/9/server.input 14:54:45.328137 Identifying ourselves as friends 14:54:45.328200 Response sent (56 bytes) and written to log/9/server.response 14:54:45.328213 special request received, no persistency 14:54:45.328224 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 3025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:34345/3025 === End of file stderr3025 === Start of file valgrind3025 ==173681== ==173681== Process terminating with default action of signal 4 (SIGILL) ==173681== Illegal opcode at address 0x51D42F3 ==173681== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==173681== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==173681== by 0x51D42F3: Curl_open (url.c:551) ==173681== by 0x514CA2F: curl_easy_init (easy.c:372) ==173681== by 0x40432CC: test_lib3025.lto_priv.0 (lib3025.c:39) ==173681== by 0x400347F: main (first.c:281) ==173681== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==173681== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==173681== by 0x51D4243: Curl_open (url.c:530) ==173681== by 0x514CA2F: curl_easy_init (easy.c:372) ==173681== by 0x40432CC: test_lib3025.lto_priv.0 (lib3025.c:39) ==173681== by 0x400347F: main (first.c:281) ==173681== === End of file valgrind3025 test 3019...[HTTP with invalid --resolve syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3019 ../src/curl -q --output log/8/curl3019.out --include --trace-ascii log/8/trace3019 --trace-time --resolve 37085:example.com:127.0.0.1 http://example.com:37085/3019 > log/8/stdout3019 2> log/8/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/8/ dir after test 3019 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3019 ../src/curl -q --output log/8/curl3019.out --include --trace-ascii log/8/trace3019 --trace-time --resolve 37085:example.com:127.0.0.1 http://example.com:37085/3019 > log/8/stdout3019 2> log/8/stderr3019 === End of file commands.log === Start of file http_server.log 14:54:44.301416 ====> Client connect 14:54:44.301448 accept_connection 3 returned 4 14:54:44.301464 accept_connection 3 returned 0 14:54:44.301479 Read 93 bytes 14:54:44.301488 Process 93 bytes request 14:54:44.301502 Got request: GET /verifiedserver HTTP/1.1 14:54:44.301511 Are-we-friendly question received 14:54:44.301535 Wrote request (93 bytes) input to log/8/server.input 14:54:44.301552 Identifying ourselves as friends 14:54:44.301603 Response sent (56 bytes) and written to log/8/server.response 14:54:44.301612 special request received, no persistency 14:54:44.301622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37085... * Established connection to 127.0.0.1 (127.0.0.1 port 37085) from 127.0.0.1 port 37754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37085 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37085 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74279 === End of file http_verify.out === Start of file server.cmd Testnum 3019 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74279 === End of file server.response === Start of file valgrind3019 ==173569== ==173569== Process terminating with default action of signal 4 (SIGILL) ==173569== Illegal opcode at address 0x4014B6F ==173569== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173569== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173569== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173569== by 0x4004266: main (tool_main.c:199) === End of file valgrind3019 test 3018...[MQTT SUBSCRIBE with PUBLISH larger than --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3018 ../src/curl -q --output log/10/curl3018.out --include --trace log/10/trace3018 --trace-time mqtt://127.0.0.1:40041/3018 --max-filesize 11 > log/10/stdout3018 2> log/10/stderr3018 3018: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 3018 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3018 ../src/curl -q --output log/10/curl3018.out --include --trace log/10/trace3018 --trace-time mqtt://127.0.0.1:40041/3018 --max-filesize 11 > log/10/stdout3018 2> log/10/stderr3018 === End of file commands.log === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==173518== ==173518== Process terminating with default action of signal 4 (SIGILL) ==173518== Illegal opcode at address 0x4014B6F ==173518== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173518== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173518== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173518== by 0x4004266: main (tool_main.c:199) === End of file valgrind3018 test 3020...[HTTP with invalid --connect-to syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3020 ../src/curl -q --output lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:32915/3027 > log/16/stdout3027 2> log/16/stderr3027 og/21/curl3020.out --include --trace-ascii log/21/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34037/3020 > log/21/stdout3020 2> log/21/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/21/ dir after test 3020 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3020 ../src/curl -q --output log/21/curl3020.out --include --trace-ascii log/21/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34037/3020 > log/21/stdout3020 2> log/21/stderr3020 === End of file commands.log === Start of file http_server.log 14:54:45.309535 ====> Client connect 14:54:45.309572 accept_connection 3 returned 4 14:54:45.309589 accept_connection 3 returned 0 14:54:45.309604 Read 93 bytes 14:54:45.309615 Process 93 bytes request 14:54:45.309628 Got request: GET /verifiedserver HTTP/1.1 14:54:45.309637 Are-we-friendly question received 14:54:45.309672 Wrote request (93 bytes) input to log/21/server.input 14:54:45.309688 Identifying ourselves as friends 14:54:45.309755 Response sent (56 bytes) and written to log/21/server.response 14:54:45.309766 special request received, no persistency 14:54:45.309775 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34037... * Established connection to 127.0.0.1 (127.0.0.1 port 34037) from 127.0.0.1 port 44794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34037 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34037 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74011 === End of file http_verify.out === Start of file server.cmd Testnum 3020 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74011 === End of file server.response === Start of file valgrind3020 ==173606== ==173606== Process terminating with default action of signal 4 (SIGILL) ==173606== Illegal opcode at address 0x4014B6F ==173606== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173606== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173606== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173606== by 0x4004266: main (tool_main.c:199) === End of file valgrind3020 test 3027...[Get a file via FTP but 550 after MDTM command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:32915/3027 > log/16/stdout3027 2> log/16/stderr3027 3027: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 3027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:32915/3027 > log/16/stdout3027 2> log/16/stderr3027 === End of file commands.log === Start of file ftp_server.log 14:54:45.376228 ====> Client connect 14:54:45.376369 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:45.376612 < "USER anonymous" 14:54:45.376642 > "331 We are happy you popped in![CR][LF]" 14:54:45.376788 < "PASS ftp@example.com" 14:54:45.376810 > "230 Welcome you silly person[CR][LF]" 14:54:45.376962 < "PWD" 14:54:45.376990 > "257 "/" is current directory[CR][LF]" 14:54:45.377121 < "EPSV" 14:54:45.377143 ====> Passive DATA channel requested by client 14:54:45.377154 DATA sockfilt for passive data channel starting... 14:54:45.378555 DATA sockfilt for passive data channel started (pid 173853) 14:54:45.378660 DATA sockfilt for passive data channel listens on port 34671 14:54:45.378754 > "229 Entering Passive Mode (|||34671|)[LF]" 14:54:45.378822 Client has been notified that DATA conn will be accepted on port 34671 14:54:45.378893 Client connects to port 34671 14:54:45.378928 ====> Client established passive DATA connection on port 34671 14:54:45.379008 < "TYPE I" 14:54:45.379044 > "200 I modify TYPE as you wanted[CR][LF]" 14:54:45.379209 < "SIZE verifiedserver" 14:54:45.379244 > "213 17[CR][LF]" 14:54:45.379389 < "RETR verifiedserver" 14:54:45.379422 > "150 Binary junk (17 bytes).[CR][LF]" 14:54:45.379503 =====> Closing passive DATA connection... 14:54:45.379519 Server disconnects passive DATA connection 14:54:45.379598 Server disconnected passive DATA connection 14:54:45.379618 DATA sockfilt for passive data channel quits (pid 173853) 14:54:45.379852 DATA sockfilt for passive data channel quit (pid 173853) 14:54:45.379876 =====> Closed passive DATA connection 14:54:45.379903 > "226 File transfer complete[CR][LF]" 14:54:45.423910 < "QUIT" 14:54:45.423976 > "221 bye bye baby[CR][LF]" 14:54:45.425122 MAIN sockfilt said DISC 14:54:45.425175 ====> Client disconnected 14:54:45.425252 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 14:54:45.458926 ====> Client connect 14:54:45.459186 Received DATA (on stdin) 14:54:45.459200 > 160 bytes data, server => client 14:54:45.459210 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:45.459219 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:45.459228 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:45.459294 < 16 bytes data, client => server 14:54:45.459304 'USER anonymous\r\n' 14:54:45.459453 Received DATA (on stdin) 14:54:45.459463 > 33 bytes data, server => client 14:54:45.459473 '331 We are happy you popped in!\r\n' 14:54:45.459515 < 22 bytes data, client => server 14:54:45.459525 'PASS ftp@example.com\r\n' 14:54:45.459615 Received DATA (on stdin) 14:54:45.459625 > 30 bytes data, server => client 14:54:45.459634 '230 Welcome you silly person\r\n' 14:54:45.459691 < 5 bytes data, client => server 14:54:45.459702 'PWD\r\n' 14:54:45.459796 Received DATA (on stdin) 14:54:45.459806 > 30 bytes data, server => client 14:54:45.459815 '257 "/" is current directory\r\n' 14:54:45.459861 < 6 bytes data, client => server 14:54:45.459870 'EPSV\r\n' 14:54:45.461491 Received DATA (on stdin) 14:54:45.461505 > 38 bytes data, server => client 14:54:45.461517 '229 Entering Passive Mode (|||34671|)\n' 14:54:45.461690 < 8 bytes data, client => server 14:54:45.461711 'TYPE I\r\n' 14:54:45.461857 Received DATA (on stdin) 14:54:45.461874 > 33 bytes data, server => client 14:54:45.461885 '200 I modify TYPE as you wanted\r\n' 14:54:45.461938 < 21 bytes data, client => server 14:54:45.461949 'SIZE verifiedserver\r\n' 14:54:45.462052 Received DATA (on stdin) 14:54:45.462063 > 8 bytes data, server => client 14:54:45.462074 '213 17\r\n' 14:54:45.462119 < 21 bytes data, client => server 14:54:45.462130 'RETR verifiedserver\r\n' 14:54:45.462331 Received DATA (on stdin) 14:54:45.462344 > 29 bytes data, server => client 14:54:45.462356 '150 Binary junk (17 bytes).\r\n' 14:54:45.462715 Received DATA (on stdin) 14:54:45.462729 > 28 bytes data, server => client 14:54:45.462741 '226 File transfer complete\r\n' 14:54:45.506503 < 6 bytes data, client => server 14:54:45.506536 'QUIT\r\n' 14:54:45.506804 Received DATA (on stdin) 14:54:45.506825 > 18 bytes data, server => client 14:54:45.506838 '221 bye bye baby\r\n' 14:54:45.507860 ====> Client disconnect 14:54:45.508070 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 14:54:45.461195 Running IPv4 version 14:54:45.461253 Listening on port 34671 14:54:45.461286 Wrote pid CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3029 ../src/curl -q --output log/4/curl3029.out --include --trace-ascii log/4/trace3029 --trace-time -D log/4/heads3029 http://127.0.0.1:39793/3029 http://127.0.0.1:39793/3029 --next -D log/4/heads3029 http://127.0.0.1:39793/3029 > log/4/stdout3029 2> log/4/stderr3029 173853 to log/16/server/ftp_sockdata.pid 14:54:45.461307 Received PING (on stdin) 14:54:45.461390 Received PORT (on stdin) 14:54:45.461642 ====> Client connect 14:54:45.462247 Received DATA (on stdin) 14:54:45.462269 > 17 bytes data, server => client 14:54:45.462281 'WE ROOLZ: 80177\r\n' 14:54:45.462327 Received DISC (on stdin) 14:54:45.462342 ====> Client forcibly disconnected 14:54:45.462443 Received QUIT (on stdin) 14:54:45.462459 quits 14:54:45.462525 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 Permission denied Testnum 3027 === End of file server.cmd === Start of file stderr3027 URL: ftp://127.0.0.1:32915/3027 === End of file stderr3027 === Start of file valgrind3027 ==173908== ==173908== Process terminating with default action of signal 4 (SIGILL) ==173908== Illegal opcode at address 0x51D42F3 ==173908== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==173908== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==173908== by 0x51D42F3: Curl_open (url.c:551) ==173908== by 0x514CA2F: curl_easy_init (easy.c:372) ==173908== by 0x4046A39: test_lib3027.lto_priv.0 (lib3027.c:36) ==173908== by 0x400347F: main (first.c:281) ==173908== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==173908== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==173908== by 0x51D4243: Curl_open (url.c:530) ==173908== by 0x514CA2F: curl_easy_init (easy.c:372) ==173908== by 0x4046A39: test_lib3027.lto_priv.0 (lib3027.c:36) ==173908== by 0x400347F: main (first.c:281) ==173908== === End of file valgrind3027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:40545/3030 http://127.0.0.1:40545/3030 > log/7/stdout3030 2> log/7/stderr3030 test 3029...[HTTP with multiple -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3029 ../src/curl -q --output log/4/curl3029.out --include --trace-ascii log/4/trace3029 --trace-time -D log/4/heads3029 http://127.0.0.1:39793/3029 http://127.0.0.1:39793/3029 --next -D log/4/heads3029 http://127.0.0.1:39793/3029 > log/4/stdout3029 2> log/4/stderr3029 3029: data FAILED: --- log/4/check-expected 2025-09-11 14:54:46.302198409 +0000 +++ log/4/check-generated 2025-09-11 14:54:46.302198409 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/4/ dir after test 3029 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3029 ../src/curl -q --output log/4/curl3029.out --include --trace-ascii log/4/trace3029 --trace-time -D log/4/heads3029 http://127.0.0.1:39793/3029 http://127.0.0.1:39793/3029 --next -D log/4/heads3029 http://127.0.0.1:39793/3029 > log/4/stdout3029 2> log/4/stderr3029 === End of file commands.log === Start of file http_server.log 14:54:45.498470 ====> Client connect 14:54:45.498501 accept_connection 3 returned 4 14:54:45.498516 accept_connection 3 returned 0 14:54:45.498530 Read 93 bytes 14:54:45.498539 Process 93 bytes request 14:54:45.498551 Got request: GET /verifiedserver HTTP/1.1 14:54:45.498560 Are-we-friendly question received 14:54:45.498580 Wrote request (93 bytes) input to log/4/server.input 14:54:45.498595 Identifying ourselves as friends 14:54:45.498645 Response sent (56 bytes) and written to log/4/server.response 14:54:45.498655 special request received, no persistency 14:54:45.498663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39793... * Established connection to 127.0.0.1 (127.0.0.1 port 39793) from 127.0.0.1 port 46482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39793 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39793 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74344 === End of file http_verify.out === Start of file server.cmd Testnum 3029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74344 === End of file server.response === Start of file valgrind3029 ==173891== ==173891== Process terminating with default action of signal 4 (SIGILL) ==173891== Illegal opcode at address 0x4014B6F ==173891== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==173891== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==173891== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==173891== by 0x4004266: main (tool_main.c:199) === End of file valgrind3029 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3032 ../src/curl -q --output log/24/curl3032.out --include --trace-ascii log/24/trace3032 --trace-time --location http://127.0.0.1:34449/3032 > log/24/stdout3032 2> log/24/stderr3032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38933/3034 > log/3/stdout3034 2> log/3/stderr3034 test 3030...[HTTP with multiple transfers in one -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:40545/3030 http://127.0.0.1:40545/3030 > log/7/stdout3030 2> log/7/stderr3030 3030: data FAILED: --- log/7/check-expected 2025-09-11 14:54:46.398865078 +0000 +++ log/7/check-generated 2025-09-11 14:54:46.398865078 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/7/ dir after test 3030 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:40545/3030 http://127.0.0.1:40545/3030 > log/7/stdout3030 2> log/7/stderr3030 === End of file commands.log === Start of file http_server.log 14:54:45.659396 ====> Client connect 14:54:45.659426 accept_connection 3 returned 4 14:54:45.659444 accept_connection 3 returned 0 14:54:45.659460 Read 93 bytes 14:54:45.659471 Process 93 bytes request 14:54:45.659486 Got request: GET /verifiedserver HTTP/1.1 14:54:45.659496 Are-we-friendly question received 14:54:45.659520 Wrote request (93 bytes) input to log/7/server.input 14:54:45.659539 Identifying ourselves as friends 14:54:45.659611 Response sent (56 bytes) and written to log/7/server.response 14:54:45.659622 special request received, no persistency 14:54:45.659632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40545... * Established connection to 127.0.0.1 (127.0.0.1 port 40545) from 127.0.0.1 port 60008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40545 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40545 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74329 === End of file http_verify.out === Start of file server.cmd Testnum 3030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74329 === End of file server.response === Start of file valgrind3030 ==174010== ==174010== Process terminating with default action of signal 4 (SIGILL) ==174010== Illegal opcode at address 0x4014B6F ==174010== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174010== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174010== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174010== by 0x4004266: main (tool_main.c:199) === End of file valgrind3030 test 3032...[HTTP redirect loop 3x swsbounce test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3032 ../src/curl -q --output log/24/curl3032.out --include --trace-ascii log/24/trace3032 --trace-time --location http://127.0.0.1:34449/3032 > log/24/stdout3032 2> log/24/stderr3032 3032: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 3032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3032 ../src/curl -q --output log/24/curl3032.out --include --trace-ascii log/24/trace3032 --trace-time --location http://127.0.0.1:34449/3032 > log/24/stdout3032 2> log/24/stderr3032 === End of file commands.log === Start of file http_server.log 14:54:45.709313 ====> Client connect 14:54:45.709350 accept_connection 3 returned 4 14:54:45.709368 accept_connection 3 returned 0 14:54:45.709505 Read 93 bytes 14:54:45.709519 Process 93 bytes request 14:54:45.709533 Got request: GET /verifiedserver HTTP/1.1 14:54:45.709544 Are-we-friendly question received 14:54:45.709573 Wrote request (93 bytes) input to log/24/server.input 14:54:45.709592 Identifying ourselves as friends 14:54:45.709660 Response sent (56 bytes) and written to log/24/server.response 14:54:45.709671 special request received, no persistency 14:54:45.709681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34449... * Established connection to 127.0.0.1 (127.0.0.1 port 34449) from 127.0.0.1 port 41366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34449 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34449 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74008 === End of file http_verify.out === Start of file server.cmd Testnum 3032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74008 === End of file server.response === Start of file valgrind3032 ==174099== ==174099== Process terminating with default action of signal 4 (SIGILL) ==174099== Illegal opcode at address 0x4014B6F ==174099== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174099== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174099== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174099== by 0x4004266: main (tool_main.c:199) === End of file valgrind3032 test 3034...[Test reset resolves rewind failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38933/3034 > log/3/stdout3034 2> log/3/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/3/ dir after test 3034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38933/3034 > log/3/stdout3034 2> log/3/stderr3034 === End of file commands.log === Start of file http_server.log 14:54:45.774754 ====> Client connect 14:54:45.774799 accept_connection 3 returned 4 14:54:45.774819 accept_connection 3 returned 0 14:54:45.774838 Read 93 bytes 14:54:45.774849 Process 93 bytes request 14:54:45.774865 Got request: GET /verifiedserver HTTP/1.1 14:54:45.774875 Are-we-friendly question received 14:54:45.774904 Wrote request (93 bytes) input to log/3/server.input 14:54:45.774922 Identifying ourselves as friends 14:54:45.774994 Response sent (57 bytes) and written to log/3/server.response 14:54:45.775005 special request received, no persistency 14:54:45.775014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38933... * Established connection to 127.0.0.1 (127.0.0.1 port 38933) from 127.0.0.1 port 56668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38933 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 147064 === End of file http_verify.out === Start of file server.cmd TCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3031 ../src/curl -q --output log/14/curl3031.out --include --trace-ascii log/14/trace3031 --trace-time http://127.0.0.1:46043/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/14/tmp/out.txt --create-dirs > log/14/stdout3031 2> log/14/stderr3031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:37587/3033 > log/2/stdout3033 2> log/2/stderr3033 estnum 3034 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147064 === End of file server.response === Start of file stderr3034 URL: http://127.0.0.1:38933/3034 === End of file stderr3034 === Start of file valgrind3034 ==174234== ==174234== Process terminating with default action of signal 4 (SIGILL) ==174234== Illegal opcode at address 0x51D42F3 ==174234== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==174234== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==174234== by 0x51D42F3: Curl_open (url.c:551) ==174234== by 0x514CA2F: curl_easy_init (easy.c:372) ==174234== by 0x4046CEC: UnknownInlinedFun (lib3034.c:43) ==174234== by 0x4046CEC: test_lib3034.lto_priv.0 (lib3034.c:37) ==174234== by 0x400347F: main (first.c:281) ==174234== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==174234== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174234== by 0x51D4243: Curl_open (url.c:530) ==174234== by 0x514CA2F: curl_easy_init (easy.c:372) ==174234== by 0x4046CEC: UnknownInlinedFun (lib3034.c:43) ==174234== by 0x4046CEC: test_lib3034.lto_priv.0 (lib3034.c:37) ==174234== by 0x400347F: main (first.c:281) ==174234== === End of file valgrind3034 test 3031...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3031 ../src/curl -q --output log/14/curl3031.out --include --trace-ascii log/14/trace3031 --trace-time http://127.0.0.1:46043/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/14/tmp/out.txt --create-dirs > log/14/stdout3031 2> log/14/stderr3031 3031: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 3031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3031 ../src/curl -q --output log/14/curl3031.out --include --trace-ascii log/14/trace3031 --trace-time http://127.0.0.1:46043/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/14/tmp/out.txt --create-dirs > log/14/stdout3031 2> log/14/stderr3031 === End of file commands.log === Start of file http_server.log 14:54:45.705039 ====> Client connect 14:54:45.705072 accept_connection 3 returned 4 14:54:45.705090 accept_connection 3 returned 0 14:54:45.705105 Read 93 bytes 14:54:45.705117 Process 93 bytes request 14:54:45.705132 Got request: GET /verifiedserver HTTP/1.1 14:54:45.705143 Are-we-friendly question received 14:54:45.705170 Wrote request (93 bytes) input to log/14/server.input 14:54:45.705189 Identifying ourselves as friends 14:54:45.705246 Response sent (56 bytes) and written to log/14/server.response 14:54:45.705257 special request received, no persistency 14:54:45.705268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46043... * Established connection to 127.0.0.1 (127.0.0.1 port 46043) from 127.0.0.1 port 52310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46043 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74019 === End of file http_verify.out === Start of file server.cmd Testnum 3031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74019 === End of file server.response === Start of file valgrind3031 ==174093== ==174093== Process terminating with default action of signal 4 (SIGILL) ==174093== Illegal opcode at address 0x4014B6F ==174093== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174093== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174093== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174093== by 0x4004266: main (tool_main.c:199) === End of file valgrind3031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43359/3101 > log/12/stdout3101 2> log/12/stderr3101 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3200 ./unit/units unit3200 log/6/curl_get_line3200 > log/6/stdout3200 2> log/6/stderr3200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:46275/3103 > log/18/stdout3103 2> log/18/stderr3103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:33805/3104 > log/19/stdout3104 2> log/19/stderr3104 test 3033...[CURLOPT_FRESH_CONNECT=2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:37587/3033 > log/2/stdout3033 2> log/2/stderr3033 3033: data FAILED: --- log/2/check-expected 2025-09-11 14:54:46.528865079 +0000 +++ log/2/check-generated 2025-09-11 14:54:46.528865079 +0000 @@ -1,6 +0,0 @@ -[0] no network change[LF] --foo-[LF] -[1] signal network change[LF] --foo-[LF] -[2] no network change[LF] --foo-[LF] == Contents of files in the log/2/ dir after test 3033 === Start of file check-expected [0] no network change[LF] -foo-[LF] [1] signal network change[LF] -foo-[LF] [2] no network change[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:37587/3033 > log/2/stdout3033 2> log/2/stderr3033 === End of file commands.log === Start of file http_server.log 14:54:45.767772 ====> Client connect 14:54:45.767805 accept_connection 3 returned 4 14:54:45.767823 accept_connection 3 returned 0 14:54:45.767839 Read 93 bytes 14:54:45.767850 Process 93 bytes request 14:54:45.767865 Got request: GET /verifiedserver HTTP/1.1 14:54:45.767876 Are-we-friendly question received 14:54:45.767953 Wrote request (93 bytes) input to log/2/server.input 14:54:45.767975 Identifying ourselves as friends 14:54:45.768067 Response sent (56 bytes) and written to log/2/server.response 14:54:45.768081 special request received, no persistency 14:54:45.768092 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37587... * Established connection to 127.0.0.1 (127.0.0.1 port 37587) from 127.0.0.1 port 53502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37587 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37587 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74490 === End of file http_verify.out === Start of file server.cmd Testnum 3033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74490 === End of file server.response === Start of file stderr3033 URL: http://127.0.0.1:37587/3033 === End of file stderr3033 === Start of file valgrind3033 ==174224== ==174224== Process terminating with default action of signal 4 (SIGILL) ==174224== Illegal opcode at address 0x519C257 ==174224== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==174224== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==174224== by 0x519C257: Curl_multi_handle (multi.c:236) ==174224== by 0x40472AA: UnknownInlinedFun (lib3033.c:107) ==174224== by 0x40472AA: test_lib3033.lto_priv.0 (lib3033.c:100) ==174224== by 0x400347F: main (first.c:281) ==174224== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==174224== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174224== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==174224== by 0x40472AA: UnknownInlinedFun (lib3033.c:107) ==174224== by 0x40472AA: test_lib3033.lto_priv.0 (lib3033.c:100) ==174224== by 0x400347F: main (first.c:281) ==174224== === End of file valgrind3033 test 3101...[HTTP auth without redirection protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43359/3101 > log/12/stdout3101 2> log/12/stderr3101 3101: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 3101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43359/3101 > log/12/stdout3101 2> log/12/stderr3101 === End of file commands.log === Start of file http_server.log 14:54:45.806649 ====> Client connect 14:54:45.806686 accept_connection 3 returned 4 14:54:45.806703 accept_connection 3 returned 0 14:54:45.806718 Read 93 bytes 14:54:45.806727 Process 93 bytes request 14:54:45.806740 Got request: GET /verifiedserver HTTP/1.1 14:54:45.806749 Are-we-friendly question received 14:54:45.806767 Wrote request (93 bytes) input to log/12/server.input 14:54:45.806787 Identifying ourselves as friends 14:54:45.806836 Response sent (56 bytes) and written to log/12/server.response 14:54:45.806844 special request received, no persistency 14:54:45.806852 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43359... * Established connection to 127.0.0.1 (127.0.0.1 port 43359) from 127.0.0.1 port 52800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43359 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74117 === End of file http_verify.out === Start of file server.cmd Testnum 3101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74117 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:43359/3101 === End of file stderr3101 === Start of file valgrind3101 ==174339== ==174339== Process terminating with default action of signal 4 (SIGILL) ==174339== Illegal opcode at address 0x51D42F3 ==174339== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==174339== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==174339== by 0x51D42F3: Curl_open (url.c:551) ==174339== by 0x514CA2F: curl_easy_init (easy.c:372) ==174339== by 0x404244A: test_lib3101.lto_priv.0 (lib3101.c:38) ==174339== by 0x400347F: main (first.c:281) ==174339== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==174339== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174339== by 0x51D4243: Curl_open (url.c:530) ==174339== by 0x514CA2F: curl_easy_init (easy.c:372) ==174339== by 0x404244A: test_lib3101.lto_priv.0 (lib3101.c:38) ==174339== by 0x400347F: main (first.c:281) ==174339== === End of file valgrind3101 test 3200...[curl_get_line unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3200 ./unit/units unit3200 log/6/curl_get_line3200 > log/6/stdout3200 2> log/6/stderr3200 -------e-v- OK (1711 out of 1725, remaining: 00:00, took 0.520s, duration: 01:55) test 3103...[CURLOPT_COOKIELIST without expiry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:46275/3103 > log/18/stdout3103 2> log/18/stderr3103 3103: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 3103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:46275/3103 > log/18/stdout3103 2> log/18/stderr3103 === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3105 ./libtest/libtests lib3105 - > log/22/stdout3105 2> log/22/stderr3105 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3205 ./unit/units unit3205 - > log/8/stdout3205 2> log/8/stderr3205 of file commands.log === Start of file http_server.log 14:54:45.847099 ====> Client connect 14:54:45.847142 accept_connection 3 returned 4 14:54:45.847161 accept_connection 3 returned 0 14:54:45.847177 Read 93 bytes 14:54:45.847189 Process 93 bytes request 14:54:45.847203 Got request: GET /verifiedserver HTTP/1.1 14:54:45.847214 Are-we-friendly question received 14:54:45.847245 Wrote request (93 bytes) input to log/18/server.input 14:54:45.847265 Identifying ourselves as friends 14:54:45.847328 Response sent (57 bytes) and written to log/18/server.response 14:54:45.847341 special request received, no persistency 14:54:45.847352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46275... * Established connection to 127.0.0.1 (127.0.0.1 port 46275) from 127.0.0.1 port 34350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46275 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46275 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 157920 === End of file http_verify.out === Start of file server.cmd Testnum 3103 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157920 === End of file server.response === Start of file stderr3103 URL: http://127.0.0.1:46275/3103 === End of file stderr3103 === Start of file valgrind3103 ==174416== ==174416== Process terminating with default action of signal 4 (SIGILL) ==174416== Illegal opcode at address 0x51D42F3 ==174416== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==174416== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==174416== by 0x51D42F3: Curl_open (url.c:551) ==174416== by 0x514CA2F: curl_easy_init (easy.c:372) ==174416== by 0x51C4881: curl_share_init (share.c:50) ==174416== by 0x4048202: test_lib3103.lto_priv.0 (lib3103.c:36) ==174416== by 0x400347F: main (first.c:281) ==174416== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==174416== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174416== by 0x51D4243: Curl_open (url.c:530) ==174416== by 0x514CA2F: curl_easy_init (easy.c:372) ==174416== by 0x51C4881: curl_share_init (share.c:50) ==174416== by 0x4048202: test_lib3103.lto_priv.0 (lib3103.c:36) ==174416== by 0x400347F: main (first.c:281) ==174416== === End of file valgrind3103 test 3104...[CURLOPT_COOKIELIST with Netscape format] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:33805/3104 > log/19/stdout3104 2> log/19/stderr3104 3104: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 3104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:33805/3104 > log/19/stdout3104 2> log/19/stderr3104 === End of file commands.log === Start of file http_server.log 14:54:44.847084 ====> Client connect 14:54:44.847125 accept_connection 3 returned 4 14:54:44.847144 accept_connection 3 returned 0 14:54:44.847162 Read 93 bytes 14:54:44.847175 Process 93 bytes request 14:54:44.847190 Got request: GET /verifiedserver HTTP/1.1 14:54:44.847201 Are-we-friendly question received 14:54:44.847230 Wrote request (93 bytes) input to log/19/server.input 14:54:44.847248 Identifying ourselves as friends 14:54:44.847308 Response sent (56 bytes) and written to log/19/server.response 14:54:44.847318 special request received, no persistency 14:54:44.847330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33805... * Established connection to 127.0.0.1 (127.0.0.1 port 33805) from 127.0.0.1 port 50646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33805 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33805 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74013 === End of file http_verify.out === Start of file server.cmd Testnum 3104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74013 === End of file server.response === Start of file stderr3104 URL: http://127.0.0.1:33805/3104 === End of file stderr3104 === Start of file valgrind3104 ==174419== ==174419== Process terminating with default action of signal 4 (SIGILL) ==174419== Illegal opcode at address 0x51D42F3 ==174419== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==174419== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==174419== by 0x51D42F3: Curl_open (url.c:551) ==174419== by 0x514CA2F: curl_easy_init (easy.c:372) ==174419== by 0x51C4881: curl_share_init (share.c:50) ==174419== by 0x4048382: test_lib3104.lto_priv.0 (lib3104.c:36) ==174419== by 0x400347F: main (first.c:281) ==174419== 5,408 bytes in 1 blocks are definitely lost in loss record 638 of 640 ==174419== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174419== by 0x51D4243: Curl_open (url.c:530) ==174419== by 0x514CA2F: curl_easy_init (easy.c:372) ==174419== by 0x51C4881: curl_share_init (share.c:50) ==174419== by 0x4048382: test_lib3104.lto_priv.0 (lib3104.c:36) ==174419== by 0x400347F: main (first.c:281) ==174419== === End of file valgrind3104 test 3105...[curl_multi_remove_handle twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3105 ./libtest/libtests lib3105 - > log/22/stdout3105 2> log/22/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/22/ dir after test 3105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3105 ./libtest/libtests lib3105 - > log/22/stdout3105 2> log/22/stderr3105 === End of file commands.log === Start of file server.cmd Testnum 3105 === End of file server.cmd === Start of file stderr3105 URL: - === End of file stderr3105 === Start of file valgrind3105 ==174507== ==174507== Process terminating with default action of signal 4 (SIGILL) ==174507== Illegal opcode at address 0x519C257 ==174507== at 0x519C257: UnknownInlinedFun (string_fortified.h:59) ==174507== by 0x519C257: UnknownInlinedFun (uint-table.c:43) ==174507== by 0x519C257: Curl_multi_handle (multi.c:236) ==174507== by 0x404304E: UnknownInlinedFun (lib3105.c:38) ==174507== by 0x404304E: test_lib3105.lto_priv.0 (lib3105.c:28) ==174507== by 0x400347F: main (first.c:281) ==174507== 656 bytes in 1 blocks are possibly lost in loss record 607 of 639 ==174507== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==174507== by 0x519C1B4: Curl_multi_handle (multi.c:227) ==174507== by 0x404304E: UnknownInlinedFun (lib3105.c:38) ==174507== by 0x404304E: test_lib3105.lto_priv.0 (lib3105.c:28) ==174507== by 0x400347F: main (first.c:281) ==174507== === End of file valgrind3105 test 3205...[cipher suite name lookup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3205 ./unit/units unit3205 - > log/8/stdout3205 2> log/8/stderr3205 -------e-v- OK (1716 out of 1725, remaining: 00:00, took 0.499s, durCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3211 ./unit/units unit3211 - > log/24/stdout3211 2> log/24/stderr3211 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3202 ../src/curl -q --output log/21/curl3202.out --include --trace-ascii log/21/trace3202 --trace-time -g "http://[::1]:40101/3202" --haproxy-clientip "2001:db8::" > log/21/stdout3202 2> log/21/stderr3202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3212 ./unit/units unit3212 - > log/3/stdout3212 2> log/3/stderr3212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3203 ../src/curl -q --trace-ascii log/16/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test3203.dir/ > log/16/stdout3203 2> log/16/stderr3203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3201 ../src/curl -q --output log/9/curl3201.out --include --trace-ascii log/9/trace3201 --trace-time http://127.0.0.1:34345/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/9/stdout3201 2> log/9/stderr3201 ation: 01:55) test 3211...[uint_bset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3211 ./unit/units unit3211 - > log/24/stdout3211 2> log/24/stderr3211 units returned 132, when expecting 0 3211: exit FAILED == Contents of files in the log/24/ dir after test 3211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3211 ./unit/units unit3211 - > log/24/stdout3211 2> log/24/stderr3211 === End of file commands.log === Start of file server.cmd Testnum 3211 === End of file server.cmd === Start of file stderr3211 URL: - test s1, capacity=100, 10 numbers === End of file stderr3211 === Start of file valgrind3211 ==175041== ==175041== Process terminating with default action of signal 4 (SIGILL) ==175041== Illegal opcode at address 0x4021FC5 ==175041== at 0x4021FC5: UnknownInlinedFun (string_fortified.h:59) ==175041== by 0x4021FC5: UnknownInlinedFun (uint-bset.c:109) ==175041== by 0x4021FC5: UnknownInlinedFun (unit3211.c:44) ==175041== by 0x4021FC5: test_unit3211 (unit3211.c:142) ==175041== by 0x400A18F: main (first.c:281) ==175041== 16 bytes in 1 blocks are definitely lost in loss record 2 of 14 ==175041== at 0x4997C13: calloc (vg_replace_malloc.c:1675) ==175041== by 0x4021FA7: UnknownInlinedFun (uint-bset.c:53) ==175041== by 0x4021FA7: UnknownInlinedFun (unit3211.c:40) ==175041== by 0x4021FA7: test_unit3211 (unit3211.c:142) ==175041== by 0x400A18F: main (first.c:281) ==175041== === End of file valgrind3211 test 3202...[HTTP-IPv6 GET with PROXY protocol with spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3202 ../src/curl -q --output log/21/curl3202.out --include --trace-ascii log/21/trace3202 --trace-time -g "http://[::1]:40101/3202" --haproxy-clientip "2001:db8::" > log/21/stdout3202 2> log/21/stderr3202 3202: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 3202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3202 ../src/curl -q --output log/21/curl3202.out --include --trace-ascii log/21/trace3202 --trace-time -g "http://[::1]:40101/3202" --haproxy-clientip "2001:db8::" > log/21/stdout3202 2> log/21/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 14:54:46.291384 ====> Client connect 14:54:46.291423 accept_connection 3 returned 4 14:54:46.291436 accept_connection 3 returned 0 14:54:46.291448 Read 89 bytes 14:54:46.291460 Process 89 bytes request 14:54:46.291471 Got request: GET /verifiedserver HTTP/1.1 14:54:46.291480 Are-we-friendly question received 14:54:46.291500 Wrote request (89 bytes) input to log/21/server.input 14:54:46.291516 Identifying ourselves as friends 14:54:46.291562 Response sent (57 bytes) and written to log/21/server.response 14:54:46.291573 special request received, no persistency 14:54:46.291581 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:40101... * Established connection to ::1 (::1 port 40101) from ::1 port 42766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:40101 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:40101 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 131941 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 3202 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 131941 === End of file server.response === Start of file valgrind3202 ==174678== ==174678== Process terminating with default action of signal 4 (SIGILL) ==174678== Illegal opcode at address 0x4014B6F ==174678== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174678== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174678== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174678== by 0x4004266: main (tool_main.c:199) === End of file valgrind3202 test 3212...[uint_bset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3212 ./unit/units unit3212 - > log/3/stdout3212 2> log/3/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/3/ dir after test 3212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3212 ./unit/units unit3212 - > log/3/stdout3212 2> log/3/stderr3212 === End of file commands.log === Start of file server.cmd Testnum 3212 === End of file server.cmd === Start of file stderr3212 URL: - === End of file stderr3212 === Start of file valgrind3212 ==175107== ==175107== Process terminating with default action of signal 4 (SIGILL) ==175107== Illegal opcode at address 0x40251F5 ==175107== at 0x40251F5: UnknownInlinedFun (string_fortified.h:59) ==175107== by 0x40251F5: UnknownInlinedFun (uint-table.c:43) ==175107== by 0x40251F5: UnknownInlinedFun (unit3212.c:35) ==175107== by 0x40251F5: test_unit3212 (unit3212.c:49) ==175107== by 0x400A18F: main (first.c:281) === End of file valgrind3212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3204 ../src/curl -q --output log/10/curl3204.out --include --trace-ascii log/10/trace3204 --trace-time http://127.0.0.1:35893/3204 --etag-compare log/10/etag3204 --etag-save log/10/etag3204 > log/10/stdout3204 2> log/10/stderr3204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3213 ./unit/units unit3213 - > log/14/stdout3213 2> log/14/stderr3213 test 3203...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3203 ../src/curl -q --trace-ascii log/16/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test3203.dir/ > log/16/stdout3203 2> log/16/stderr3203 3203: stdout FAILED: --- log/16/check-expected 2025-09-11 14:54:46.985531752 +0000 +++ log/16/check-generated 2025-09-11 14:54:46.985531752 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/16/ dir after test 3203 === Start of file check-expected dir-listing-test.txt[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3203 ../src/curl -q --trace-ascii log/16/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test3203.dir/ > log/16/stdout3203 2> log/16/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==174668== ==174668== Process terminating with default action of signal 4 (SIGILL) ==174668== Illegal opcode at address 0x4014B6F ==174668== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174668== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174668== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174668== by 0x4004266: main (tool_main.c:199) === End of file valgrind3203 test 3201...[HTTP GET when PROXY Protocol enabled and spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3201 ../src/curl -q --output log/9/curl3201.out --include --trace-ascii log/9/trace3201 --trace-time http://127.0.0.1:34345/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/9/stdout3201 2> log/9/stderr3201 3201: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 3201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3201 ../src/curl -q --output log/9/curl3201.out --include --trace-ascii log/9/trace3201 --trace-time http://127.0.0.1:34345/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/9/stdout3201 2> log/9/stderr3201 === End of file commands.log === Start of file http_server.log 14:54:46.290708 ====> Client connect 14:54:46.290735 accept_connection 3 returned 4 14:54:46.290748 accept_connection 3 returned 0 14:54:46.290760 Read 93 bytes 14:54:46.290771 Process 93 bytes request 14:54:46.290783 Got request: GET /verifiedserver HTTP/1.1 14:54:46.290792 Are-we-friendly question received 14:54:46.290811 Wrote request (93 bytes) input to log/9/server.input 14:54:46.290826 Identifying ourselves as friends 14:54:46.290876 Response sent (56 bytes) and written to log/9/server.response 14:54:46.290885 special request received, no persistency 14:54:46.290892 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34345... * Established connection to 127.0.0.1 (127.0.0.1 port 34345) from 127.0.0.1 port 54284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34345 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34345 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74228 === End of file http_verify.out === Start of file server.cmd Testnum 3201 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74228 === End of file server.response === Start of file valgrind3201 ==174681== ==174681== Process terminating with default action of signal 4 (SIGILL) ==174681== Illegal opcode at address 0x4014B6F ==174681== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174681== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174681== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174681== by 0x4004266: main (tool_main.c:199) === End of file valgrind3201 test 3204...[Use --etag-compare and --etag-save on an existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3204 ../src/curl -q --output log/10/curl3204.out --include --trace-ascii log/10/trace3204 --trace-time http://127.0.0.1:35893/3204 --etag-compare log/10/etag3204 --etag-save log/10/etag3204 > log/10/stdout3204 2> log/10/stderr3204 3204: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 3204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3204 ../src/curl -q --output log/10/curl3204.out --include --trace-ascii log/10/trace3204 --trace-time http://127.0.0.1:35893/3204 --etag-compare log/10/etag3204 --etag-save log/10/etag3204 > log/10/stdout3204 2> log/10/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 14:54:46.313060 ====> Client connect 14:54:46.313091 accept_connection 3 returned 4 14:54:46.313108 accept_connection 3 returned 0 14:54:46.313236 Read 93 bytes 14:54:46.313258 Process 93 bytes request 14:54:46.313273 Got request: GET /verifiedserver HTTP/1.1 14:54:46.313283 Are-we-friendly question received 14:54:46.313312 Wrote request (93 bytes) input to log/10/server.input 14:54:46.313331 Identifying ourselves as friends 14:54:46.313392 Response sent (56 bytes) and written to log/10/server.response 14:54:46.313405 special request received, no persistency 14:54:46.313415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35893... * Established connection to 127.0.0.1 (127.0.0.1 port 35893) from 127.0.0.1 port 56058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35893 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35893 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74170 === End of file http_verify.out === Start of file server.cmd Testnum 3204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74170 === End of file server.response === Start of file valgrind3204 ==174803== ==174803== Process terminating with default action of signal 4 (SIGILL) ==174803== Illegal opcode at address 0x4014B6F ==174803== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174803== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174803== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174803== by 0x4004266: main (tool_main.c:199) === End of file valgrind3204 test 3213...[uint_spbset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3213 ./unit/units unit3213 - > log/14/stdout3213 2> log/14/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/14/ dir after test 3213 === Start of file commands.log ../libtoolCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3214 ./unit/units unit3214 - > log/2/stdout3214 2> log/2/stderr3214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3209 ../src/curl -q --output log/4/curl3209.out --include --trace-ascii log/4/trace3209 --trace-time imap://127.0.0.1:34035/3209 -T log/4/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/4/stdout3209 2> log/4/stderr3209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3028 ../src/curl -q --output log/13/curl3028.out --include --trace-ascii log/13/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41533/page --proxytunnel -x 127.0.0.1:33243 > log/13/stdout3028 2> log/13/stderr3028 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3213 ./unit/units unit3213 - > log/14/stdout3213 2> log/14/stderr3213 === End of file commands.log === Start of file server.cmd Testnum 3213 === End of file server.cmd === Start of file stderr3213 URL: - test s1, 10 numbers === End of file stderr3213 === Start of file valgrind3213 ==175119== ==175119== Process terminating with default action of signal 4 (SIGILL) ==175119== Illegal opcode at address 0x402A577 ==175119== at 0x402A577: UnknownInlinedFun (string_fortified.h:59) ==175119== by 0x402A577: UnknownInlinedFun (uint-spbset.c:43) ==175119== by 0x402A577: UnknownInlinedFun (unit3213.c:39) ==175119== by 0x402A577: test_unit3213 (unit3213.c:116) ==175119== by 0x400A18F: main (first.c:281) === End of file valgrind3213 test 3214...[struct size checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3214 ./unit/units unit3214 - > log/2/stdout3214 2> log/2/stderr3214 -------e-v- OK (1724 out of 1725, remaining: 00:00, took 0.496s, duration: 01:55) test 3209...[Upload message via IMAP with upload flags] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3209 ../src/curl -q --output log/4/curl3209.out --include --trace-ascii log/4/trace3209 --trace-time imap://127.0.0.1:34035/3209 -T log/4/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/4/stdout3209 2> log/4/stderr3209 3209: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 3209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3209 ../src/curl -q --output log/4/curl3209.out --include --trace-ascii log/4/trace3209 --trace-time imap://127.0.0.1:34035/3209 -T log/4/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/4/stdout3209 2> log/4/stderr3209 === End of file commands.log === Start of file imap_server.log 14:54:46.326843 ====> Client connect 14:54:46.326975 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 14:54:46.327211 < "A001 CAPABILITY" 14:54:46.327238 > "A001 BAD Command[CR][LF]" 14:54:46.327371 < "A002 LIST "verifiedserver" *" 14:54:46.327392 LIST_imap got "verifiedserver" * 14:54:46.327411 > "* LIST () "/" "WE ROOLZ: 117423"[CR][LF]" 14:54:46.327425 > "A002 OK LIST Completed[CR][LF]" 14:54:46.327436 return proof we are we 14:54:46.373914 < "A003 LOGOUT" 14:54:46.373974 > "* BYE curl IMAP server signing off[CR][LF]" 14:54:46.373996 > "A003 OK LOGOUT completed[CR][LF]" 14:54:46.375065 MAIN sockfilt said DISC 14:54:46.375096 ====> Client disconnected 14:54:46.375176 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:46.409551 ====> Client connect 14:54:46.409791 Received DATA (on stdin) 14:54:46.409803 > 178 bytes data, server => client 14:54:46.409813 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 14:54:46.409823 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 14:54:46.409831 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 14:54:46.409839 'rve\r\n' 14:54:46.409901 < 17 bytes data, client => server 14:54:46.409912 'A001 CAPABILITY\r\n' 14:54:46.410045 Received DATA (on stdin) 14:54:46.410055 > 18 bytes data, server => client 14:54:46.410064 'A001 BAD Command\r\n' 14:54:46.410108 < 30 bytes data, client => server 14:54:46.410117 'A002 LIST "verifiedserver" *\r\n' 14:54:46.410240 Received DATA (on stdin) 14:54:46.410250 > 34 bytes data, server => client 14:54:46.410259 '* LIST () "/" "WE ROOLZ: 117423"\r\n' 14:54:46.410275 Received DATA (on stdin) 14:54:46.410284 > 24 bytes data, server => client 14:54:46.410293 'A002 OK LIST Completed\r\n' 14:54:46.456472 < 13 bytes data, client => server 14:54:46.456512 'A003 LOGOUT\r\n' 14:54:46.456809 Received DATA (on stdin) 14:54:46.456824 > 36 bytes data, server => client 14:54:46.456838 '* BYE curl IMAP server signing off\r\n' 14:54:46.456863 Received DATA (on stdin) 14:54:46.456876 > 26 bytes data, server => client 14:54:46.456889 'A003 OK LOGOUT completed\r\n' 14:54:46.457821 ====> Client disconnect 14:54:46.457991 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3209 === End of file server.cmd === Start of file upload3209 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload3209 === Start of file valgrind3209 ==174956== ==174956== Process terminating with default action of signal 4 (SIGILL) ==174956== Illegal opcode at address 0x4014B6F ==174956== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==174956== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==174956== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==174956== by 0x4004266: main (tool_main.c:199) === End of file valgrind3209 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/13/server/http2_server.pid" --logfile "log/13/http2_server.log" --logdir "log/13" --portfile log/13/server/http2_server.port --config log/13/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 173876 port 33243 * pid http-proxy => 173876 173876 test 3028...[HTTP GET when PROXY Protocol enabled behind a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3028 ../src/curl -q --output log/13/curl3028.out --include --trace-ascii log/13/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41533/page --proxytunnel -x 127.0.0.1:33243 > log/13/stdout3028 2> log/13/stderr3028 3028: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 3028 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3028 ../src/curl -q --output log/13/curl3028.out --include --trace-ascii log/13/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41533/page --proxytunnel -x 127.0.0.1:33243 > log/13/stdout3028 2> log/13/stderr3028 === End of file commands.log === Start of file http2_server.log 14:54:45.507668 Run as proxy, CONNECT to host 127.0.0.1 14:54:45.507793 Running HTTP IPv4 version on port 33243 14:54:45.507833 Wrote pid 173876 to log/13/server/http2_server.pid 14:54:45.507862 Wrote port 33243 to log/13/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 14:54:45.485165 ====> Client connect 14:54:45.485201 accept_connection 3 returned 4 14:54:45.485218 accept_connection 3 returned 0 14:54:45.485233 Read 93 bytes 14:54:45.485244 Process 93 bytes request 14:54:45.485258 Got request: GET /verifiedserver HTTP/1.1 14:54:45.485269 Are-we-friendly question received 14:54:45.485294 Wrote request (93 bytes) input to log/13/server.input 14:54:45.485312 Identifying ourselves as frienCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3215 ../src/curl -q --output log/12/curl3215.out --include --trace-ascii log/12/trace3215 --trace-time smtp://127.0.0.1:35737/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/12/stdout3215 2> log/12/stderr3215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:36183/3100 > log/1/stdout3100 2> log/1/stderr3100 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3026 ./libtest/libtests lib3026 - > log/17/stdout3026 2> log/17/stderr3026 ds 14:54:45.485365 Response sent (56 bytes) and written to log/13/server.response 14:54:45.485376 special request received, no persistency 14:54:45.485386 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41533... * Established connection to 127.0.0.1 (127.0.0.1 port 41533) from 127.0.0.1 port 34022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41533 > User-Agent: curl/8.16.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41533 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74068 === End of file http_verify.out === Start of file server.cmd Testnum 3028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74068 === End of file server.response === Start of file valgrind3028 ==175000== ==175000== Process terminating with default action of signal 4 (SIGILL) ==175000== Illegal opcode at address 0x4014B6F ==175000== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==175000== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==175000== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==175000== by 0x4004266: main (tool_main.c:199) === End of file valgrind3028 test 3215...[SMTP DSN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3215 ../src/curl -q --output log/12/curl3215.out --include --trace-ascii log/12/trace3215 --trace-time smtp://127.0.0.1:35737/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/12/stdout3215 2> log/12/stderr3215 3215: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 3215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3215 ../src/curl -q --output log/12/curl3215.out --include --trace-ascii log/12/trace3215 --trace-time smtp://127.0.0.1:35737/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/12/stdout3215 2> log/12/stderr3215 === End of file commands.log === Start of file server.cmd REPLY MAIL 250 Ok REPLY RCPT 250 Ok Testnum 3215 === End of file server.cmd === Start of file smtp_server.log 14:54:46.587731 ====> Client connect 14:54:46.588235 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 14:54:46.588868 < "EHLO verifiedserver" 14:54:46.588927 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 14:54:46.589143 < "HELP" 14:54:46.589196 > "214 WE ROOLZ: 123096[CR][LF]" 14:54:46.589213 return proof we are we 14:54:46.589431 < "QUIT" 14:54:46.589462 > "221 curl ESMTP server signing off[CR][LF]" 14:54:46.589643 MAIN sockfilt said DISC 14:54:46.589671 ====> Client disconnected 14:54:46.589848 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 14:54:46.670445 ====> Client connect 14:54:46.670734 Received DATA (on stdin) 14:54:46.670824 > 160 bytes data, server => client 14:54:46.670910 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 14:54:46.670938 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 14:54:46.670960 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 14:54:46.671089 < 21 bytes data, client => server 14:54:46.671117 'EHLO verifiedserver\r\n' 14:54:46.671744 Received DATA (on stdin) 14:54:46.671762 > 53 bytes data, server => client 14:54:46.671775 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 14:54:46.671850 < 6 bytes data, client => server 14:54:46.671863 'HELP\r\n' 14:54:46.672028 Received DATA (on stdin) 14:54:46.672041 > 22 bytes data, server => client 14:54:46.672053 '214 WE ROOLZ: 123096\r\n' 14:54:46.672150 < 6 bytes data, client => server 14:54:46.672163 'QUIT\r\n' 14:54:46.672253 Received DATA (on stdin) 14:54:46.672264 > 35 bytes data, server => client 14:54:46.672276 '221 curl ESMTP server signing off\r\n' 14:54:46.672401 ====> Client disconnect 14:54:46.672490 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3215 From: different To: another body === End of file stdin-for-3215 === Start of file valgrind3215 ==175230== ==175230== Process terminating with default action of signal 4 (SIGILL) ==175230== Illegal opcode at address 0x4014B6F ==175230== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==175230== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==175230== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==175230== by 0x4004266: main (tool_main.c:199) === End of file valgrind3215 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/1/server/rtsp_server.pid" --portfile "log/1/server/rtsp_server.port" --logfile "log/1/rtsp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 174219 port 36183 * pid rtsp => 174219 174219 test 3100...[RTSP Authentication check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:36183/3100 > log/1/stdout3100 2> log/1/stderr3100 3100: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 3100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:36183/3100 > log/1/stdout3100 2> log/1/stderr3100 === End of file commands.log === Start of file rtsp_server.log 14:54:45.788209 Running IPv4 version on port 36183 14:54:45.788301 Wrote pid 174219 to log/1/server/rtsp_server.pid 14:54:45.788337 Wrote port 36183 to log/1/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 3100 === End of file server.cmd === Start of file stderr3100 URL: rtsp://127.0.0.1:36183/3100 === End of file stderr3100 === Start of file valgrind3100 ==175298== ==175298== Process terminating with default action of signal 4 (SIGILL) ==175298== Illegal opcode at address 0x51D42F3 ==175298== at 0x51D42F3: UnknownInlinedFun (string_fortified.h:59) ==175298== by 0x51D42F3: UnknownInlinedFun (request.c:46) ==175298== by 0x51D42F3: Curl_open (url.c:551) ==175298== by 0x514CA2F: curl_easy_init (easy.c:372) ==175298== by 0x404228A: test_lib3100.lto_priv.0 (lib3100.c:38) ==175298== by 0x400347F: main (first.c:281) ==175298== 5,408 bytes in 1 blocks are definitely lost in loss record 637 of 639 ==175298== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175298== by 0x51D4243: Curl_open (url.c:530) ==175298== by 0x514CA2F: curl_easy_init (easy.c:372) ==175298== by 0x404228A: test_lib3100.lto_priv.0 (lib3100.c:38) ==175298== by 0x400347F: main (first.c:281) ==175298== === End of file valgrind3100 test 3026...[curl_global_init thread-safety] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3026 ./libtest/libtests lib3026 - > log/17/stdout3026 2> log/17/stderr3026 -------e-v- OK (1696 out of 1725, remaining: 00:01, took 2.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3210 ../src/curl -q --output log/7/curl3210.out --include --trace-ascii log/7/trace3210 --trace-time imap://127.0.0.1:45295/3210 -T log/7/upload3210 -u user:secret --upload-flags -seen > log/7/stdout3210 2> log/7/stderr3210 * kill pid for ftp-ctrl => 163633 * kill pid for ftp-ctrl => 80289 * kill pid for ftp-ctrl => 91723 * kill pid for ftp-ctrl => 80204 * kill pid for ftp-ctrl => 136263 * kill pid for ftp-ctrl => 80237 * kill pid for ftp-ctrl => 80895 * kill pid for ftp-ctrl => 80347 * kill pid for ftp-ctrl => 80264 * kill pid for ftp-ctrl => 80265 * kill pid for ftp-ctrl => 80273 * kill pid for ftp-ctrl => 80282 * kill pid for ftp-ctrl => 80283 * kill pid for ftp-ctrl => 80344 * kill pid for ftp-ctrl => 80251 * kill pid for ftp-ctrl => 80343 * kill pid for ftp-ctrl => 80272 * kill pid for ftp-ctrl => 80238 * kill pid for ftp-ctrl => 80274 * kill pid for ftp-ctrl => 80250 * kill pid for ftp-ctrl => 80112 * kill pid for ftp-ctrl => 80271 * kill pid for ftp-ctrl => 80396 * kill pid for ftp-ctrl => 80260 * kill pid for imap-filt => 111052 * kill pid for imap-filt => 119574 * kill pid for imap-filt => 175048 * kill pid for ftp-ipv6-ctrl => 89844 * kill pid for ftp-ipv6-ctrl => 89857 * kill pid for ftp-ipv6-ctrl => 131827 * kill pid for imap-filt => 117526 * kill pid for imap-filt => 117290 * kill pid for imap-filt => 117242 * kill pid for pop3-filt => 101718 * kill pid for ftp-ipv6-ctrl => 131682 * kill pid for smtp-filt => 109312 * kill pid for imap-filt => 117399 * kill pid for imap-filt => 109822 * kill pid for ftp-ipv6-ctrl => 89839 * kill pid for ftp-ipv6-ctrl => 89802 * kill pid for imap-filt => 117309 * kill pid for imap-filt => 117286 * kill pid for pop3-filt => 120317 * kill pid for imap-filt => 117274 * kill pid for imap-filt => 117287 RUN: Process with pid 74170 signalled to die * kill pid for imap-filt => 109364 RUN: Process with pid 80280 signalled to die RUN: Process with pid 101647 signalled to die RUN: Process with pid 109299 signalled to die RUN: Process with pid 111033 signalled to die RUN: Process with pid 114035 signalled to die RUN: Process with pid 131509 signalled to die RUN: Process with pid 140193 signalled to die * kill pid for pop3-filt => 121467 * kill pid for pop3-filt => 120192 * kill pid for smtp-filt => 122856 RUN: Process with pid 80255 signalled to die RUN: Process with pid 112724 signalled to die RUN: Process with pid 117283 signalled to die RUN: Process with pid 120186 signalled to die RUN: Process with pid 122806 signalled to die RUN: Process with pid 140167 signalled to die RUN: Process with pid 162933 signalled to die * kill pid for imap-filt => 117456 * kill pid for pop3-filt => 120224 * kill pid for smtp-filt => 122984 RUN: Process with pid 74344 signalled to die RUN: Process with pid 79908 signalled to die RUN: Process with pid 80848 signalled to die RUN: Process with pid 93769 signalled to die RUN: Process with pid 112838 signalled to die RUN: Process with pid 117423 signalled to die RUN: Process with pid 120217 signalled to die RUN: Process with pid 122955 signalled to die RUN: Process with pid 140195 signalled to die RUN: Process with pid 171713 signalled to die * kill pid for imap-filt => 117527 * kill pid for imap-filt => 117357 * kill pid for pop3-filt => 122174 * kill pid for pop3-filt => 120669 * kill pid for imap-filt => 117398 * kill pid for imap-filt => 117359 * kill pid for smtp-filt => 109500 RUN: Process with pid 74544 signalled to die RUN: Process with pid 80194 signalled to die RUN: Process with pid 109499 signalled to die RUN: Process with pid 112363 signalled to die RUN: Process with pid 121450 signalled to die RUN: Process with pid 167981 signalled to die RUN: Process with pid 174219 signalled to die * kill pid for imap-filt => 117521 * kill pid for pop3-filt => 120191 * kill pid for pop3-filt => 120188 * kill pid for smtp-filt => 123297 RUN: Process with pid 74019 signalled to die RUN: Process with pid 80387 signalled to die RUN: Process with pid 89231 signalled to die RUN: Process with pid 109363 signalled to die RUN: Process with pid 112798 signalled to die RUN: Process with pid 120180 signalled to die RUN: Process with pid 123239 signalled to die RUN: Process with pid 142902 signalled to die RUN: Process with pid 166579 signalled to die * kill pid for smtp-filt => 123770 * kill pid for smtp-filt => 122828 * kill pid for pop3-filt => 120298 * kill pid for imap-filt => 117240 * kill pid for pop3-filt => 120232 * kill pid for pop3-filt => 120293 * kill pid for imap-filt => 117520 * kill pid for pop3-filt => 120271 * kill pid for smtp-filt => 123224 RUN: Process with pid 74119 signalled to die RUN: Process with pid 80346 signalled to die RUN: Process with pid 91659 signalled to die RUN: Process with pid 117518 signalled to die RUN: Process with pid 120240 signalled to die RUN: Process with pid 123219 signalled to die RUN: Process with pid 131822 signalled to die RUN: Process with pid 159706 signalled to die * kill pid for pop3-filt => 120225 * kill pid for pop3-filt => 121829 * kill pid for pop3-filt => 120289 * kill pid for smtp-filt => 123214 * kill pid for smtp-filt => 123223 RUN: Process with pid 74012 signalled to die RUN: Process with pid 78969 signalled to die RUN: Process with pid 80341 signalled to die RUN: Process with pid 107165 signalled to die RUN: Process with pid 112631 signalled to die RUN: Process with pid 117171 signalled to die RUN: Process with pid 120315 signalled to die RUN: Process with pid 123218 signalled to die RUN: Process with pid 154571 signalled to die * kill pid for pop3-filt => 120226 * kill pid for pop3-filt => 120288 * kill pid for pop3-filt => 120206 RUN: Process with pid 79088 signalled to die RUN: Process with pid 80342 signalled to die RUN: Process with pid 89256 signalled to die RUN: Process with pid 91764 signalled to die * kill pid for smtp-filt => 122941 RUN: Process with pid 112741 signalled to die RUN: Process with pid 117284 signalled to die RUN: Process with pid 120183 signalled to die RUN: Process with pid 122773 signalled to die RUN: Process with pid 139946 signalled to die RUN: Process with pid 157920 signalled to die RUN: Process with pid 74011 signalled to die RUN: Process with pid 80269 signalled to die RUN: Process with pid 91329 signalled to die RUN: Process with pid 112629 signalled to die RUN: Process with pid 117522 signalled to die RUN: Process with pid 120247 signalled to die RUN: Process with pid 123195 signalled to die RUN: Process with pid 131941 signalled to die RUN: Process with pid 134993 signalled to die RUN: Process with pid 140192 signalled to die * kill pid for pop3-filt => 120318 RUN: Process with pid 74329 signalled to die RUN: Process with pid 80245 signalled to die RUN: Process with pid 90914 signalled to die RUN: Process with pid 107166 signalled to die RUN: Process with pid 112721 signalled to die RUN: Process with pid 122154 signalled to die RUN: Process with pid 123708 signalled to die RUN: Process with pid 171747 signalled to die RUN: Process with pid 174986 signalled to die * kill pid for smtp-filt => 122950 RUN: Process with pid 80241 signalled to die RUN: Process with pid 81600 signalled to die RUN: Process with pid 107068 signalled to die RUN: Process with pid 112315 signalled to die RUN: Process with pid 117319 signalled to die RUN: Process with pid 120219 signalled to die RUN: Process with pid 122942 signalled to die RUN: Process with pid 139969 signalled to die RUN: Process with pid 142331 signalled to die RUN: Process with pid 143636 signalled to die RUN: Process with pid 154642 signalled to die * kill pid for pop3-filt => 120237 * kill pid for smtp-filt => 122973 * kill pid for smtp-filt => 123216 RUN: Process with pid 74013 signalled to die RUN: Process with pid 89805 signalled to die RUN: Process with pid 109672 signalled to die RUN: Process with pid 112742 signalled to die RUN: Process with pid 120296 signalled to die RUN: Process with pid 123208 signalled to die RUN: Process with pid 163546 signalled to die * kill pid for pop3-filt => 120205 RUN: Process with pid 76073 signalled to die RUN: Process with pid 80287 signalled to die RUN: Process with pid 107326 signalled to die RUN: Process with pid 119568 signalled to die RUN: Process with pid 120663 signalled to die RUN: Process with pid 122954 signalled to die RUN: Process with pid 140246 signalled to die RUN: Process with pid 144588 signalled to die RUN: Process with pid 147344 signalled to die RUN: Process with pid 156193 signalled to die RUN: Process with pid 168051 signalled to die * kill pid for smtp-filt => 123523 RUN: Process with pid 74010 signalled to die RUN: Process with pid 80268 signalled to die RUN: Process with pid 89803 signalled to die RUN: Process with pid 112723 signalled to die RUN: Process with pid 121759 signalled to die RUN: Process with pid 123520 signalled to die RUN: Process with pid 134161 signalled to die RUN: Process with pid 171763 signalled to die * kill pid for smtp-filt => 123020 * kill pid for smtp-filt => 109367 * kill pid for smtp-filt => 123115 RUN: Process with pid 74117 signalled to die RUN: Process with pid 80195 signalled to die RUN: Process with pid 91736 signalled to die RUN: Process with pid 112745 signalled to die RUN: Process with pid 117371 signalled to die RUN: Process with pid 120235 signalled to die RUN: Process with pid 123096 signalled to die RUN: Process with pid 140205 signalled to die * kill pid for smtp-filt => 109385 RUN: Process with pid 74015 signalled to die RUN: Process with pid 89189 signalled to die RUN: Process with pid 91632 signalled to die RUN: Process with pid 109366 signalled to die RUN: Process with pid 112311 signalled to die RUN: Process with pid 117378 signalled to die RUN: Process with pid 120222 signalled to die RUN: Process with pid 145712 signalled to die RUN: Process with pid 80281 signalled to die RUN: Process with pid 109365 signalled to die RUN: Process with pid 117524 signalled to die RUN: Process with pid 120243 signalled to die RUN: Process with pid 139877 signalled to die RUN: Process with pid 147064 signalled to die * kill pid for smtp-filt => 123217 RUN: Process with pid 74068 signalled to die RUN: Process with pid 80108 signalled to die RUN: Process with pid 90345 signalled to die RUN: Process with pid 112799 signalled to die RUN: Process with pid 117314 signalled to die RUN: Process with pid 120218 signalled to die RUN: Process with pid 123000 signalled to die RUN: Process with pid 140171 signalled to die RUN: Process with pid 173876 signalled to die * kill pid for smtp-filt => 123225 * kill pid for pop3-filt => 120185 * kill pid for smtp-filt => 122940 * kill pid for pop3-filt => 120297 * kill pid for smtp-filt => 123213 RUN: Process with pid 74228 signalled to die RUN: Process with pid 80262 signalled to die RUN: Process with pid 89754 signalled to die RUN: Process with pid 112632 signalled to die RUN: Process with pid 117181 signalled to die RUN: Process with pid 120294 signalled to die RUN: Process with pid 123193 signalled to die RUN: Process with pid 147404 signalled to die RUN: Process with pid 159714 signalled to die RUN: Process with pid 74017 signalled to die RUN: Process with pid 80266 signalled to die RUN: Process with pid 103138 signalled to die RUN: Process with pid 120203 signalled to die RUN: Process with pid 122938 signalled to die RUN: Process with pid 131578 signalled to die RUN: Process with pid 140170 signalled to die RUN: Process with pid 142889 signalled to die RUN: Process with pid 155637 signalled to die RUN: Process with pid 74279 signalled to die RUN: Process with pid 80267 signalled to die RUN: Process with pid 107158 signalled to die RUN: Process with pid 112566 signalled to die RUN: Process with pid 117227 signalled to die RUN: Process with pid 120316 signalled to die RUN: Process with pid 123220 signalled to die RUN: Process with pid 147525 signalled to die * kill pid for smtp-filt => 122921 RUN: Process with pid 74490 signalled to die RUN: Process with pid 107153 signalled to die RUN: Process with pid 112715 signalled to die RUN: Process with pid 115099 signalled to die RUN: Process with pid 117293 signalled to die RUN: Process with pid 120201 signalled to die RUN: Process with pid 122939 signalled to die RUN: Process with pid 136171 signalled to die RUN: Process with pid 152959 signalled to die RUN: Process with pid 74016 signalled to die RUN: Process with pid 80177 signalled to die RUN: Process with pid 107154 signalled to die RUN: Process with pid 112414 signalled to die RUN: Process with pid 117519 signalled to die RUN: Process with pid 120241 signalled to die RUN: Process with pid 123210 signalled to die RUN: Process with pid 140247 signalled to die RUN: Process with pid 171432 signalled to die RUN: Process with pid 74008 signalled to die RUN: Process with pid 80263 signalled to die RUN: Process with pid 89804 signalled to die RUN: Process with pid 112726 signalled to die RUN: Process with pid 117279 signalled to die RUN: Process with pid 120167 signalled to die RUN: Process with pid 122841 signalled to die RUN: Process with pid 139921 signalled to die RUN: Process with pid 146231 signalled to die RUN: Process with pid 156188 signalled to die RUN: Process with pid 109363 gracefully died RUN: Process with pid 80346 gracefully died RUN: Process with pid 80342 gracefully died RUN: Process with pid 80269 gracefully died RUN: Process with pid 80245 gracefully died RUN: Process with pid 80241 gracefully died RUN: Process with pid 89805 gracefully died RUN: Process with pid 80287 gracefully died RUN: Process with pid 80268 gracefully died RUN: Process with pid 80195 gracefully died RUN: Process with pid 91632 gracefully died RUN: Process with pid 80281 gracefully died RUN: Process with pid 80108 gracefully died RUN: Process with pid 80262 gracefully died RUN: Process with pid 80266 gracefully died RUN: Process with pid 80267 gracefully died RUN: Process with pid 117293 gracefully died RUN: Process with pid 80177 gracefully died RUN: Process with pid 80263 gracefully died RUN: Process with pid 74170 gracefully died RUN: Process with pid 80255 gracefully died RUN: Process with pid 74344 gracefully died RUN: Process with pid 74544 gracefully died RUN: Process with pid 74019 gracefully died RUN: Process with pid 74119 gracefully died RUN: Process with pid 74012 gracefully died RUN: Process with pid 79088 gracefully died RUN: Process with pid 74011 gracefully died RUN: Process with pid 74329 gracefully died RUN: Process with pid 81600 gracefully died RUN: Process with pid 74013 gracefully died RUN: Process with pid 76073 gracefully died RUN: Process with pid 74010 gracefully died RUN: Process with pid 74117 gracefully died RUN: Process with pid 74015 gracefully died RUN: Process with pid 109365 gracefully died RUN: Process with pid 74068 gracefully died RUN: Process with pid 74228 gracefully died RUN: Process with pid 74017 gracefully died RUN: Process with pid 74279 gracefully died RUN: Process with pid 74490 gracefully died RUN: Process with pid 74016 gracefully died RUN: Process with pid 74008 gracefully died RUN: Process with pid 80280 gracefully died RUN: Process with pid 112724 gracefully died RUN: Process with pid 79908 gracefully died RUN: Process with pid 80194 gracefully died RUN: Process with pid 80387 gracefully died RUN: Process with pid 117518 gracefully died RUN: Process with pid 78969 gracefully died RUN: Process with pid 89256 gracefully died RUN: Process with pid 91329 gracefully died RUN: Process with pid 112721 gracefully died RUN: Process with pid 112315 gracefully died RUN: Process with pid 109672 gracefully died RUN: Process with pid 119568 gracefully died RUN: Process with pid 89803 gracefully died RUN: Process with pid 112745 gracefully died RUN: Process with pid 89189 gracefully died RUN: Process with pid 117524 gracefully died RUN: Process with pid 90345 gracefully died RUN: Process with pid 89754 gracefully died RUN: Process with pid 103138 gracefully died RUN: Process with pid 112566 gracefully died RUN: Process with pid 112715 gracefully died RUN: Process with pid 112414 gracefully died RUN: Process with pid 89804 gracefully died RUN: Process with pid 101647 gracefully died RUN: Process with pid 117283 gracefully died RUN: Process with pid 80848 gracefully died RUN: Process with pid 109499 gracefully died RUN: Process with pid 89231 gracefully died RUN: Process with pid 120240 gracefully died RUN: Process with pid 80341 gracefully died RUN: Process with pid 112741 gracefully died RUN: Process with pid 112629 gracefully died RUN: Process with pid 122154 gracefully died RUN: Process with pid 117319 gracefully died RUN: Process with pid 112742 gracefully died RUN: Process with pid 120663 gracefully died RUN: Process with pid 112723 gracefully died RUN: Process with pid 117371 gracefully died RUN: Process with pid 109366 gracefully died RUN: Process with pid 120243 gracefully died RUN: Process with pid 112799 gracefully died RUN: Process with pid 112632 gracefully died RUN: Process with pid 120203 gracefully died RUN: Process with pid 117227 gracefully died RUN: Process with pid 115099 gracefully died RUN: Process with pid 117519 gracefully died RUN: Process with pid 112726 gracefully died RUN: Process with pid 109299 gracefully died RUN: Process with pid 120186 gracefully died RUN: Process with pid 112838 gracefully died RUN: Process with pid 112363 gracefully died RUN: Process with pid 112798 gracefully died RUN: Process with pid 123219 gracefully died RUN: Process with pid 112631 gracefully died RUN: Process with pid 117284 gracefully died RUN: Process with pid 117522 gracefully died RUN: Process with pid 123708 gracefully died RUN: Process with pid 120219 gracefully died RUN: Process with pid 120296 gracefully died RUN: Process with pid 122954 gracefully died RUN: Process with pid 121759 gracefully died RUN: Process with pid 120235 gracefully died RUN: Process with pid 112311 gracefully died RUN: Process with pid 139877 gracefully died RUN: Process with pid 117314 gracefully died RUN: Process with pid 117181 gracefully died RUN: Process with pid 122938 gracefully died RUN: Process with pid 120316 gracefully died RUN: Process with pid 120201 gracefully died RUN: Process with pid 120241 gracefully died RUN: Process with pid 117279 gracefully died RUN: Process with pid 111033 gracefully died RUN: Process with pid 122806 gracefully died RUN: Process with pid 117423 gracefully died RUN: Process with pid 121450 gracefully died RUN: Process with pid 120180 gracefully died RUN: Process with pid 131822 gracefully died RUN: Process with pid 117171 gracefully died RUN: Process with pid 120183 gracefully died RUN: Process with pid 120247 gracefully died RUN: Process with pid 171747 gracefully died RUN: Process with pid 122942 gracefully died RUN: Process with pid 123208 gracefully died RUN: Process with pid 140246 gracefully died RUN: Process with pid 123520 gracefully died RUN: Process with pid 123096 gracefully died RUN: Process with pid 117378 gracefully died RUN: Process with pid 147064 gracefully died RUN: Process with pid 120218 gracefully died RUN: Process with pid 120294 gracefully died RUN: Process with pid 131578 gracefully died RUN: Process with pid 123220 gracefully died RUN: Process with pid 122939 gracefully died RUN: Process with pid 123210 gracefully died RUN: Process with pid 120167 gracefully died RUN: Process with pid 114035 gracefully died RUN: Process with pid 140167 gracefully died RUN: Process with pid 120217 gracefully died RUN: Process with pid 123239 gracefully died RUN: Process with pid 159706 gracefully died RUN: Process with pid 120315 gracefully died RUN: Process with pid 122773 gracefully died RUN: Process with pid 123195 gracefully died RUN: Process with pid 174986 gracefully died RUN: Process with pid 139969 gracefully died RUN: Process with pid 163546 gracefully died RUN: Process with pid 144588 gracefully died RUN: Process with pid 134161 gracefully died RUN: Process with pid 140205 gracefully died RUN: Process with pid 120222 gracefully died RUN: Process with pid 123000 gracefully died RUN: Process with pid 123193 gracefully died RUN: Process with pid 140170 gracefully died RUN: Process with pid 147525 gracefully died RUN: Process with pid 136171 gracefully died RUN: Process with pid 140247 gracefully died RUN: Process with pid 122841 gracefully died RUN: Process with pid 131509 gracefully died RUN: Process with pid 162933 gracefully died RUN: Process with pid 122955 gracefully died RUN: Process with pid 166579 gracefully died RUN: Process with pid 123218 gracefully died RUN: Process with pid 139946 gracefully died RUN: Process with pid 131941 gracefully died RUN: Process with pid 142331 gracefully died RUN: Process with pid 147344 gracefully died RUN: Process with pid 171763 gracefully died RUN: Process with pid 145712 gracefully died RUN: Process with pid 140171 gracefully died RUN: Process with pid 147404 gracefully died RUN: Process with pid 155637 gracefully died RUN: Process with pid 152959 gracefully died RUN: Process with pid 171432 gracefully died RUN: Process with pid 139921 gracefully died RUN: Process with pid 140193 gracefully died RUN: Process with pid 140195 gracefully died RUN: Process with pid 154571 gracefully died RUN: Process with pid 157920 gracefully died RUN: Process with pid 140192 gracefully died RUN: Process with pid 143636 gracefully died RUN: Process with pid 156193 gracefully died RUN: Process with pid 173876 gracefully died RUN: Process with pid 159714 gracefully died RUN: Process with pid 146231 gracefully died RUN: Process with pid 171713 gracefully died RUN: Process with pid 154642 gracefully died RUN: Process with pid 156188 gracefully died RUN: Process with pid 93769 forced to die with SIGKILL RUN: Process with pid 167981 forced to die with SIGKILL RUN: Process with pid 174219 forced to die with SIGKILL RUN: Process with pid 142902 forced to die with SIGKILL RUN: Process with pid 91659 forced to die with SIGKILL RUN: Process with pid 107165 forced to die with SIGKILL RUN: Process with pid 91764 forced to die with SIGKILL RUN: Process with pid 134993 forced to die with SIGKILL RUN: Process with pid 90914 forced to die with SIGKILL RUN: Process with pid 107166 forced to die with SIGKILL RUN: Process with pid 107068 forced to die with SIGKILL RUN: Process with pid 107326 forced to die with SIGKILL RUN: Process with pid 168051 forced to die with SIGKILL RUN: Process with pid 91736 forced to die with SIGKILL RUN: Process with pid 142889 forced to die with SIGKILL RUN: Process with pid 107158 forced to die with SIGKILL RUN: Process with pid 107153 forced to die with SIGKILL RUN: Process with pid 107154 forced to die with SIGKILL 244s, duration: 01:56) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/imap_server.pid" --logfile "log/7/imap_server.log" --logdir "log/7" --portfile "log/7/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45295 (log/7/server/imap_server.port) RUN: IMAP server is PID 174986 port 45295 * pid imap => 174986 174986 test 3210...[Upload message unread via IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3210 ../src/curl -q --output log/7/curl3210.out --include --trace-ascii log/7/trace3210 --trace-time imap://127.0.0.1:45295/3210 -T log/7/upload3210 -u user:secret --upload-flags -seen > log/7/stdout3210 2> log/7/stderr3210 3210: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 3210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3210 ../src/curl -q --output log/7/curl3210.out --include --trace-ascii log/7/trace3210 --trace-time imap://127.0.0.1:45295/3210 -T log/7/upload3210 -u user:secret --upload-flags -seen > log/7/stdout3210 2> log/7/stderr3210 === End of file commands.log === Start of file imap_server.log 14:54:46.446182 IMAP server listens on port IPv4/45295 14:54:46.446306 logged pid 174986 in log/7/server/imap_server.pid 14:54:46.446335 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 14:54:46.528640 Running IPv4 version 14:54:46.528716 Listening on port 45295 14:54:46.528841 Wrote pid 175048 to log/7/server/imap_sockfilt.pid 14:54:46.528875 Wrote port 45295 to log/7/server/imap_server.port 14:54:46.528899 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3210 === End of file server.cmd === Start of file upload3210 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. === End of file upload3210 === Start of file valgrind3210 ==175429== ==175429== Process terminating with default action of signal 4 (SIGILL) ==175429== Illegal opcode at address 0x4014B6F ==175429== at 0x4014B6F: getparameter (tool_getparam.c:2830) ==175429== by 0x4004266: UnknownInlinedFun (tool_getparam.c:3017) ==175429== by 0x4004266: UnknownInlinedFun (tool_operate.c:2160) ==175429== by 0x4004266: main (tool_main.c:199) === End of file valgrind3210 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 39131 --port2 40829 --nghttpx "nghttpx" --pidfile "log/5/server/http_v2_server.pid" --logfile "log/5/http_v2_server.log" --logdir "log/5" --connect 127.0.0.1:45345 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 41081 --port2 34285 --nghttpx "nghttpx" --pidfile "log/23/server/http_v2_server.pid" --logfile "log/23/http_v2_server.log" --logdir "log/23" --connect 127.0.0.1:38851 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 45411 --port2 43073 --nghttpx "nghttpx" --pidfile "log/11/server/http_v2_server.pid" --logfile "log/11/http_v2_server.log" --logdir "log/11" --connect 127.0.0.1:33503 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 38601 --port2 45591 --nghttpx "nghttpx" --pidfile "log/15/server/http_v2_server.pid" --logfile "log/15/http_v2_server.log" --logdir "log/15" --connect 127.0.0.1:42107 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http3-server.pl --port 37831 --nghttpx "nghttpx" --pidfile "log/20/server/http_v3_server.pid" --logfile "log/20/http_v3_server.log" --logdir "log/20" --connect 127.0.0.1:39569 startnew: child process has died, server might start up RUN: failed to start the HTTP/3 server test 2502 SKIPPED: failed starting HTTP/3 server * kill pid for http => 157920 * kill pid for http-ipv6 => 89256 * kill pid for http-proxy => 79088 * kill pid for pop3 => 120183 * kill pid for imap => 117284 * kill pid for ftp => 80342 * kill pid for tftp => 91764 * kill pid for smtp => 122773 * kill pid for socks => 112741 * kill pid for mqtt => 139946 * kill pid for socks => 112363 * kill pid for ftp => 80194 * kill pid for pop3 => 121450 * kill pid for smtp => 109499 * kill pid for tftp => 167981 * kill pid for rtsp => 174219 * kill pid for http => 74544 * kill pid for http => 74013 * kill pid for socks => 112742 * kill pid for ftp => 163546 * kill pid for imap => 109672 * kill pid for ftp-ipv6 => 89805 * kill pid for pop3 => 120296 * kill pid for smtp => 123208 * kill pid for http => 74329 * kill pid for socks => 112721 * kill pid for mqtt => 171747 * kill pid for imap => 174986 * kill pid for ftp => 80245 * kill pid for pop3 => 122154 * kill pid for smtp => 123708 * kill pid for tftp => 90914 * kill pid for rtsp => 107166 * kill pid for socks => 112414 * kill pid for mqtt => 171432 * kill pid for ftp => 80177 * kill pid for imap => 117519 * kill pid for gopher-ipv6 => 140247 * kill pid for pop3 => 120241 * kill pid for smtp => 123210 * kill pid for rtsp => 107154 * kill pid for http => 74016 * kill pid for http => 74017 * kill pid for http-ipv6 => 155637 * kill pid for http-proxy => 103138 * kill pid for smtp => 122938 * kill pid for tftp => 142889 * kill pid for ftp => 80266 * kill pid for ftp-ipv6 => 131578 * kill pid for pop3 => 120203 * kill pid for mqtt => 140170 * kill pid for http => 74490 * kill pid for http-ipv6 => 152959 * kill pid for http-proxy => 115099 * kill pid for rtsp => 107153 * kill pid for smtp => 122939 * kill pid for pop3 => 120201 * kill pid for ftp => 136171 * kill pid for imap => 117293 * kill pid for socks => 112715 * kill pid for http => 74019 * kill pid for http-ipv6 => 89231 * kill pid for mqtt => 166579 * kill pid for socks => 112798 * kill pid for smtp => 123239 * kill pid for tftp => 142902 * kill pid for imap => 109363 * kill pid for ftp => 80387 * kill pid for pop3 => 120180 * kill pid for gopher => 140195 * kill pid for http-proxy => 79908 * kill pid for http => 74344 * kill pid for mqtt => 171713 * kill pid for socks => 112838 * kill pid for tftp => 93769 * kill pid for smtp => 122955 * kill pid for pop3 => 120217 * kill pid for imap => 117423 * kill pid for ftp => 80848 * kill pid for socks5unix => 156188 * kill pid for http => 74008 * kill pid for http-proxy => 146231 * kill pid for smtp => 122841 * kill pid for pop3 => 120167 * kill pid for ftp => 80263 * kill pid for imap => 117279 * kill pid for ftp-ipv6 => 89804 * kill pid for mqtt => 139921 * kill pid for socks => 112726 * kill pid for imap => 117227 * kill pid for ftp => 80267 * kill pid for pop3 => 120316 * kill pid for smtp => 123220 * kill pid for rtsp => 107158 * kill pid for socks => 112566 * kill pid for http => 74279 * kill pid for http-proxy => 147525 * kill pid for mqtt => 139877 * kill pid for smtp => 109365 * kill pid for ftp => 80281 * kill pid for imap => 117524 * kill pid for http => 147064 * kill pid for pop3 => 120243 * kill pid for http-ipv6 => 134161 * kill pid for http => 74010 * kill pid for socks => 112723 * kill pid for mqtt => 171763 * Runner 74001 exiting Runner 73984 exiting Runner 74002 exiting Runner 73990 exiting Runner 73999 exiting Runner 73998 exiting Runner 73985 exiting Runner 73997 exiting Runner 73987 exiting Runner 74007 exiting Runner 73991 exiting Runner 73986 exiting Runner 74005 exiting Runner 73992 exiting Runner 73996 exiting Runner 73988 exiting Runner 74006 exiting Runner 74000 exiting Runner 73995 exiting Runner 74003 exiting Runner 73994 exiting Runner 73989 exiting Runner 73993 exiting Runner 74004 exiting kill pid for ftp-ipv6 => 89803 * kill pid for ftp => 80268 * kill pid for pop3 => 121759 * kill pid for smtp => 123520 * kill pid for http-ipv6 => 147404 * kill pid for http => 74228 * kill pid for http-proxy => 159714 * kill pid for pop3 => 120294 * kill pid for imap => 117181 * kill pid for ftp-ipv6 => 89754 * kill pid for ftp => 80262 * kill pid for smtp => 123193 * kill pid for socks => 112632 * kill pid for smtp => 123000 * kill pid for pop3 => 120218 * kill pid for ftp => 80108 * kill pid for imap => 117314 * kill pid for mqtt => 140171 * kill pid for socks => 112799 * kill pid for http => 74068 * kill pid for http-ipv6 => 90345 * kill pid for http-proxy => 173876 * kill pid for smtp => 122806 * kill pid for http => 162933 * kill pid for pop3 => 120186 * kill pid for imap => 117283 * kill pid for ftp => 80255 * kill pid for mqtt => 140167 * kill pid for http-proxy => 112724 * kill pid for http-ipv6 => 144588 * kill pid for gopher => 140246 * kill pid for http-proxy => 147344 * kill pid for ftp => 80287 * kill pid for socks5unix => 156193 * kill pid for http => 76073 * kill pid for smtp => 122954 * kill pid for tftp => 168051 * kill pid for rtsp => 107326 * kill pid for imap => 119568 * kill pid for pop3 => 120663 * kill pid for http => 74117 * kill pid for gopher => 140205 * kill pid for smtp => 123096 * kill pid for tftp => 91736 * kill pid for ftp => 80195 * kill pid for imap => 117371 * kill pid for pop3 => 120235 * kill pid for socks => 112745 * kill pid for http-proxy => 145712 * kill pid for http => 74015 * kill pid for http-ipv6 => 89189 * kill pid for socks => 112311 * kill pid for pop3 => 120222 * kill pid for imap => 117378 * kill pid for ftp => 91632 * kill pid for smtp => 109366 * kill pid for socks => 112631 * kill pid for smtp => 123218 * kill pid for rtsp => 107165 * kill pid for imap => 117171 * kill pid for ftp => 80341 * kill pid for pop3 => 120315 * kill pid for http-unix => 154571 * kill pid for http-proxy => 78969 * kill pid for http => 74012 * kill pid for http => 74119 * kill pid for http-proxy => 159706 * kill pid for ftp-ipv6 => 131822 * kill pid for ftp => 80346 * kill pid for imap => 117518 * kill pid for pop3 => 120240 * kill pid for smtp => 123219 * kill pid for tftp => 91659 * kill pid for ftp => 80241 * kill pid for imap => 117319 * kill pid for pop3 => 120219 * kill pid for smtp => 122942 * kill pid for rtsp => 107068 * kill pid for socks => 112315 * kill pid for mqtt => 139969 * kill pid for http => 81600 * kill pid for http-ipv6 => 143636 * kill pid for http-proxy => 142331 * kill pid for http-unix => 154642 * kill pid for mqtt => 140193 * kill pid for socks => 114035 * kill pid for smtp => 109299 * kill pid for pop3 => 101647 * kill pid for imap => 111033 * kill pid for ftp => 80280 * kill pid for http => 74170 * kill pid for http-ipv6 => 131509 * kill pid for http => 74011 * kill pid for http-ipv6 => 131941 * kill pid for http-proxy => 91329 * kill pid for smtp => 123195 * kill pid for tftp => 134993 * kill pid for imap => 117522 * kill pid for ftp => 80269 * kill pid for pop3 => 120247 * kill pid for mqtt => 140192 * kill pid for socks => 112629 TESTDONE: 1870 tests were considered during 118 seconds. TESTINFO: 273 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 98 times (159, 356, 358, 359, 363, 412, 413, 437, 438 and 89 more) TESTINFO: "no stunnel" 59 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 50 more) TESTINFO: "failed starting SSH server" 52 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 43 more) TESTINFO: "configured as DISABLED" 15 times (323, 433, 594, 836, 882, 938, 1182, 1184, 1209 and 6 more) TESTINFO: "curl lacks manual support" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710) TESTINFO: "failed starting HTTP/2 server" 7 times (1700, 1701, 1702, 2402, 2403, 2404, 2405) TESTINFO: "curl lacks Schannel support" 6 times (2033, 2070, 2079, 2087, 3023, 3024) TESTINFO: "no gnutls-serv (with SRP support)" 4 times (320, 321, 322, 324) TESTINFO: "curl has IDN support" 3 times (959, 960, 961) TESTINFO: "curl lacks override-dns support" 3 times (2102, 2103, 2104) TESTINFO: "curl lacks TrackMemory support" 3 times (96, 558, 1330) TESTINFO: "curl lacks ECH support" 2 times (4000, 4001) TESTINFO: "curl lacks ldap support" 2 times (445, 1560) TESTINFO: "curl lacks nghttpx-h3 support" 2 times (2500, 2503) TESTINFO: "Resolving IPv6 'ip6-localhost' didn't work" 2 times (241, 1083) TESTINFO: "curl has IPv6 support" 1 time (1454) TESTINFO: "curl has proxy support" 1 time (375) TESTINFO: "curl has threaded-resolver support" 1 time (506) TESTINFO: "curl lacks Unicode support" 1 time (1703) TESTINFO: "failed starting DICT server" 1 time (1450) TESTINFO: "failed starting HTTP/3 server" 1 time (2502) TESTINFO: "failed starting neg TELNET server" 1 time (1452) TESTINFO: "failed starting SMB server" 1 time (1451) FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, FAILURE, SLOWDOWNDATA, flaky, timing-dependent FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, FAILURE, flaky, timing-dependent FAIL-IGNORED 1510: 'HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)' HTTP, verbose logs, flaky FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, don't block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent FAIL-IGNORED 2032: 'NTLM connection mapping' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM, flaky, timing-dependent IGNORED: failed tests: 573 587 1086 1113 1162 1163 1208 1510 1592 2032 TESTDONE: 62 tests out of 1597 reported OK: 3% FAIL 1: 'HTTP GET' HTTP, HTTP GET FAIL 2: 'HTTP GET with user and password' HTTP, HTTP GET, HTTP Basic auth FAIL 3: 'HTTP POST with auth and contents but with content-length set to 0' HTTP, HTTP POST, HTTP Basic auth FAIL 4: 'Replaced internal and added custom HTTP headers' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 5: 'HTTP over proxy' HTTP, HTTP GET, HTTP proxy FAIL 6: 'HTTP with simple cookie send' HTTP, HTTP GET, HTTP set cookie, cookies FAIL 7: 'HTTP with cookie parser and header recording' HTTP, HTTP GET, cookies, header dump FAIL 8: 'HTTP with cookie parsing from header file' HTTP, HTTP GET, cookies FAIL 9: 'HTTP RFC1867-type formposting' HTTP, HTTP FORMPOST, HTTP file upload FAIL 10: 'simple HTTP PUT from file' HTTP, HTTP PUT FAIL 11: 'simple HTTP Location: following' HTTP, HTTP GET, followlocation FAIL 12: 'HTTP range support' HTTP, HTTP GET, Content-Range FAIL 13: 'HTTP custom request 'DELETE'' HTTP, HTTP custom request FAIL 14: 'HTTP HEAD with Connection: close' HTTP, HTTP HEAD FAIL 15: '--write-out test' HTTP, HTTP GET, --write-out FAIL 16: 'HTTP with proxy authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 17: 'HTTP with config file on stdin' HTTP, HTTP custom request, config file FAIL 18: 'multiple requests using {} in URL' HTTP, HTTP GET, globbing, {} list FAIL 19: 'attempt connect to non-listening socket' HTTP, connect to non-listen, FAILURE FAIL 20: 'attempt connect to non-existing host name' HTTP, FAILURE, non-existing host FAIL 21: 'use curl with multiple request methods' FAILURE, multiple HTTP requests FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL FAIL 23: 'unsupported protocol:// URL' unsupported scheme, FAILURE FAIL 24: 'HTTP GET fail silently on HTTP error return' HTTP, HTTP GET, --fail FAIL 25: 'looping HTTP Location: following with --max-redirs' HTTP, HTTP GET, followlocation, --max-redirs FAIL 26: 'specify more -o than URLs' HTTP, HTTP GET FAIL 27: 'Get same cookie page several times' HTTP, HTTP GET, cookies FAIL 28: 'HTTP Location: following with extra spaces in header' HTTP, HTTP GET FAIL 29: 'HTTP with 2 secs timeout' HTTP, HTTP GET, timeout, FAILURE FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET, FAILURE FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G FAIL 33: 'HTTP PUT with resume' HTTP, HTTP PUT, Resume, Content-Range FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 35: 'HTTP POST binary data with embedded NUL' HTTP, HTTP POST, --data-binary FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding, FAILURE FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET, FAILURE FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume, FAILURE FAIL 39: 'HTTP RFC1867-type formposting with filename= and type=' HTTP, HTTP FORMPOST FAIL 40: 'HTTP redirect with whitespace after ? (and conversion)' HTTP, HTTP GET, followlocation FAIL 41: 'HTTP formpost with missing file' HTTP, HTTP FORMPOST, FAILURE FAIL 42: 'HTTP redirect with whitespace in path (and conversion)' HTTP, HTTP GET, followlocation FAIL 43: 'HTTP Location: following over HTTP proxy' HTTP, HTTP GET, followlocation, HTTP proxy FAIL 44: 'HTTP RFC1867-type formposting without Expect: header' HTTP, HTTP FORMPOST, HTTP replaced headers FAIL 45: 'simple HTTP Location: without protocol in initial URL' HTTP, HTTP GET, followlocation FAIL 46: 'HTTP with bad domain name, get cookies and store in cookie jar' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 47: 'simple HTTP 1.0 GET' HTTP, HTTP GET, HTTP/1.0 FAIL 48: 'HTTP with -d and -G and -I' HTTP, HTTP HEAD, -G FAIL 49: 'HTTP follow redirect with ../' HTTP, HTTP GET, followlocation FAIL 50: 'HTTP follow redirect with ../../' HTTP, HTTP GET, followlocation FAIL 51: 'HTTP follow redirect with excessive ../' HTTP, HTTP GET, followlocation FAIL 52: 'HTTP follow redirect with ./-prefix' HTTP, HTTP GET, followlocation FAIL 53: 'HTTP, junk session cookies' HTTP, HTTP GET, cookies FAIL 54: 'HTTP with blank Location:' HTTP, HTTP GET, followlocation FAIL 55: 'HTTP follow redirect with single slash in path' HTTP, HTTP GET, followlocation FAIL 56: 'HTTP POST with *HUGE* request and chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, config file, -A FAIL 57: 'HTTP content-type with spaces in' HTTP, HTTP GET, --write-out FAIL 58: 'HTTP PUT from file with weird letters' HTTP, HTTP PUT FAIL 59: 'HTTP URL with slash but with "parameter"' HTTP, HTTP GET FAIL 60: 'HTTP PUT from stdin with wrong content-length' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 61: 'HTTP with various cookies and custom Host:' HTTP, HTTP GET, cookies, cookiejar, HTTP replaced headers, httponly FAIL 62: 'HTTP, send cookies when using custom Host:' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 63: 'HTTP with proxy authorization set in environment' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, http_proxy FAIL 64: 'HTTP with Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 65: 'HTTP with Digest authorization with bad password' HTTP, HTTP GET, HTTP Digest auth FAIL 66: 'HTTP GET without headers in the response' HTTP, HTTP GET, HTTP/0.9 FAIL 67: 'HTTP with NTLM authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 68: 'HTTP with NTLM authorization and wrong password' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 69: 'HTTP with NTLM, Basic or Wild-and-crazy authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 70: 'HTTP with Digest *OR* NTLM authorization' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 71: 'HTTP and -F upload in config file' HTTP, HTTP FORMPOST, config file FAIL 72: 'HTTP with Digest *OR* Basic authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 73: 'HTTP, receive cookies when using custom Host:, domain using only two dots' HTTP, HTTP GET, cookies, cookiejar FAIL 74: 'HTTP, urlglob {}-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, {} list FAIL 75: 'HTTP, urlglob retrieval with bad range' HTTP, HTTP GET, globbing, FAILURE FAIL 76: 'HTTP with comma-separated WWW-Authenticate header' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 77: 'HTTP with -z "older date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 78: 'HTTP with -z "newer date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 79: 'FTP over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy FAIL 80: 'HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 81: 'HTTP with proxy using NTLM authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 82: 'HTTP with proxy requiring NTLM, but we send Basic' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP proxy NTLM auth FAIL 83: 'HTTP over proxy-tunnel with site authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 84: 'HTTP over proxy with site authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy FAIL 85: 'HTTP over proxy with site and proxy authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth FAIL 86: 'HTTP, urlglob []-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, [] range FAIL 87: 'urlglob with out of range -o #[num] usage' HTTP, HTTP GET, globbing, [] range, FAILURE FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth FAIL 89: 'HTTP with NTLM and follow-location' HTTP, HTTP GET, HTTP NTLM auth, followlocation, NTLM FAIL 90: 'HTTP with NTLM via --anyauth, and then follow-location with NTLM again' HTTP, HTTP GET, HTTP NTLM auth, --anyauth, followlocation, NTLM FAIL 91: 'HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 92: 'HTTP resume transfer with the whole file already downloaded' HTTP, HTTP GET, Content-Range, Resume FAIL 93: 'HTTP GET with failed proxy auth' HTTP, HTTP GET, HTTP proxy FAIL 94: 'HTTPS GET with failed proxy auth (CONNECT 1.0)' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy, FAILURE FAIL 95: 'HTTP over proxytunnel using POST' HTTP, HTTP POST, HTTP CONNECT, proxytunnel FAIL 97: 'HTTP POST with custom content-type' HTTP, HTTP POST, HTTP replaced headers FAIL 98: 'HTTP PUT from stdin with set size, disabling chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 99: 'HTTP GET with large-file resume point and failed resume' HTTP, HTTP GET, Resume, Largefile, FAILURE FAIL 100: 'FTP dir list PASV' FTP, PASV, LIST FAIL 101: 'FTP dir list, PORT with specified IP' FTP, PORT, LIST FAIL 102: 'FTP RETR PASV' FTP, PASV, RETR FAIL 103: 'FTP RETR PORT with CWD' FTP, PORT, RETR FAIL 104: 'FTP --head to get file size only' FTP, NOBODY FAIL 105: 'FTP user+password in URL and ASCII transfer' FTP, PASV, TYPE A, RETR FAIL 106: 'FTP GET with type=A style ASCII URL using %20 codes' FTP, EPSV, TYPE A, RETR, type= FAIL 107: 'FTP PASV upload file' FTP, EPSV, STOR FAIL 108: 'FTP PORT upload with CWD' FTP, PORT, STOR FAIL 109: 'FTP PASV upload append' FTP, EPSV, APPE FAIL 110: 'FTP download resume with set limit' FTP, PASV, RETR, Resume FAIL 111: 'FTP download resume beyond file size' FTP, EPSV, Resume, FAILURE FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume FAIL 113: 'FTP download, failed login: USER not valid' FTP, FAILURE FAIL 114: 'FTP download, failed login: PASS not valid' FTP, FAILURE FAIL 115: 'FTP download, failed PASV' FTP, PASV, FAILURE FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, FAILURE, EPRT refused FAIL 117: 'FTP download, failed TYPE' FTP, FAILURE FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR, FAILURE FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR, FAILURE FAIL 120: 'ftp download with post-quote delete operation' FTP, PASV, RETR, post-quote FAIL 121: 'ftp download with post- and pre-transfer delete operations' FTP, EPSV, RETR, post-quote, pre-quote FAIL 122: 'FTP download resume with whole file already downloaded' FTP, PASV, Resume FAIL 123: 'FTP upload resume with whole file already downloaded' FTP, EPSV, Resume FAIL 124: 'FTP download, failed PWD' FTP, PASV, RETR FAIL 125: 'FTP download, failed CWD' FTP, FAILURE FAIL 126: 'FTP download with multiple replies at once in RETR' FTP, EPSV, RETR, RETRWEIRDO FAIL 127: 'FTP --disable-epsv' FTP, PASV, RETR, --disable-epsv FAIL 128: 'FTP upload with --crlf' FTP, EPSV, STOR, --crlf FAIL 129: 'HTTP/1.2 is rejected' HTTP, HTTP GET FAIL 130: 'FTP (optional .netrc; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 131: 'FTP (optional .netrc; user/no pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 132: 'FTP (optional .netrc; user/passwd supplied) dir list PASV' FTP, EPSV, LIST, netrc FAIL 133: 'FTP compulsory .netrc; ignore passwd in URL' FTP, EPSV, LIST, netrc FAIL 134: 'FTP (optional .netrc; programmatic user/passwd) dir list PASV' FTP, EPSV, LIST, netrc FAIL 135: 'FTP retrieve a byte-range' FTP, EPSV, RETR, Range FAIL 136: 'FTP with user and no password' FTP, EPSV, RETR FAIL 137: 'FTP download without size in RETR string' FTP, RETR, --data-binary FAIL 138: 'FTP download without size in RETR string and no SIZE command' FTP, RETR FAIL 139: 'FTP download a newer file with -z' FTP, RETR, -z FAIL 140: 'FTP download file with -z, expected to not transfer' FTP, -z, --data-binary FAIL 141: 'FTP download info with -I' FTP, NOBODY FAIL 142: 'FTP URL with 150 dir levels' FTP FAIL 143: 'FTP URL with type=a' FTP, RETR, type= FAIL 144: 'FTP NLST dir list without contents, using PORT' FTP, PORT, NLST, --data-binary FAIL 145: 'FTP NLST dir list with weird reply code, using PORT' FTP, NLST, PORT FAIL 146: 'persistent FTP with different paths' FTP, RETR, persistent connection FAIL 147: 'FTP with --ftp-create-dirs (failing CWD)' FTP FAIL 148: 'FTP with --ftp-create-dirs (failing MKD)' FTP FAIL 149: 'FTP with multiple uploads' FTP FAIL 150: 'HTTP with NTLM authorization and --fail' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 151: 'HTTP GET with an error code that might trick authentication' HTTP, HTTP GET FAIL 152: 'HTTP GET with an error code that might trick authentication and --fail' HTTP, HTTP GET, --fail FAIL 153: 'HTTP with Digest authorization with stale=true' HTTP, HTTP GET, HTTP Digest auth FAIL 154: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 155: 'HTTP PUT with --anyauth authorization (picking NTLM)' HTTP, HTTP PUT, HTTP NTLM auth, NTLM FAIL 156: 'HTTP PUT with --anyauth (when the server requires none)' HTTP, HTTP PUT, --anyauth FAIL 157: 'HTTP GET with --anyauth (when the server requires none)' HTTP, HTTP GET, --anyauth FAIL 158: 'HTTP multipart formpost with only a 100 reply' HTTP, HTTP POST FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY FAIL 161: 'FTP RETR PASV' FTP, CURLE_PARTIAL_FILE, RETR, PASV FAIL 162: 'HTTP GET asking for --proxy-ntlm when some other authentication is required' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, FAILURE FAIL 163: 'HTTP multipart formpost with contents from a file' HTTP, HTTP POST FAIL 164: 'HTTP range with multiple ranges' HTTP, HTTP GET FAIL 165: 'HTTP over proxy with IDN host name' HTTP, HTTP GET, HTTP proxy, IDN FAIL 166: 'HTTP formpost a file with spaces in name' HTTP, HTTP POST FAIL 167: 'HTTP with proxy-requiring-Basic to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP Digest auth FAIL 168: 'HTTP with proxy-requiring-Digest to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth FAIL 169: 'HTTP with proxy-requiring-NTLM to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, HTTP Digest auth, NTLM FAIL 170: 'HTTP POST with --proxy-ntlm and no SSL with no response' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth FAIL 171: 'HTTP, get cookie with dot prefixed full domain' HTTP, HTTP GET, HTTP proxy, cookies FAIL 172: 'HTTP with cookies file and custom added cookie' HTTP, HTTP GET, cookies FAIL 173: 'HTTP RFC1867-formpost a file from stdin with "faked" filename' HTTP, HTTP POST FAIL 174: 'HTTP POST --anyauth to server not requiring any auth at all' HTTP, HTTP POST FAIL 175: 'HTTP POST --digest to server not requiring any auth at all' HTTP, HTTP POST, HTTP Digest auth FAIL 176: 'HTTP POST --ntlm to server not requiring any auth at all' HTTP, HTTP POST, HTTP NTLM auth FAIL 177: 'HTTP POST --digest to server doing a 302-location response' HTTP, HTTP POST, HTTP Digest auth, followlocation FAIL 178: 'HTTP response with negative Content-Length' HTTP, HTTP GET FAIL 179: 'HTTP using proxy and cookies with path checks' HTTP, HTTP GET, HTTP proxy, cookies FAIL 180: 'HTTP 1.0 PUT' HTTP, HTTP PUT, HTTP/1.0 FAIL 181: 'HTTP 1.0 POST' HTTP, HTTP POST, HTTP/1.0 FAIL 182: 'FTP download an empty file' FTP FAIL 183: 'HTTP GET two URLs over a single proxy with persistent connection' HTTP, HTTP GET, HTTP proxy, persistent connection FAIL 184: 'HTTP replace Host: when following Location: to new host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 185: 'HTTP replace Host: when following Location: on the same host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 186: 'HTTP RFC1867-type formposting with types on text fields' HTTP, HTTP POST FAIL 187: 'HTTP redirect with bad host name separation and slash in parameters' HTTP, HTTP GET, followlocation FAIL 188: 'HTTP GET with resume and redirect' HTTP, HTTP GET, Content-Range, Resume, followlocation FAIL 189: 'HTTP GET with resume and redirect (to a page that doesn't resume)' HTTP, HTTP GET FAIL 190: 'FTP download with strict timeout and slow CWD' FTP, timeout, FAILURE, DELAY FAIL 191: 'FTP URL with ?-letters in username and password' FTP FAIL 192: 'HTTP GET -w num_connects with one simple connect' HTTP, HTTP GET FAIL 193: 'HTTP GET -w num_connects with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, --write-out FAIL 194: 'HTTP resume transfer with the whole file already downloaded and --fail' HTTP, HTTP GET, Content-Range, Resume FAIL 195: 'FTP response 530 after PASS, temporarily not allowed access' FTP FAIL 196: 'FTP transient error, retry request once' FTP, retry FAIL 197: 'HTTP GET --retry on 503 error with output to stdout' HTTP, HTTP GET, retry FAIL 198: 'HTTP GET --retry on 503 error with output to file' HTTP, HTTP GET, retry FAIL 199: 'HTTP with -d, -G and {}' HTTP, HTTP GET, globbing FAIL 200: 'basic file:// file' FILE FAIL 201: 'missing file:// file' FILE, FAILURE FAIL 202: 'two file:// URLs to stdout' FILE FAIL 203: 'file:/path URL with a single slash' FILE FAIL 204: '"upload" with file://' FILE FAIL 205: '"upload" nonexisting with file://' FILE, FAILURE FAIL 206: 'HTTP proxy CONNECT auth Digest' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 207: 'HTTP GET with chunked Transfer-Encoding closed prematurely' HTTP, HTTP GET, CURLE_PARTIAL_FILE, FAILURE, chunked Transfer-Encoding FAIL 208: 'HTTP PUT to an FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy FAIL 209: 'HTTP proxy CONNECT auth NTLM' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 210: 'Get two FTP files from the same remote dir: no second CWD' FTP FAIL 211: 'Get two FTP files with no remote EPSV support' FTP FAIL 212: 'Get two FTP files with no remote EPRT support' FTP, EPRT FAIL 213: 'HTTP 1.0 proxy CONNECT auth NTLM and then POST' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 214: 'HTTP URL with escaped { and }' HTTP, HTTP GET FAIL 215: 'Get two FTP dir listings from the same remote dir: no second CWD' FTP FAIL 216: 'FTP upload two files to the same dir' FTP FAIL 217: 'HTTP proxy CONNECT to proxy returning 405' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, followlocation, --write-out FAIL 218: 'HTTP PUT from a file but enforce chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 219: 'try using proxy with unsupported scheme' proxy, unsupported scheme FAIL 220: 'HTTP GET gzip compressed content' HTTP, HTTP GET, compressed FAIL 221: 'HTTP GET gzip compressed content with broken gzip header' HTTP, HTTP GET, compressed, FAILURE FAIL 222: 'HTTP GET deflate compressed content' HTTP, HTTP GET, compressed FAIL 223: 'HTTP GET deflate compressed content with broken deflate header' HTTP, HTTP GET, compressed, FAILURE FAIL 224: 'HTTP GET gzip compressed content with huge comment and extra field' HTTP, HTTP GET, compressed FAIL 225: 'FTP %0a-code in URL's name part' FTP, FAILURE FAIL 226: 'FTP %0d-code in URL's CWD part' FTP, FAILURE FAIL 227: 'FTP with quote ops' FTP, post-quote, pre-quote FAIL 228: 'FTP RETR with ACCT' FTP, ACCT FAIL 229: 'FTP RETR with bad ACCT' FTP, ACCT, FAILURE FAIL 230: 'HTTP GET multiply compressed content' HTTP, HTTP GET, compressed FAIL 231: 'file:// with resume' FILE FAIL 232: 'HTTP GET deflate raw-compressed content' HTTP, HTTP GET, compressed FAIL 233: 'HTTP, proxy, site+proxy auth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 234: 'HTTP, proxy, site+proxy auth and Location: to new host location-trusted' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, followlocation, --location-trusted FAIL 235: 'FTP resumed upload but no file present remotely' FTP, STOR FAIL 236: 'FTP resume upload but denied access to remote file' FTP FAIL 237: 'FTP getting bad host in 227-response to PASV' FTP FAIL 238: 'FTP getting bad port in response to EPSV' FTP FAIL 239: 'HTTP proxy-auth NTLM and then POST' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 240: 'HTTP-IPv6 GET' HTTP, HTTP GET, IPv6 FAIL 242: 'HTTP-IPv6 GET with username+password in URL' HTTP, HTTP GET, IPv6, HTTP Basic auth FAIL 243: 'HTTP POST with --proxy-anyauth, picking NTLM' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 244: 'FTP dir listing with nocwd and URL encoded path' FTP, PASV, CWD, --ftp-method, nocwd FAIL 245: 'HTTP POST --digest' HTTP, HTTP POST, HTTP Digest auth FAIL 246: 'HTTP POST --digest with server doing a 100 before 401 response' HTTP, HTTP POST, HTTP Digest auth FAIL 247: 'FTP upload time condition evaluates TRUE => skip upload' FTP, MDTM FAIL 248: 'FTP upload time condition evaluates FALSE => upload anyway' FTP, STOR, MDTM FAIL 249: 'HTTP 304 response with "illegal" Content-Length: header' HTTP, HTTP GET, -z FAIL 250: 'FTP dir list PASV with slow response' FTP, SLOWDOWN FAIL 251: 'FTP dir list, PORT with specified IP and slow response' FTP, SLOWDOWN FAIL 252: 'FTP IPv6 dir list PASV' FTP, FTP-ipv6, IPv6, EPSV FAIL 253: 'FTP IPv6 dir list with EPRT' FTP, FTP-ipv6, IPv6, EPRT FAIL 254: 'FTP IPv6 dir list PASV and --disable-epsv' FTP, FTP-ipv6, IPv6, EPSV, --disable-epsv FAIL 255: 'FTP IPv6 dir list with EPRT and --disable-eprt' FTP, FTP-ipv6, IPv6, EPRT, --disable-eprt FAIL 256: 'HTTP resume request over proxy with auth without server supporting it' HTTP, HTTP GET, HTTP proxy, Resume, FAILURE FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc FAIL 258: 'HTTP POST multipart without Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP replaced headers, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 259: 'HTTP POST multipart with Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 260: 'HTTP GET URL without slash but with question mark' HTTP, HTTP GET FAIL 261: 'FTP RETR with 226 response code to TYPE' FTP, EPSV, RETR FAIL 262: 'Reject HTTP response with binary zero in header' HTTP, HTTP GET FAIL 263: 'HTTP-IPv6 GET with proxy specified using IPv6-numerical address' HTTP, HTTP GET, IPv6, HTTP proxy FAIL 264: 'HTTP with proxy string including http:// and user+password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 265: 'HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 267: 'HTTP POST with NTLM authorization and added custom headers' HTTP, HTTP POST, HTTP NTLM auth, NTLM FAIL 268: 'JSON encoding of Unicode string' HTTP, variables FAIL 269: 'HTTP --ignore-content-length' HTTP, HTTP GET FAIL 270: 'FTP RETR PASV --ftp-skip-pasv-ip' FTP, PASV, RETR FAIL 271: 'TFTP retrieve' TFTP, TFTP RRQ FAIL 272: 'FTP timed conditioned get file with identical time stamp' FTP, PASV, RETR FAIL 273: 'HTTP with two Digest authorization headers' HTTP, HTTP GET, HTTP Digest auth FAIL 274: 'HTTP Location: following with --max-redirs 0' HTTP, HTTP GET, followlocation, --max-redirs FAIL 275: 'HTTP CONNECT with proxytunnel getting two URLs from the same host' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 276: 'HTTP Location: following with multiple question marks in URLs' HTTP, HTTP GET, followlocation FAIL 277: 'HTTP RFC1867-type formposting with custom Content-Type' HTTP, HTTP FORMPOST FAIL 278: 'HTTP with proxy string including http:// and user+empty password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 279: 'HTTP with proxy string including http:// and user only' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 280: 'FTP --ftp-alternative-to-user on USER failure' FTP, PASV, LIST, --ftp-alternative-to-user FAIL 281: 'HTTP PUT from file with 100 + 401 responses and -f without auth given' HTTP, HTTP PUT FAIL 282: 'HTTP GET with no response body or headers' HTTP, HTTP GET FAIL 283: 'TFTP retrieve on invalid file' TFTP, TFTP RRQ, FAILURE FAIL 284: 'TFTP retrieve of boundary case 512 byte file' TFTP, TFTP RRQ FAIL 285: 'TFTP send' TFTP, TFTP WRQ FAIL 286: 'TFTP send of boundary case 512 byte file' TFTP, TFTP WRQ FAIL 287: 'HTTP proxy CONNECT with custom User-Agent header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 288: 'file:// with (unsupported) proxy, authentication and range' FILE FAIL 289: 'FTP resume upload but denied access to local file' FTP, STOR, Resume, FAILURE FAIL 290: 'FTP download maximum filesize exceeded' FTP, --max-filesize FAIL 291: 'FTP download maximum filesize not exceeded' FTP, RETR, --max-filesize FAIL 292: 'HTTP GET with maximum filesize not exceeded' HTTP, HTTP GET, --max-filesize FAIL 293: 'HTTP GET with maximum filesize exceeded' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 294: 'FTP --ftp-account on ACCT request' FTP, PASV, LIST, ACCT, --ftp-account FAIL 295: 'FTP ACCT request without --ftp-account' FTP, PASV, LIST, ACCT, FAILURE FAIL 296: 'FTP CWD with --ftp-method multicwd' FTP, PASV, CWD, --ftp-method, multicwd FAIL 297: 'FTP CWD with --ftp-method singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 298: 'FTP CWD with --ftp-method nocwd' FTP, PASV, CWD, --ftp-method, nocwd FAIL 299: 'FTP over HTTP proxy with user:pass not in url' FTP, HTTP, CURLOPT_USERPWD, HTTP proxy FAIL 314: 'HTTP GET brotli compressed content' HTTP, HTTP GET, compressed FAIL 315: 'HTTP GET brotli compressed content with broken header' HTTP, HTTP GET, compressed, FAILURE FAIL 316: 'HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 317: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 318: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 319: 'HTTP GET gobbledigook transfer-encoded data in raw mode' HTTP, HTTP GET, Transfer-Encoding, --raw FAIL 326: 'HTTP GET chunked data in raw mode' HTTP, HTTP GET FAIL 327: 'HTTP with cookiejar without cookies left' HTTP, HTTP GET, cookies, header dump FAIL 328: 'HTTP with "Content-Encoding: none' HTTP, HTTP GET, Content-Encoding FAIL 329: 'HTTP cookie with Max-Age=0' HTTP, HTTP GET, cookies FAIL 330: 'HTTP with custom Cookie: and redirect to new host' HTTP, HTTP proxy, followlocation, cookies FAIL 331: 'HTTP with cookie using host name 'moo'' HTTP, HTTP GET, HTTP proxy, cookies FAIL 332: 'TFTP retrieve with blksize 400' TFTP, TFTP RRQ, FAILURE FAIL 333: 'Try a non-boolean command line option with --no-' cmdline FAIL 334: 'HTTP 204 No content with chunked header' HTTP, 204 FAIL 335: 'HTTP with proxy Digest and site Digest with creds in URLs' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth, HTTP auth in URL FAIL 336: 'FTP range download when SIZE doesn't work' FTP, PASV, TYPE A, RETR FAIL 337: 'FTP range download with SIZE returning extra crap' FTP, PASV, TYPE A, RETR FAIL 338: 'ANYAUTH connection reuse of non-authed connection' HTTP, HTTP GET FAIL 339: 'Check if --etag-save saved correct etag to a file' HTTP, HTTP GET FAIL 340: 'FTP using %00 in path with singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 341: 'A non existing file with --etag-compare is just a blank' HTTP, HTTP GET FAIL 342: 'Check if --etag-compare set correct etag in header' HTTP, HTTP GET FAIL 343: 'Both --etag-compare and --etag-save to save new Etag' HTTP, HTTP GET FAIL 344: 'Both --etag-compare and -save store new Etag using non-existing file' HTTP, HTTP GET FAIL 345: 'Both --etag-compare and -save store new Etag using one pre-existing file' HTTP, HTTP GET FAIL 346: 'HTTP GET over proxy with credentials using blank passwords' HTTP, proxy FAIL 347: '--etag-save with blank incoming header' HTTP, HTTP GET FAIL 348: 'FTP upload file with 552 disk full response' FTP, EPSV, STOR FAIL 349: 'HTTP GET --fail-with-body on HTTP error return' HTTP, HTTP GET, --fail-with-body FAIL 350: 'FTP root dir list multicwd' FTP, PASV, LIST FAIL 351: 'FTP root dir list nocwd' FTP, PASV, LIST FAIL 352: 'FTP root dir list singlecwd' FTP, PASV, LIST FAIL 353: 'FTP home dir list singlecwd' FTP, PASV, LIST FAIL 354: 'FTP without password' FTP, PASV, RETR FAIL 355: 'load Alt-Svc from file and use' HTTP, Alt-Svc FAIL 357: 'HTTP PUT with Expect: 100-continue and 417 response' HTTP, HTTP PUT, Expect: 100-continue FAIL 360: 'Error on both --fail-with-body and --fail' --fail, --fail-with-body FAIL 361: 'HTTP GET --fail-with-body on HTTP error return - twice' HTTP, HTTP GET, --fail-with-body FAIL 362: 'FTP resume upload file with nothing to start from' FTP, EPSV, STOR FAIL 365: 'HTTP/1.1 with chunked AND Content-Length headers' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 366: 'HTTP --retry-max-time with too long Retry-After' HTTP, HTTP GET, retry FAIL 367: 'Empty user name provided in URL' HTTP, HTTP GET, HTTP Basic auth FAIL 368: 'Append dash if -r range specified without one' HTTP, HTTP GET, Range FAIL 369: '--etag-save with bad path then working transfer' HTTP, HTTP GET, etag FAIL 370: '--etag-save with bad path - no transfer' HTTP, HTTP GET, etag FAIL 371: 'using more -o than URLs in the command line' HTTP, HTTP GET FAIL 372: 'Binary zero in data element.' HTTP, HTTP GET FAIL 373: 'Chunked transfer encoding - Multiple valid chunks with binary zeros.' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 374: 'Valid gif with two frames. No new line in data section.' HTTP, HTTP GET, gif data FAIL 376: '--remove-on-error' HTTP, HTTP GET FAIL 378: 'Reject using -T and -d at once' HTTP PUT, HTTP POST FAIL 379: '--remove-on-error with --no-clobber and an added number' HTTP, HTTP GET FAIL 380: 'pick netrc password based on user name in URL' FTP, EPSV, LIST, netrc FAIL 381: 'netrc-optional lets URL creds override netrc' FTP, EPSV, LIST, netrc FAIL 383: 'HTTP with --json' HTTP, HTTP POST, --json FAIL 384: 'HTTP with --json from stdin' HTTP, HTTP POST, --json FAIL 385: 'HTTP with --json x 2' HTTP, HTTP POST, --json FAIL 386: 'HTTP with --json + --next' HTTP, HTTP POST, --json FAIL 387: 'Response with overly long compression chain' HTTP, gzip FAIL 388: 'HTTP with Digest and multiple qop values with leading space' HTTP, HTTP GET, HTTP Digest auth FAIL 389: '*.localhost is a local host' HTTP, .localhost FAIL 390: 'curl HTTP, FILE and FTP in parallel' HTTP, FTP, parallel FAIL 391: '--path-as-is with redirect, keeping dotdots' HTTP, HTTP GET, --path-as-is FAIL 392: 'HTTP secure cookies over localhost' HTTP, HTTP GET, cookies, secure FAIL 393: 'HTTP max-filesize and out-of-range Content-Length' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET, FAILURE FAIL 395: 'HTTP and out-of-range Content-Length' HTTP, HTTP GET FAIL 396: 'HTTP GET zstd compressed content' HTTP, HTTP GET, compressed FAIL 397: 'HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 398: 'Reject HTTP/1.1 response with colon-less header' HTTP, HTTP GET FAIL 399: '65536 bytes long host name in URL' URL FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS, FAILURE FAIL 405: 'FTPS operation to FTP port' FTP, FTPS, FAILURE FAIL 411: '-K with missing file causes error' -K FAIL 415: 'HTTP response with control code then negative Content-Length' HTTP, HTTP GET FAIL 416: 'FTP growing file support' FTP, EPSV, RETR, Range FAIL 418: 'Response with multiple Transfer-Encoding headers' HTTP, gzip FAIL 419: '--dump-header to file that cannot be created' --dump-header, FAILURE FAIL 420: 'Setting cookies set with expired dates that were loaded from jar' HTTP, HTTP GET, cookies FAIL 421: 'HTTP GET multiple headers and %{header_json}' header_json FAIL 422: 'use --next with missing URL before it' cmdline, --next FAIL 423: '-w with url.* variables' -w, --write-out FAIL 424: '-w with urle.* variables' -w, --write-out FAIL 425: 'HTTP PUT with path ending with slash + query' HTTP, HTTP PUT FAIL 426: 'try --data with --continue-at' Resume, error detection FAIL 427: 'Keep Cookie: header within 8190 bytes' HTTP, HTTP GET, cookies FAIL 428: 'Expand environment variables within config file' HTTP, variables, --config FAIL 429: 'Expand environment variable in config file - too long name' HTTP, HTTP POST, variables FAIL 430: 'Three -K uses with --next and --data in each' --next, --config, POST FAIL 431: 'Two -K uses with --next and then one on cmdline' --next, --config, POST FAIL 432: 'Use -K with --next and --config from within' --next, --config, POST FAIL 434: '-K with a single line without newline' HTTP, --config FAIL 435: 'verify -w local/remote port+ip after connection reuse' HTTP, HTTP GET FAIL 436: 'Find .curlrc in .config/curlrc via CURL_HOME' --config FAIL 440: 'HSTS with trailing-dot host name in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 441: 'HSTS with no t-dot host name in URL but t-dot in file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 442: 'Send capped huge number of matching cookies' HTTP, cookies, --resolve FAIL 443: 'Cookie header in request no longer than 8K' HTTP, cookies, --resolve FAIL 444: 'Many Set-Cookie response headers' HTTP, cookies, --resolve FAIL 448: 'Environment variables within config file, unbalanced braces' HTTP, variables, --config FAIL 449: 'Environment variables in config file w/o [expand]' HTTP, variables, --config FAIL 450: 'Variable from file that is trimmed and URL encoded' HTTP, variables FAIL 451: 'Variable from file that is JSON and URL encoded (with null byte)' HTTP, variables FAIL 452: 'Variable using illegal function in expansion' variables FAIL 453: 'Variable output containing null byte' HTTP, variables FAIL 454: 'Variable using illegal function separator' variables FAIL 455: 'Variable using base64' variables FAIL 456: 'Variable output starting with null byte' HTTP, variables FAIL 457: 'chunked Transfer-Encoding with --max-filesize' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 458: 'variable expand the file name with --expand-output' HTTP, variables FAIL 459: 'config file with argument using whitespace missing quotes' HTTP, --config FAIL 460: 'try --expand without an argument' variables, expand FAIL 461: 'disable Host: when specified as lower case' HTTP, HTTP GET, --header FAIL 462: 'Missing environment variables in config file' variables, --config FAIL 463: 'HTTP with -d @file with file containing CR, LF and null byte' HTTP, HTTP POST, -d FAIL 467: 'use a bad short option letter that does not exist (after one does exist)' cmdline FAIL 468: 'set -w in config, then reset -w to blank on cmdline' HTTP, --write-out, --config FAIL 469: 'warn about Unicode quote character' HTTP FAIL 470: 'warn about Unicode quote character read from config file' HTTP FAIL 471: 'Reject HTTP/1.1 to HTTP/2 switch on the same connection' HTTP, HTTP GET, globbing, {} list FAIL 473: 'Check if --etag-save saved correct etag to a file on 301' HTTP, HTTP GET FAIL 475: 'FTP PASV upload ASCII file' FTP, EPSV, STOR, TYPE A FAIL 476: 'FTP PASV upload ASCII file already using CRLF' FTP, EPSV, STOR, TYPE A FAIL 477: 'HTTP GET with maximum filesize with a redirect sending data' HTTP, HTTP GET, --max-filesize FAIL 478: '.netrc with multiple accounts for same host' netrc, HTTP FAIL 479: '.netrc with redirect and default without password' netrc, HTTP FAIL 480: 'Reject .netrc with credentials using CRLF for POP3' netrc, POP3 FAIL 481: '--no-clobber with --continue-at' HTTP, HTTP GET, --no-clobber, --continue-at FAIL 482: '--remove-on-error with --continue-at' HTTP, --remove-on-error, --continue-at FAIL 483: 'HTTP cookies with long expire dates' HTTP, HTTP GET, cookies FAIL 484: 'Use --etag-compare and -save with more than one URL' HTTP, etag FAIL 485: 'Use --etag-compare and -save with more than one URL, URLs specified first' HTTP, etag FAIL 486: '.netrc with redirect and "default" with no password or login' netrc, HTTP FAIL 487: 'Variable using 64dec with bad base64' variables FAIL 488: 'Download two URLs provided on stdin' HTTP, HTTP GET, --url FAIL 489: 'Download two URLs provided in a file' HTTP, HTTP GET, --url FAIL 490: 'Two globbed HTTP PUTs' HTTP, HTTP PUT FAIL 491: 'Two globbed HTTP PUTs, the second upload file is missing' HTTP, HTTP PUT FAIL 492: 'Two globbed HTTP PUTs to two globbed URLs' HTTP, HTTP PUT FAIL 493: 'HSTS and %{url_effective} after upgrade' HTTP, HTTP proxy, HSTS, url_effective FAIL 494: 'skip 'macdef' when parsing netrc' FTP, EPSV, netrc, macdef FAIL 495: 'user+password in URL with optional netrc' HTTP, netrc FAIL 496: 'parallel upload missing file' curl tool, cmdline, parallel FAIL 497: 'Reject too large accumulated HTTP response headers' HTTP, HTTP GET FAIL 498: 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET FAIL 499: 'HTTP HEAD to server still sending a body' HTTP, HTTP GET FAIL 500: 'simple libcurl HTTP GET tool' HTTP, HTTP GET FAIL 501: 'simple libcurl attempt operation without URL set' missing URL FAIL 502: 'simple multi file:// get' FILE FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, FAILURE, connect to non-listen FAIL 505: 'FTP upload with rename after transfer' FTP, STOR FAIL 507: 'multi interface get with non-existing host name' HTTP, multi, FAILURE, non-existing host FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET FAIL 520: 'FTP RETR with FILETIME' FTP FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 527: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function sequence)' FTP, PORT, STOR, multi FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, FAILURE, multi FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP FAIL 540: 'HTTP proxy auth Digest multi API reusing connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi FAIL 541: 'FTP upload and upload same file again without rewind' FTP, STOR FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR FAIL 543: 'curl_easy_escape' curl_easy_escape FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST FAIL 545: 'HTTP POST binary with embedded zero and no trailing zero' HTTP, HTTP POST FAIL 546: 'FTP RETR a non-existing file then a found one using the multi interface' FTP, PASV, RETR, multi FAIL 547: 'HTTP proxy auth NTLM with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 548: 'HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM FAIL 555: 'HTTP proxy auth NTLM with POST data from read callback multi-if' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, multi, NTLM FAIL 556: 'send and recv HTTP' HTTP, HTTP GET FAIL 557: 'curl_mprintf() testing' printf, unittest FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type= FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4 FAIL 565: 'send HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)' FTP, LIST, RETR, wildcardmatch, ftplistparser FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser FAIL 576: 'FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST FAIL 579: 'small chunked HTTP POSTs with digest auth. and progress callback' HTTP, HTTP POST, HTTP Digest auth FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT FAIL 588: 'FTP PORT upload using multi interface, EPRT doesn't work' FTP, PORT, STOR, multi, EPRT refused FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 590: 'HTTP proxy offers Negotiate+NTLM, use only NTLM' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425 FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421 FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150 FAIL 595: 'verify close callbacks with passive FTP' FTP FAIL 596: 'verify close callbacks with active FTP' FTP FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 632: 'SFTP syntactically invalid host key' SFTP, FAILURE, server key check FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 646: 'SMTP multipart using mime API' SMTP, MULTIPART FAIL 647: 'IMAP APPEND multipart using mime API' IMAP, APPEND, UPLOAD, MULTIPART FAIL 648: 'SMTP multipart with transfer content encoders' SMTP, MULTIPART FAIL 649: 'SMTP multipart with 7bit encoder error' SMTP, MULTIPART FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST FAIL 655: 'resolver start callback' HTTP FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY FAIL 661: 'Avoid redundant CWDs' FTP FAIL 662: 'HTTP redirect with whitespace in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 663: 'HTTP redirect with dotdots and whitespaces in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 666: 'HTTP mime post with binary-encoded huge data contents' HTTP, HTTP POST, HTTP MIME POST, MIME FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST FAIL 669: 'HTTP custom Content-Type with parameter' HTTP, HTTP POST, HTTP MIME POST, HTTP FORMPOST FAIL 670: 'Request pause from mime read callback: multi' HTTP, HTTP POST, MIME FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle FAIL 675: 'HTTP connection reuse and different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 676: 'verify setting CURLOPT_COOKIEFILE to NULL again' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY FAIL 679: 'netrc with quoted password' HTTP, netrc FAIL 680: 'netrc with quoted password but missing end quote' HTTP, netrc FAIL 681: '--remote-name-all with --no-remote-name' HTTP, HTTP GET FAIL 682: 'netrc with multiple logins - pick first' HTTP, netrc FAIL 683: 'netrc with multiple logins - pick second' HTTP, netrc FAIL 684: 'netrc with no login' HTTP, netrc FAIL 685: 'netrc with no login - provided user' HTTP, netrc FAIL 686: 'verify return code for missing URL after --next' errorcode FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS FAIL 690: '-O with URL without path using trailing slash' HTTP, HTTP GET FAIL 691: '-O with URL with path using trailing slash' HTTP, HTTP GET FAIL 692: '-JO with URL without path using trailing slash' HTTP, HTTP GET FAIL 693: '--etag-save with --create-dirs' HTTP, HTTP GET, etag FAIL 694: 'HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 695: 'MIME parts reuse as a child part' MIME FAIL 696: 'CONNECT_ONLY and doing a second curl_easy_perform' HTTP, HTTP GET FAIL 697: 'netrc with missing netrc file' HTTP, netrc FAIL 698: 'FTP with ACCT and connection reuse' FTP, ACCT FAIL 699: '--config with single-letter options plus one that is cleared' HTTP, --config FAIL 700: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 701: 'HTTP GET via SOCKS5 proxy' HTTP, HTTP GET, SOCKS5 FAIL 702: 'Attempt connect to non-listening HTTP server via SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 706: 'FTP dir list PASV via SOCKS4' FTP, PASV, LIST, SOCKS4 FAIL 707: 'FTP dir list PASV via SOCKS5' FTP, PASV, LIST, SOCKS5 FAIL 708: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 709: 'HTTP GET via SOCKS5 set in http_proxy environment variable' HTTP, HTTP GET, SOCKS5, http_proxy FAIL 710: 'HTTP GET via SOCKS5 set with --proxy' HTTP, HTTP GET, SOCKS5 FAIL 711: 'FTP fetch with all_proxy set to socks5' FTP, PASV, RETR, SOCKS5, all_proxy FAIL 712: 'FTP fetch with --proxy set to socks5://' FTP, PASV, RETR, SOCKS5 FAIL 713: 'FTP fetch with --proxy set to socks5:// and with --connect-to' FTP, PASV, RETR, SOCKS5, CURLOPT_CONNECT_TO FAIL 714: 'FTP fetch with --proxy set to http:// and with --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, CURLOPT_CONNECT_TO FAIL 715: 'FTP fetch with --preproxy, --proxy and --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, SOCKS5, CURLOPT_CONNECT_TO FAIL 716: 'SOCKS5 proxy with too long user name' HTTP, SOCKS5, all_proxy FAIL 717: 'SOCKS5 proxy auth' HTTP, SOCKS5, all_proxy FAIL 718: 'HTTP proxy CONNECT (no auth) with proxy returning 407 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 719: 'HTTP GET with IPv6 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 720: 'HTTP GET with IPv4 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 721: 'HTTP GET with host name using SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 722: 'IPFS' IPFS FAIL 723: 'IPFS with malformed gateway URL (bad function argument error)' IPFS FAIL 724: 'IPFS with gateway URL from gateway file' IPFS FAIL 725: 'IPFS with malformed gateway URL from gateway file' IPFS FAIL 726: 'IPFS with no gateway URL (no environment or home file either)' IPFS FAIL 727: 'IPNS' IPNS FAIL 728: 'SOCKS5h with HTTP redirect to hostname too long' HTTP, HTTP GET, SOCKS5, SOCKS5h, followlocation FAIL 729: 'SOCKS4 with very long proxy user name' HTTP, HTTP GET, SOCKS4 FAIL 730: 'IPFS arg gateway with path' IPFS FAIL 731: 'IPFS with gateway URL and path from gateway file' IPFS FAIL 732: 'IPFS with path' IPFS FAIL 733: 'IPFS with path and query args' IPFS FAIL 734: 'IPFS with path, query args and gateway with path' IPFS FAIL 735: 'IPNS with path, query args and gateway with path' IPFS FAIL 736: 'IPFS with IPFS_PATH set, no trailing slash' IPFS FAIL 737: 'IPFS with IPFS_PATH set, with trailing slash' IPFS FAIL 738: 'IPFS with IPFS_PATH, no gateway file' IPFS FAIL 739: 'IPNS path and query args for gateway and IPFS url (malformed gateway url)' IPFS FAIL 740: 'IPFS with gateway URL from multiline gateway file' IPFS FAIL 741: 'IPFS malformed gw URL from multiline gateway file, first line no url' IPFS FAIL 742: 'SOCKS5-hostname with max length credentials and max host name length' HTTP, SOCKS5, all_proxy FAIL 743: '--config with a 127 byte line' HTTP, --config FAIL 744: '--netrc-file with a 127 byte line' HTTP, --netrc-file, netrc FAIL 746: 'too large numerical value passed to -m' cmdline FAIL 747: 'Reject too many HTTP response headers' HTTP, HTTP GET FAIL 748: 'A --config file that uses -h and no URL' --config FAIL 749: 'HTTP CONNECT with proxy returning 400 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 750: 'HTTP CONNECT with proxy returning just HTML and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 751: 'multi - add many easy handles' MULTI FAIL 752: '--retry and -f on a HTTP 404 response' HTTP, HTTP GET, -f, --retry FAIL 754: 'FTP list with quote ops' FTP, list, post-quote, pre-quote FAIL 755: 'netrc with NETRC pointing out the file' HTTP, netrc FAIL 756: 'mix --output and --out-null' HTTP FAIL 757: 'MIME parts reused as a child part, using data_cb' MIME FAIL 759: 'glob '{,'' globbing FAIL 760: 'more cmdline options than URLs and --next' globbing FAIL 761: 'too many {} globs' globbing FAIL 762: 'HTTP GET with --remote-time with file date from 1940' HTTP, HTTP GET, --remote-time FAIL 763: 'Unicode hostname ending up in a blank name' IDN FAIL 784: '--variable with a file byte range' HTTP, --variable FAIL 785: '--variable with a file byte range without end' HTTP, --variable FAIL 786: '--variable with a file byte range, reading from stdin' HTTP, --variable FAIL 787: '--variable with a file byte range, bad range' HTTP, --variable FAIL 788: '--variable with a file and single-byte byte range' HTTP, --variable FAIL 789: '--variable with a file and byte range out of file' HTTP, --variable FAIL 790: '--variable with a byte range using plain assign' HTTP, --variable FAIL 791: '--variable with a byte range using plain assign, out of range' HTTP, --variable FAIL 792: '.netrc with embedded NULL byte' netrc, FTP FAIL 793: '.netrc with embedded NULL byte, with quoted token' netrc, FTP FAIL 794: '--follow + --location with custom POST method, 302 => GET' --follow, --location FAIL 796: '--follow with custom POST method, 302 => GET' --follow, --location FAIL 797: '--follow with custom POST method, 308 => custom' --follow, --location FAIL 799: 'IMAP with --login-options 'AUTH=+LOGIN'' IMAP, Clear Text, SASL AUTH +LOGIN FAIL 800: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 801: 'IMAP FETCH message by MAILINDEX and SECTION' IMAP, Clear Text, FETCH FAIL 802: 'IMAP SELECT UIDVALIDITY Success' IMAP, Clear Text, SELECT, UIDVALIDITY FAIL 803: 'IMAP SELECT UIDVALIDITY Failure' IMAP, Clear Text, SELECT, UIDVALIDITY, FAILURE FAIL 804: 'IMAP doesn't perform SELECT if reusing the same mailbox' IMAP, Clear Text, SELECT FAIL 805: 'IMAP APPEND message' IMAP, Clear Text, APPEND, UPLOAD FAIL 806: 'IMAP LIST mailbox' IMAP, Clear Text, LIST FAIL 807: 'IMAP LSUB mailbox' IMAP, Clear Text, LSUB, CUSTOMREQUEST FAIL 808: 'IMAP EXAMINE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, EXAMINE, CUSTOMREQUEST FAIL 809: 'IMAP mailbox STATUS (CUSTOMREQUEST)' IMAP, Clear Text, STATUS, CUSTOMREQUEST FAIL 810: 'IMAP SEARCH for NEW messages' IMAP, Clear Text, SEARCH FAIL 811: 'IMAP CREATE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CREATE, CUSTOMREQUEST FAIL 812: 'IMAP DELETE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, DELETE, CUSTOMREQUEST FAIL 813: 'IMAP RENAME mailbox (CUSTOMREQUEST)' IMAP, Clear Text, RENAME, CUSTOMREQUEST FAIL 814: 'IMAP CHECK mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CHECK, CUSTOMREQUEST FAIL 815: 'IMAP STORE - delete message (CUSTOMREQUEST)' IMAP, Clear Text, STORE, CLOSE, CUSTOMREQUEST FAIL 816: 'IMAP STORE - delete message with confirmation (CUSTOMREQUEST)' IMAP, Clear Text, STORE, EXPUNGE, CUSTOMREQUEST FAIL 817: 'IMAP COPY message to mailbox (CUSTOMREQUEST)' IMAP, Clear Text, COPY, CUSTOMREQUEST FAIL 818: 'IMAP NOOP (CUSTOMREQUEST)' IMAP, Clear Text, NOOP, CUSTOMREQUEST FAIL 819: 'IMAP plain authentication' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 820: 'IMAP login authentication' IMAP, SASL, SASL AUTH LOGIN FAIL 821: 'IMAP CRAM-MD5 authentication' IMAP, SASL, SASL AUTH CRAM-MD5, RFC2195 FAIL 822: 'IMAP NTLM authentication' IMAP, SASL, SASL AUTH NTLM, NTLM FAIL 824: 'IMAP OAuth 2.0 (XOAUTH2) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749 FAIL 825: 'IMAP plain authentication with initial response' IMAP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616 FAIL 826: 'IMAP login authentication with initial response' IMAP, SASL, SASL AUTH LOGIN, SASL-IR FAIL 827: 'IMAP NTLM authentication with initial response' IMAP, SASL, SASL AUTH NTLM, SASL-IR, NTLM FAIL 828: 'IMAP OAuth 2.0 (XOAUTH2) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749 FAIL 829: 'IMAP with URL-encoded CR LF in the URL' IMAP, CRLF-in-URL FAIL 830: 'IMAP CRAM-MD5 graceful cancellation' IMAP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195 FAIL 831: 'IMAP NTLM graceful cancellation' IMAP, SASL, SASL AUTH NTLM, SASL CANCELLATION FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195 FAIL 834: 'IMAP NTLM authentication with SASL downgrade' IMAP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE FAIL 837: 'IMAP external authentication' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 838: 'IMAP external authentication without credentials' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 839: 'IMAP external authentication with initial response' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 840: 'IMAP external authentication with initial response without credentials' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 841: 'IMAP custom request doesn't check continuation data' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 842: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 843: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 844: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 845: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 846: 'IMAP PREAUTH response' IMAP FAIL 847: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 848: 'IMAP plain authentication with alternative authorization identity' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 849: 'IMAP plain auth with alt authorization identity (Not authorized)' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 850: 'POP3 RETR message' POP3, Clear Text, RETR FAIL 851: 'POP3 LIST one message' POP3, Clear Text, LIST FAIL 852: 'POP3 LIST invalid message' POP3, Clear Text, LIST, FAILURE FAIL 853: 'POP3 LIST messages from *SLOW* server' POP3, Clear Text, LIST, SLOWDOWN FAIL 854: 'POP3 LIST no messages available' POP3, Clear Text, LIST FAIL 855: 'POP3 RETR invalid message' POP3, Clear Text, RETR, FAILURE FAIL 856: 'POP3 invalid login' POP3, Clear Text, FAILURE FAIL 857: 'POP3 RETR message with dot-prefixed line' POP3, Clear Text, RETR FAIL 858: 'POP3 DELE message (CUSTOMREQUEST)' POP3, Clear Text, DELE, CUSTOMREQUEST FAIL 859: 'POP3 STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST FAIL 860: 'POP3 NOOP (CUSTOMREQUEST)' POP3, Clear Text, NOOP, CUSTOMREQUEST FAIL 861: 'POP3 UIDL (CUSTOMREQUEST)' POP3, Clear Text, UIDL, CUSTOMREQUEST, RFC2449 FAIL 862: 'POP3 retrieve message header (CUSTOMREQUEST)' POP3, Clear Text, TOP, CUSTOMREQUEST, RFC2449 FAIL 863: 'POP3 RSET (CUSTOMREQUEST)' POP3, Clear Text, RSET, CUSTOMREQUEST FAIL 864: 'POP3 APOP authentication' POP3, APOP FAIL 865: 'POP3 plain authentication' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 866: 'POP3 login authentication' POP3, SASL, SASL AUTH LOGIN, RFC1734, RFC5034 FAIL 867: 'POP3 CRAM-MD5 authentication' POP3, SASL, SASL AUTH CRAM-MD5, RFC1734, RFC2195, RFC5034 FAIL 868: 'POP3 NTLM authentication' POP3, SASL, SASL AUTH NTLM, RFC1734, RFC5034, NTLM FAIL 870: 'POP3 OAuth 2.0 (XOAUTH2) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749 FAIL 871: 'POP3 plain authentication with initial response' POP3, SASL, SASL AUTH PLAIN, SASL-IR, RFC1734, RFC4616, RFC5034 FAIL 872: 'POP3 login authentication with initial response' POP3, SASL, SASL AUTH LOGIN, SASL-IR, RFC1734, RFC5034 FAIL 873: 'POP3 NTLM authentication with initial response' POP3, SASL, SASL AUTH NTLM, SASL-IR, RFC1734, RFC5034, NTLM FAIL 874: 'POP3 OAuth 2.0 (XOAUTH2) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749 FAIL 875: 'POP3 with URL-encoded CR LF in the URL' POP3, CRLF-in-URL FAIL 876: 'POP3 CRAM-MD5 graceful cancellation' POP3, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC1734, RFC2195, RFC5034 FAIL 877: 'POP3 NTLM graceful cancellation' POP3, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC1734, RFC5034 FAIL 879: 'POP3 CRAM-MD5 authentication with SASL downgrade' POP3, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC2195, RFC5034 FAIL 880: 'POP3 NTLM authentication with SASL downgrade' POP3, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC5034 FAIL 883: 'POP3 external authentication' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 884: 'POP3 external authentication without credentials' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 885: 'POP3 external authentication with initial response' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 886: 'POP3 external authentication with initial response without credentials' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 887: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 888: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 889: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 890: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 891: 'POP3 with short authentication response' POP3 FAIL 892: 'POP3 plain authentication with alternative authorization identity' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 893: 'POP3 plain auth with alt authorization identity (Not authorized)' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 894: 'POP3 with CR in username' POP3, Clear Text, RETR FAIL 895: 'IMAP with --login-options 'AUTH=*'' IMAP, Clear Text, FETCH, --login-options FAIL 896: 'IMAP with --login-options 'AUTH=dummy' (failing)' IMAP, Clear Text, FETCH, --login-options FAIL 897: 'IMAP and envelope meta data after body transfer' IMAP, Clear Text, FETCH FAIL 898: 'HTTP with custom auth and cookies redirected to HTTP on a diff port' HTTP, HTTP proxy, --location, Authorization, cookies FAIL 899: 'URL with credentials redirects to URL with different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 900: 'SMTP' SMTP FAIL 901: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 902: 'RFC821-only SMTP server (EHLO not supported)' SMTP, SMTP HELO, RFC821 FAIL 903: 'SMTP plain authentication' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 904: 'SMTP login authentication' SMTP, SASL, SASL AUTH LOGIN, RFC4954 FAIL 905: 'SMTP CRAM-MD5 authentication' SMTP, SASL, SASL AUTH CRAM-MD5, RFC2195, RFC4954 FAIL 906: 'SMTP NTLM authentication' SMTP, SASL, SASL AUTH NTLM, RFC4954, NTLM FAIL 908: 'SMTP OAuth 2.0 (XOAUTH2) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749 FAIL 909: 'SMTP without SIZE support' SMTP FAIL 910: 'SMTP without terminating CRLF' SMTP FAIL 911: 'SMTP with no mail data' SMTP FAIL 912: 'SMTP with SIZE support' SMTP, SIZE FAIL 913: 'SMTP with large message SIZE' SMTP, SIZE FAIL 914: 'SMTP invalid --mail-from' SMTP FAIL 915: 'SMTP without --mail-from' SMTP FAIL 916: 'SMTP with invalid --mail-rcpt' SMTP FAIL 917: 'SMTP with multiple --mail-rcpt' SMTP FAIL 918: 'SMTP with multiple and invalid --mail-rcpt' SMTP FAIL 919: 'SMTP plain authentication with initial response' SMTP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616, RFC4954 FAIL 920: 'SMTP login authentication with initial response' SMTP, SASL, SASL AUTH LOGIN, SASL-IR, RFC4954 FAIL 921: 'SMTP NTLM authentication with initial response' SMTP, SASL, SASL AUTH NTLM, SASL-IR, RFC4954, NTLM FAIL 922: 'SMTP OAuth 2.0 (XOAUTH2) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749 FAIL 923: 'SMTP VRFY' SMTP, VRFY FAIL 924: 'SMTP ambiguous VRFY' SMTP, VRFY FAIL 925: 'SMTP external VRFY' SMTP, VRFY FAIL 926: 'SMTP unknown user VRFY' SMTP, VRFY FAIL 927: 'SMTP mailing list EXPN (CUSTOMREQUEST)' SMTP, EXPN, CUSTOMREQUEST FAIL 928: 'SMTP HELP' SMTP, HELP FAIL 929: 'SMTP NOOP (CUSTOMREQUEST)' SMTP, NOOP, CUSTOMREQUEST FAIL 930: 'SMTP RSET (CUSTOMREQUEST)' SMTP, RSET, CUSTOMREQUEST FAIL 931: 'SMTP with URL-encoded CR LF in the URL' SMTP, CRLF-in-URL FAIL 932: 'SMTP CRAM-MD5 graceful cancellation' SMTP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195, RFC4954 FAIL 933: 'SMTP NTLM graceful cancellation' SMTP, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC4954 FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954 FAIL 936: 'SMTP NTLM authentication with SASL downgrade' SMTP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC4954 FAIL 939: 'RFC821-only SMTP with username and password' SMTP, RFC821 FAIL 940: 'SMTP with username and password but no AUTH capability' SMTP FAIL 941: 'SMTP with --crlf' SMTP, --crlf FAIL 942: 'SMTP external authentication' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 943: 'SMTP external authentication without credentials' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 944: 'SMTP external authentication with initial response' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 945: 'SMTP external authentication with initial response without credentials' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 946: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 947: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 948: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 949: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 950: 'SMTP VRFY with custom request' SMTP, VRFY, --request FAIL 951: 'SMTP data with dot as first character' SMTP FAIL 952: 'SMTP data with single dot-only line' SMTP FAIL 953: 'SMTP plain authentication with alternative authorization identity' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 954: 'SMTP plain auth with alt authorization identity (Not authorized)' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 955: 'SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)' SMTP FAIL 956: 'SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)' SMTP FAIL 957: 'SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)' SMTP, VRFY FAIL 958: 'SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part only)' SMTP, VRFY FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)' SMTP, IDN FAIL 963: 'SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)' SMTP, IDN FAIL 964: 'SMTP external VRFY without SMTPUTF8 (IDN) - UTF-8 recipient (host part)' SMTP, VRFY, IDN FAIL 965: 'SMTP with SMTPUTF8 support - UTF-8 based sender' SMTP, IDN FAIL 966: 'SMTP with SMTPUTF8 support - UTF-8 based recipient' SMTP, IDN FAIL 967: 'SMTP external VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 968: 'SMTP VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 969: 'SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support' SMTP, EXPN, CUSTOMREQUEST, IDN FAIL 973: 'HTTP with auth redirected to FTP w/o auth' HTTP, FTP, --location FAIL 974: 'HTTP with auth redirected to HTTP on a diff port w/o auth' HTTP, HTTP proxy, --location FAIL 975: 'HTTP with auth redirected to FTP allowing auth to continue' HTTP, FTP, --location-trusted FAIL 976: 'HTTP with auth redirected to HTTP on a diff port --location-trusted' HTTP, HTTP proxy, --location-trusted FAIL 977: 'URL with trailing dot and receiving a cookie for the TLD with dot' HTTP, HTTP proxy, cookies FAIL 978: 'verify that --stderr works for -w's stderr as well' HTTP, --stderr FAIL 979: '-u with redirect to absolute URL using same origin and auth' HTTP, HTTP GET, HTTP Basic auth FAIL 980: 'SMTP STARTTLS pipelined server response' SMTP, STARTTLS FAIL 981: 'IMAP STARTTLS pipelined server response' IMAP, STARTTLS FAIL 982: 'POP3 STARTTLS pipelined server response' POP3, STARTTLS FAIL 983: 'FTP STARTTLS pipelined server response' FTP, STARTTLS FAIL 984: 'IMAP require STARTTLS with failing capabilities' IMAP, STARTTLS FAIL 985: 'POP3 require STARTTLS with failing capabilities' POP3, STARTTLS FAIL 986: 'FTP require STARTTLS while preauthenticated' FTP, STARTTLS FAIL 990: 'use -w %output{}' HTTP, HTTP GET, -w FAIL 991: 'use -w %output{} append' HTTP, HTTP GET, -w FAIL 992: 'SASL verify default mechanisms are reset by login options' SMTP, SASL, UPLOAD FAIL 993: 'POP3 LIST 1000 messages' POP3, Clear Text, LIST FAIL 994: '--skip-existing with globbing' HTTP, HTTP GET FAIL 995: '--skip-existing without file present' HTTP, HTTP GET FAIL 996: '--skip-existing with file present' HTTP, HTTP GET FAIL 997: 'POP3 retrieve STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST, RFC2449 FAIL 998: 'HTTP with auth in URL redirected to another host' HTTP, --location-trusted FAIL 999: 'HTTP with auth in first URL but not second' HTTP, --location-trusted FAIL 1000: 'FTP dir list PASV with -I' FTP, PASV, LIST, NOBODY FAIL 1001: 'HTTP POST --digest with PUT and resumed upload and modified method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1002: 'HTTP PUT with Digest auth, resumed upload and modified method, twice' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1003: 'FTP with excessively large server command response line' FTP, RETR, huge response FAIL 1004: 'HTTP GET with empty proxy' HTTP, HTTP GET, HTTP proxy FAIL 1005: 'FTP with excessively large number of server command response lines' FTP, RETR, huge response FAIL 1006: 'FTP with large number of command response lines (boundary condition)' FTP, RETR, huge response FAIL 1007: 'TFTP send with invalid permission on server' TFTP, TFTP WRQ, FAILURE FAIL 1008: 'HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, chunked Transfer-Encoding, NTLM FAIL 1009: 'TFTP retrieve with --local-port' TFTP, TFTP RRQ, --local-port FAIL 1010: 'FTP dir list nocwd' FTP, PASV, LIST FAIL 1011: 'HTTP POST with 301 redirect' HTTP, HTTP POST, followlocation FAIL 1012: 'HTTP POST with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1013: 'Compare curl --version with curl-config --protocols' curl-config FAIL 1014: 'Compare curl --version with curl-config --features' curl-config FAIL 1015: '--data-urlencode' HTTP, HTTP POST, --data-urlencode FAIL 1016: 'X-Y range on a file:// URL to stdout' FILE, Range FAIL 1017: '0-Y range on a file:// URL to stdout' FILE, Range FAIL 1018: 'X-X range on a file:// URL to stdout' FILE, Range FAIL 1019: 'X- range on a file:// URL to stdout' FILE, Range FAIL 1020: '-Y range on a file:// URL to stdout' FILE, Range FAIL 1021: 'HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 1022: 'Compare curl --version with curl-config --version' curl-config FAIL 1023: 'Compare curl --version with curl-config --vernum' curl-config FAIL 1024: 'HTTP Location: following with cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1025: 'HTTP Location: following with command-line and server cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1027: 'curl --help' --help FAIL 1028: 'HTTP Location: redirect to FTP URL' HTTP, HTTP GET, followlocation, FTP, PASV, FILE FAIL 1029: 'HTTP Location: and 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1030: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 1031: 'HTTP Location: following to a query string' HTTP, HTTP GET, followlocation FAIL 1032: 'HTTP HEAD with --range' HTTP, HTTP HEAD, Range FAIL 1033: 'HTTP GET with 102 response!' HTTP, HTTP GET FAIL 1034: 'HTTP over proxy with malformatted IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE, config file FAIL 1035: 'HTTP over proxy with too long IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE FAIL 1036: 'FTP download resume from end of file' FTP, PASV, RETR, Resume FAIL 1037: 'FTP download resume from end of empty file' FTP, PASV, RETR, Resume FAIL 1038: 'FTP PASV upload resume from end of file' FTP, EPSV, APPE, Resume FAIL 1039: 'FTP PASV upload resume from end of empty file' FTP, EPSV, APPE, Resume FAIL 1040: 'HTTP GET with resume from end of entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1041: 'HTTP PUT with resume from end of already-uploaded file' HTTP, HTTP PUT, Resume, Content-Range FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume, FAILURE FAIL 1043: 'HTTP GET with resume from end of file' HTTP, HTTP GET, Resume FAIL 1044: 'FTP download large file info with -I' FTP, NOBODY, Largefile FAIL 1045: 'HTTP GET with numeric localhost --interface' HTTP, HTTP GET, --interface FAIL 1046: 'HTTP-IPv6 GET with numeric localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1047: 'FTP dir list PASV with localhost --interface' FTP, PASV, LIST, --interface FAIL 1048: 'FTP-IPv6 dir list PASV with localhost --interface' FTP, FTP-ipv6, IPv6, PASV, LIST, --interface FAIL 1049: 'TFTP retrieve with localhost --interface' TFTP, TFTP RRQ, --interface FAIL 1050: 'FTP-IPv6 dir list, EPRT with specified IP' FTP, FTP-ipv6, IPv6, EPRT FAIL 1051: 'HTTP PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1052: 'HTTP 1.0 PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1053: 'HTTP RFC1867-type formposting from file with Location: following' HTTP, HTTP FORMPOST, HTTP file upload, followlocation FAIL 1054: 'HTTP POST from file with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1055: 'HTTP PUT Location: redirect to FTP URL' HTTP, HTTP PUT, followlocation, FTP, EPSV, STOR FAIL 1056: 'HTTP follow redirect from IPv4 to IPv6 with scope' HTTP, HTTP GET, followlocation, IPv6 FAIL 1057: 'FTP retrieve a byte-range relative to end of file' FTP, EPSV, RETR, Range FAIL 1058: 'HTTP range relative to end of file' HTTP, HTTP GET, Content-Range FAIL 1059: 'HTTP CONNECT with proxytunnel to unsupported FTP URL' HTTP, HTTP CONNECT, proxytunnel, FTP, FAILURE FAIL 1060: 'HTTP proxy CONNECT auth Digest, large headers and data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 1061: 'HTTP proxy CONNECT auth Digest, large headers and chunked data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, chunked Transfer-Encoding, proxytunnel, HTTP proxy Digest auth FAIL 1062: 'FTP with excessively long server command response lines, boundary condition' FTP, RETR, huge response FAIL 1063: 'Invalid large X- range on a file://' FILE, Range, FAILURE FAIL 1064: 'HTTP PUT twice' HTTP, HTTP PUT FAIL 1065: 'HTTP PUT with one file but two URLs' HTTP, HTTP PUT, HTTP GET FAIL 1066: 'HTTP --dump-header - with two URLs' HTTP, HTTP GET FAIL 1067: 'HTTP Location: following with auto-referer' HTTP, HTTP GET, followlocation FAIL 1068: 'HTTP PUT from stdin' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1069: 'HTTP 1.0 PUT from stdin with no content length' HTTP, HTTP PUT, HTTP/1.0 FAIL 1070: 'HTTP POST with server closing connection before (all) data is received' HTTP, HTTP POST FAIL 1071: 'Downgraded HTTP PUT to HTTP 1.0 with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0 FAIL 1072: 'HTTP chunked PUT to HTTP 1.0 server with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0, chunked Transfer-Encoding FAIL 1073: 'HTTP chunked PUT to HTTP 1.0 server with redirect' HTTP, HTTP PUT, HTTP/1.0, followlocation, chunked Transfer-Encoding FAIL 1074: 'HTTP downgrade to HTTP/1.0 on second request' HTTP, HTTP GET, HTTP/1.0, DELAY FAIL 1075: 'HTTP PUT with --anyauth authorization (picking Basic)' HTTP, HTTP PUT, HTTP Basic auth, --anyauth FAIL 1076: 'HTTP POST with 302 redirect and --post302' HTTP, HTTP POST, followlocation FAIL 1077: 'FTP over HTTP proxy with downgrade to HTTP 1.0' FTP, HTTP, HTTP/1.0, HTTP GET, HTTP proxy FAIL 1078: 'HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0' HTTP, HTTP/1.0, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1079: 'HTTP retry after closed connection and empty response' HTTP, HTTP GET, HTTP Digest auth FAIL 1080: 'HTTP Location: on two URLs 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1081: 'HTTP no Location: on second URL 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1082: 'HTTP GET with localhost --interface' HTTP, HTTP GET, --interface FAIL 1084: 'HTTP GET with invalid --interface' HTTP, HTTP GET, --interface, FAILURE, non-existing host FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, FAILURE, non-existing host FAIL 1087: 'HTTP, proxy with --anyauth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth FAIL 1088: 'HTTP, proxy with --anyauth and Location: to new host using location-trusted' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth, --location-trusted FAIL 1089: 'HTTP GET --write-out with redirected fetch' HTTP, HTTP GET, followlocation, --write-out FAIL 1090: 'HTTP GET --write-out with redirected fetch and chunked reply' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 1091: 'FTP URL with type=i' FTP, RETR, type= FAIL 1092: 'FTP with type=i over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy, type= FAIL 1093: 'TFTP retrieve with mode=i' TFTP, TFTP RRQ, mode= FAIL 1094: 'TFTP retrieve with mode=netascii' TFTP, TFTP RRQ, mode= FAIL 1095: 'HTTP with Digest and realm with quoted quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 1096: 'Two FTP downloads, with failed RETR but reused control connection' FTP, PASV, RETR, FAILURE FAIL 1098: 'FTP RETR twice over proxy confirming persistent connection' FTP, HTTP proxy, CURLOPT_PROXY FAIL 1099: 'TFTP get first a non-existing file then an existing' TFTP, TFTP RRQ, FAILURE FAIL 1101: 'NO_PROXY test, with user name in URL' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, http_proxy, NO_PROXY FAIL 1102: 'FTP OS/400 server name format check' FTP, SYST, SITE, OS400 FAIL 1103: 'FTP non-OS/400 server' FTP, SYST, SITE, OS400 FAIL 1104: 'HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1105: 'HTTP with cookie parser and header recording' HTTP, HTTP POST, cookies, cookiejar FAIL 1106: 'FTP URL and with ftp_proxy environment variable set' FTP, CURLOPT_PORT, HTTP proxy FAIL 1107: 'FTP RETR PASV with PRET' FTP, PASV, RETR, PRET FAIL 1108: 'FTP RETR PASV with PRET not supported' FTP, PASV, RETR, PRET FAIL 1109: 'HTTP GET with URL that contains fragment after the path' HTTP, CURLOPT_URL FAIL 1110: 'HTTP GET with URL that contains a fragment after the query part' HTTP, CURLOPT_URL FAIL 1111: 'HTTP GET with URL whose fragment contains a # (which is illegal)' HTTP, CURLOPT_URL FAIL 1114: 'FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)' FTP, wildcardmatch, ftplistparser FAIL 1115: 'HTTP GET with unexpected 1xx response' HTTP, HTTP 1xx response code FAIL 1116: 'HTTP GET with chunked trailer without Trailer:' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1117: 'HTTP with invalid range then another URL' HTTP, HTTP GET, Range, DELAY FAIL 1118: 'URL without slash and @-letter in query' HTTP, HTTP GET FAIL 1120: 'FTP with 421 timeout response' FTP, PORT, RETR, 421, timeout, FAILURE FAIL 1121: 'HTTP multiple provided Host: headers' HTTP FAIL 1122: 'HTTP GET gzip transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1123: 'HTTP GET deflate transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1124: 'HTTP GET gzip+chunked transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding, chunked Transfer-Encoding FAIL 1125: 'HTTP GET transfer-encoding with custom Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1126: 'HTTP 200 If-Modified-Since with newer document' HTTP, HTTP GET, If-Modified-Since FAIL 1127: 'HTTP 200 If-Modified-Since with older document' HTTP, HTTP GET, If-Modified-Since FAIL 1128: 'HTTP 200 If-Modified-Since with old+new documents' HTTP, HTTP GET, If-Modified-Since FAIL 1129: 'HTTP POST expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1130: 'HTTP POST forced expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1131: 'HTTP PUT expect 100-continue with a 400' HTTP, HTTP PUT, Expect: 100-continue FAIL 1133: 'HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'' HTTP, HTTP FORMPOST FAIL 1134: 'HTTP connection reuse with different credentials' HTTP, HTTP HEAD, -G FAIL 1136: 'Check cookies against PSL' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, PSL FAIL 1137: 'FTP RETR --ignore-content-length' FTP, PASV, RETR, --ignore-content-length FAIL 1138: 'HTTP redirect with UTF-8 characters' HTTP, HTTP GET, followlocation FAIL 1141: 'HTTP redirect to http:/// (three slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1142: 'HTTP redirect to http://// (four slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1143: 'HTTP URL with http:/ (one slash!)' HTTP, HTTP GET, followlocation FAIL 1144: 'HTTP HEAD, receive no headers only body' HTTP, HTTP HEAD, HTTP/0.9 FAIL 1145: 'file:// bad host' FILE FAIL 1146: '--proto-default file' FILE, --proto-default FAIL 1147: 'Get -H headers from a file' HTTP, HTTP GET, -H FAIL 1148: 'progress-bar' HTTP, progressbar FAIL 1149: 'FTP dir list multicwd then again nocwd' FTP, PASV, LIST FAIL 1150: 'HTTP proxy with URLs using different ports' HTTP, HTTP GET, HTTP proxy FAIL 1151: 'HTTP with too long cookies' HTTP, HTTP GET, cookies FAIL 1152: 'FTP with uneven quote in PWD response' FTP, PASV, LIST FAIL 1153: 'FTP with quoted double quotes' FTP, PASV, LIST FAIL 1154: 'HTTP GET with 100K (too long) response header' HTTP, HTTP GET FAIL 1155: 'HTTP cookie with parameter word as name' HTTP, HTTP GET, cookies FAIL 1156: 'HTTP resume/range fail range-error content-range combinations' HTTP, HTTP GET, Content-Range, Resume, Range FAIL 1157: 'Get -H headers from empty file' HTTP, HTTP GET, -H FAIL 1158: 'HTTP RFC1867-type formposting with filename containing '"'' HTTP, HTTP FORMPOST FAIL 1159: 'HTTP Location: and 'redirect_url' with non-supported scheme' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1160: 'HTTP with long funny format cookie' HTTP, HTTP GET, cookies FAIL 1161: 'HTTP cookie with path set twice' HTTP, HTTP GET, cookies FAIL 1164: 'HTTP/0.9 GET and all zeroes' HTTP, HTTP GET FAIL 1166: 'HTTP response with cookies but not receiving!' HTTP, HTTP GET, followlocation, cookies FAIL 1168: 'HTTP redirect with credentials using # in user and password' HTTP, HTTP GET, followlocation FAIL 1170: 'HTTP GET transfer-encoding with removed Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1171: 'HTTP GET transfer-encoding with blanked Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1172: 'HTTP/0.9 GET response denied' HTTP, HTTP/0.9 FAIL 1174: 'HTTP/0.9 GET response denied by default' HTTP, HTTP/0.9 FAIL 1176: '--output using #0' globbing FAIL 1178: 'HTTP proxy auth with credentials longer than 256 bytes' HTTP, HTTP GET, HTTP proxy FAIL 1180: 'HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"' HTTP, HTTP proxy FAIL 1181: 'HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"' HTTP, HTTP proxy FAIL 1183: '%TESTNUMBER used instead of actual test number' HTTP, HTTP GET FAIL 1186: 'Multipart formposting with backslash-escaping filename containing '"'' HTTP, HTTP FORMPOST FAIL 1187: 'SMTP multipart with file name escaping' SMTP, MULTIPART FAIL 1188: '--write-out with %{onerror} and %{urlnum} to stderr' HTTP, HTTP GET, --write-out FAIL 1189: 'Multipart formposting with backslash-escaping of name= and filename=' HTTP, HTTP FORMPOST FAIL 1190: 'MQTT SUBSCRIBE' MQTT, MQTT SUBSCRIBE FAIL 1191: 'MQTT PUBLISH' MQTT, MQTT PUBLISH FAIL 1192: 'MQTT SUBSCRIBE 2k topic' MQTT, MQTT SUBSCRIBE FAIL 1193: 'MQTT PUBLISH 2k payload' MQTT, MQTT PUBLISH FAIL 1194: 'MQTT SUBSCRIBE with PUBLISH before SUBACK' MQTT, MQTT SUBSCRIBE FAIL 1195: 'MQTT SUBSCRIBE with short PUBLISH' MQTT, MQTT SUBSCRIBE FAIL 1196: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 1197: 'HTTP POST redirected to GET and --write-out method' HTTP, HTTP GET, followlocation, --write-out FAIL 1198: 'MQTT PUBLISH empty payload, single space topic' MQTT, MQTT SUBSCRIBE FAIL 1199: 'MQTT PUBLISH empty payload, no topic' MQTT, MQTT SUBSCRIBE FAIL 1200: 'Gopher index' GOPHER, INDEX FAIL 1201: 'Gopher selector' GOPHER, SELECTOR FAIL 1202: 'Gopher query' GOPHER, QUERY FAIL 1203: 'Gopher IPv6 index' GOPHER-ipv6, IPv6, INDEX FAIL 1204: 'HTTP with WWW-Authenticate and multiple auths in a single line' HTTP, HTTP GET, HTTP Basic auth, --anyauth FAIL 1205: 'HTTP GET with 18K HTTP header' HTTP, HTTP GET FAIL 1206: 'FTP PORT and 425 on download' FTP, PORT, RETR, NODATACONN425 FAIL 1207: 'FTP PORT and 421 on download' FTP, PORT, RETR, NODATACONN421 FAIL 1210: 'HTTP GET with -J without Content-Disposition' HTTP, HTTP GET, -J FAIL 1212: 'noproxy setting together with socks proxy' HTTP, SOCKS5, NO_PROXY, noproxy FAIL 1213: 'HTTP with proxy and host-only URL' HTTP, HTTP GET, HTTP proxy FAIL 1214: 'HTTP with proxy and URL with ? and no slash separator' HTTP, HTTP GET, HTTP proxy FAIL 1215: 'HTTP with server NTLM authorization using a proxy' HTTP, HTTP GET, HTTP NTLM auth, HTTP proxy, NTLM FAIL 1216: 'HTTP cookie domains tailmatching the host name' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1217: 'FTP with rubbish before name in 257-response' FTP, PORT, NLST, --data-binary FAIL 1218: 'HTTP cookies and domains with same prefix' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1219: 'FTP with no user+password required (230 response)' FTP, PASV, RETR FAIL 1220: 'file:// URLs with query string' FILE, URL FAIL 1221: '--url-query with --data-urlencode' HTTP, HTTP POST, --data-urlencode, --url-query FAIL 1223: 'HTTP GET -w remote_ip and -w remote_port' HTTP, HTTP GET FAIL 1224: 'FTP fetch a file from the root directory' FTP, PASV, RETR FAIL 1225: 'FTP fetch two files using absolute paths' FTP, PASV, RETR FAIL 1226: 'FTP fetch a file from the root directory with singlecwd' FTP, PASV, RETR FAIL 1227: 'FTP fetch a file from the root directory with nocwd' FTP, PASV, RETR FAIL 1228: 'HTTP cookie path match' HTTP, HTTP GET, HTTP proxy, cookies, cookie path FAIL 1229: 'HTTP with Digest authorization with user name needing escape' HTTP, HTTP GET, HTTP Digest auth FAIL 1230: 'HTTP CONNECT to IPv6 numerical address' HTTP, HTTP CONNECT, HTTP proxy, IPv6 FAIL 1231: 'HTTP URL with dotdot removal from path' HTTP, HTTP GET, dotdot removal FAIL 1232: 'HTTP URL with dotdot removal from path using an HTTP proxy' HTTP, HTTP GET, HTTP proxy, dotdot removal FAIL 1233: 'FTP failing to connect to EPSV port, switching to PASV' FTP, connect to non-listen FAIL 1234: 'abusing {}-globbing' globbing, {} list, FAILURE FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list FAIL 1236: '[] globbing overflowing the range counter' globbing, FAILURE FAIL 1237: 'URL with 1000+ letter user name + password' HTTP, HTTP Basic auth FAIL 1238: 'slow TFTP retrieve cancel due to -Y and -y' TFTP, TFTP RRQ, timeout, FAILURE, DELAY FAIL 1239: 'HTTP with -z + -w response_code and simulated 304' HTTP, HTTP GET, -z FAIL 1240: 'glob [0-1] with stuff after range (7.33.0 regression)' globbing, HTTP FAIL 1241: 'HTTP _without_ dotdot removal' HTTP, HTTP GET, HTTP proxy FAIL 1242: 'TFTP retrieve without TFTP options requests' TFTP, TFTP RRQ FAIL 1243: 'TFTP send without TFTP options requests' TFTP, TFTP WRQ FAIL 1245: '--proto deny must override --proto-redir allow' FTP, HTTP, HTTP GET, --proto, --proto-redir, followlocation FAIL 1246: 'URL with '#' at end of host name instead of '/'' HTTP, HTTP GET, HTTP proxy FAIL 1247: '--fail-early' HTTP, --fail-early FAIL 1248: 'Non-proxied host plus --proxy option and --noproxy option' HTTP, HTTP proxy, noproxy FAIL 1249: 'Non-proxied plus --proxy option and NO_PROXY env var' HTTP, HTTP proxy, NO_PROXY FAIL 1250: 'Non-proxied host plus http_proxy env var and --noproxy option' HTTP, HTTP proxy, http_proxy, noproxy FAIL 1251: 'Non-proxied host plus http_proxy env var and NO_PROXY env var' HTTP, HTTP proxy, http_proxy, NO_PROXY FAIL 1252: '--proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1253: '--proxy, override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1254: 'override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1255: 'http_proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1256: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1257: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1258: 'HTTP, use cookies with localhost' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 1259: 'HTTP URL with semicolon in password' HTTP, HTTP GET FAIL 1260: 'HTTP URL with rubbish after port number' HTTP, HTTP GET FAIL 1261: ''redirect_url' with --location and --max-redirs' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1262: 'FTP request and denied to download an older file with -z' FTP, RETR, -z FAIL 1263: 'HTTP URL with rubbish after IPv6 bracket' HTTP, HTTP GET FAIL 1264: 'HTTP URL with space in host name' HTTP, HTTP GET FAIL 1265: 'NO_PROXY with IPv6 numerical address' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy, IPv6 FAIL 1266: 'HTTP GET with a single-byte HTTP/0.9 response' HTTP/0.9 FAIL 1267: 'HTTP GET with an invalid HTTP/1 response line start' HTTP/0.9 FAIL 1268: 'filename argument looks like a flag' warning FAIL 1269: 'too large --retry-delay value' --retry-delay FAIL 1270: 'Basic 'redirect_url'' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1271: '--write-out from file with empty file' HTTP, HTTP GET, --write-out FAIL 1273: '-f and resume transfer of an entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1274: 'HTTP header line folding' HTTP, HTTP GET, header line folding FAIL 1277: 'HTTP GET with both content and transfer encoding' HTTP, HTTP GET, compressed, Transfer-Encoding, Content-Encoding FAIL 1278: 'verify extra --no-remote-name' --no-remote-name FAIL 1280: 'simple [a-d] globbing' globbing FAIL 1281: 'reject non-numerical port number in URL' URL FAIL 1282: 'FTP with 633 response before gss initialized' FTP, PASV, RETR FAIL 1283: 'globbing range with same start and stop' HTTP, HTTP GET, globbing, [] range FAIL 1284: 'HTTP POST --digest with user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 1285: 'HTTP PUT --digest with user-specified Content-Length header' HTTP, HTTP PUT, HTTP Digest auth FAIL 1286: 'HTTP GET --digest increasing nonce-count' HTTP, HTTP GET, HTTP Digest auth, followlocation FAIL 1287: 'HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses' HTTP, HTTP GET, HTTP CONNECT, proxytunnel, verbose logs FAIL 1288: 'Suppress proxy CONNECT response headers' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1289: 'globbing with overflow and bad syntax' HTTP, HTTP GET, globbing FAIL 1290: 'Verify URL globbing ignores []' HTTP, HTTP GET, globbing FAIL 1291: 'Attempt to upload 1000 files but fail immediately' HTTP, HTTP PUT FAIL 1292: 'Replaced internal headers with a blank one' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 1293: 'Multipart formpost to two URLs, the first failing' HTTP, HTTP GET, -F FAIL 1296: 'HTTP URL with %0a in name part' HTTP, HTTP Basic FAIL 1297: 'CONNECT to peer that returns nothing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1298: 'HTTP GET special path with --request-target' HTTP, HTTP GET, --request-target FAIL 1299: 'Send "OPTIONS *" with --request-target' HTTP, --request-target FAIL 1300: 'llist unit tests' unittest, llist FAIL 1302: 'base64 encode/decode unit tests' unittest, base64 FAIL 1303: 'Curl_timeleft unit tests' unittest, Curl_timeleft FAIL 1308: 'formpost tests' curl_formadd, curl_formget, FORM FAIL 1309: 'splay unit tests' unittest, splay FAIL 1310: 'HTTP GET with -J + --show-headers' HTTP, HTTP GET, -J, --show-headers FAIL 1311: 'HTTP GET with -J and Content-Disposition' HTTP, HTTP GET, -J FAIL 1312: 'HTTP GET with -J, Content-Disposition and ; in filename' HTTP, HTTP GET, -J FAIL 1313: 'HTTP GET with -J, Content-Disposition, uneven quotes' HTTP, HTTP GET, -J FAIL 1314: 'HTTP Location: following a // prefixed url' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1315: 'HTTP RFC1867-type formposting - -F with three files, one with explicit type' HTTP, HTTP FORMPOST, HTTP file upload FAIL 1317: 'HTTP with --resolve' HTTP, HTTP GET, --resolve FAIL 1318: 'HTTP with --resolve and same host name using different cases' HTTP, HTTP GET, --resolve FAIL 1319: 'POP3 fetch tunneled through HTTP proxy' POP3, RETR, HTTP, HTTP CONNECT, HTTP proxy FAIL 1320: 'SMTP send tunneled through HTTP proxy' SMTP, HTTP, HTTP CONNECT, HTTP proxy FAIL 1321: 'IMAP FETCH tunneled through HTTP proxy' IMAP, FETCH, HTTP, HTTP CONNECT, HTTP proxy FAIL 1322: 'HTTP with --resolve and hostname with trailing dot' HTTP, HTTP GET, --resolve, trailing-dot FAIL 1324: 'HTTP with --resolve and [ipv6address]' HTTP, HTTP GET, IPv6, --resolve FAIL 1325: 'HTTP 308-redirect with POST' HTTP, HTTP GET, 308, followlocation FAIL 1326: 'TELNET to HTTP server' TELNET, UPLOAD FAIL 1327: 'TELNET check of upload with stdout redirected' TELNET, UPLOAD FAIL 1328: 'HTTP GET a globbed range with -f' HTTP, HTTP GET, globbing, --fail FAIL 1329: '/-prefixed proxy name' HTTP proxy FAIL 1331: 'HTTP --proxy-anyauth and 407 with cookies' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1332: 'HTTP POST with 303 redirect and --post303' HTTP, HTTP POST, followlocation FAIL 1333: 'HTTP POST zero length, chunked-encoded' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1334: 'HTTP GET with -O without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1335: 'HTTP GET with -O without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1336: 'HTTP GET with -O and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1337: 'HTTP GET with -O and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1338: 'HTTP GET with -O -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1339: 'HTTP GET with -O -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1340: 'HTTP GET with -O -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1341: 'HTTP GET with -O -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1342: 'HTTP GET with -O -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1343: 'HTTP GET with -O -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1344: 'HTTP GET with -O -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1345: 'HTTP GET with -O -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1346: 'HTTP GET with -O -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1347: 'HTTP GET with -O -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1348: 'FTP download, file without Content-Disposition inside, using -O' FTP, RETR FAIL 1349: 'FTP download, file without C-D inside, using -O -D file' FTP, RETR FAIL 1350: 'FTP download, file without C-D inside, using -O -D stdout' FTP, RETR FAIL 1351: 'FTP download, file without C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1352: 'FTP download, file without C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1353: 'FTP download, file without C-D inside, using -O -i -D file' FTP, RETR FAIL 1354: 'FTP download, file without C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1355: 'FTP download, file without C-D inside, using -O -i, without -D' FTP, RETR FAIL 1356: 'FTP download, file with Content-Disposition inside, using -O' FTP, RETR FAIL 1357: 'FTP download, file with C-D inside, using -O -D file' FTP, RETR FAIL 1358: 'FTP download, file with C-D inside, using -O -D stdout' FTP, RETR FAIL 1359: 'FTP download, file with C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1360: 'FTP download, file with C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1361: 'FTP download, file with C-D inside, using -O -i -D file' FTP, RETR FAIL 1362: 'FTP download, file with C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1363: 'FTP download, file with C-D inside, using -O -i, without -D' FTP, RETR FAIL 1364: 'HTTP GET -o fname without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1365: 'HTTP GET -o fname without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1366: 'HTTP GET -o fname and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1367: 'HTTP GET -o fname and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1368: 'HTTP GET -o fname -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1369: 'HTTP GET -o fname -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1370: 'HTTP GET -o fname -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1371: 'HTTP GET -o fname -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1372: 'HTTP GET -o fname -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1373: 'HTTP GET -o fname -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1374: 'HTTP GET -o fname -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1375: 'HTTP GET -o fname -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1376: 'HTTP GET -o fname -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1377: 'HTTP GET -o fname -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1378: 'FTP DL, file without Content-Disposition inside, using -o fname' FTP, RETR FAIL 1379: 'FTP DL, file without C-D inside, using -o fname -D file' FTP, RETR FAIL 1380: 'FTP DL, file without C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1381: 'FTP DL, file without C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1382: 'FTP DL, file without C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1383: 'FTP DL, file without C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1384: 'FTP DL, file without C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1385: 'FTP DL, file without C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1386: 'FTP DL, file with Content-Disposition inside, using -o fname' FTP, RETR FAIL 1387: 'FTP DL, file with C-D inside, using -o fname -D file' FTP, RETR FAIL 1388: 'FTP DL, file with C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1389: 'FTP DL, file with C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1390: 'FTP DL, file with C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1391: 'FTP DL, file with C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1392: 'FTP DL, file with C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1393: 'FTP DL, file with C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1396: 'curl_easy_escape and curl_easy_unescape' unittest, curl_easy_escape, curl_easy_unescape FAIL 1398: 'curl_msnprintf unit tests' unittest, curl_msnprintf FAIL 1400: '--libcurl for simple HTTP GET' HTTP, HTTP GET, --libcurl FAIL 1401: '--libcurl for GET with various options' HTTP, HTTP GET, HTTP Basic auth, HTTP set cookie, cookies, --libcurl FAIL 1402: '--libcurl for simple POST' HTTP, HTTP POST, --libcurl FAIL 1403: '--libcurl for GET with query' HTTP, HTTP GET, --libcurl FAIL 1404: '--libcurl plus -F with 3 files, one with explicit type & encoder' HTTP, HTTP FORMPOST, HTTP file upload, --libcurl FAIL 1405: '--libcurl for FTP with quote ops' FTP, post-quote, pre-quote, --libcurl FAIL 1406: '--libcurl for SMTP' SMTP, --libcurl FAIL 1407: '--libcurl for POP3 LIST one message' POP3, Clear Text , LIST, --libcurl FAIL 1408: 'HTTP receive cookies over IPV6' HTTP, HTTP GET, IPv6, cookies, cookiejar FAIL 1409: 'Pass in string to -C' cmdline, FAILURE FAIL 1410: 'Pass in negative number to --max-time' cmdline, FAILURE FAIL 1411: 'HTTP with zero size file PUT' HTTP, HTTP PUT FAIL 1412: 'HTTP GET with --anyauth with two URLs (picking Digest)' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 1413: 'HTTP redirect with fragment in new URL' HTTP, HTTP GET, followlocation FAIL 1414: 'FTP PORT without SIZE or EPRT support' FTP, PORT, RETR, no SIZE FAIL 1415: 'Delete expired cookies' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, delete expired cookie FAIL 1416: 'HTTP GET with chunked Transfer-Encoding overflowed chunked size' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1417: 'HTTP GET with chunked encoding and chunked trailer without CRs' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1418: 'HTTP with --anyauth and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1419: 'HTTP with --anyauth (but no auth!) and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1420: '--libcurl for IMAP FETCH message' IMAP, Clear Text , FETCH, --libcurl FAIL 1421: 'Reusing HTTP proxy connection for two different host names' HTTP, HTTP GET, HTTP proxy FAIL 1422: 'HTTP GET with -O -J and Content-Disposition (empty file)' HTTP, HTTP GET, -J FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, HTTP GET FAIL 1424: 'HTTP GET -o fname without Content-Disposition (unmet time condition)' HTTP, HTTP GET, If-Modified-Since, -z FAIL 1427: 'too large -m timeout value' integer overflow FAIL 1428: 'HTTP over proxy-tunnel with --proxy-header and --header' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 1429: 'HTTP GET with 999 response code' HTTP, HTTP GET, HTTP/0.9 FAIL 1430: 'HTTP GET with negative response code' HTTP, HTTP GET FAIL 1431: 'HTTP GET with single-digit response code' HTTP, HTTP GET FAIL 1432: 'HTTP GET with 100-digit response code and survive' HTTP, HTTP GET FAIL 1433: 'HTTP GET with 100-digit subversion number in response' HTTP, HTTP GET FAIL 1434: 'HTTP GET resume at exactly the existing file size is fine' HTTP, HTTP GET, Resume FAIL 1435: 'simple HTTP GET over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1436: 'HTTP requests with multiple connections over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1437: 'HTTP with duplicated WWW-Authenticate parameters' HTTP, HTTP GET, HTTP Digest auth FAIL 1438: 'Check if %{scheme} returns HTTP' HTTP, protocol, --write-out FAIL 1439: 'Check if %{http_version} returns 1.1' HTTP, --write-out FAIL 1440: 'Check --write-out with trailing %{' --write-out, FILE FAIL 1441: 'Check --write-out with trailing %' --write-out, FILE FAIL 1442: 'Check --write-out with trailing \' --write-out, FILE FAIL 1443: 'HTTP GET with -O and --remote-time' HTTP, HTTP GET, -O, --remote-time FAIL 1444: 'FTP with --remote-time' FTP, EPSV, RETR, --remote-time FAIL 1445: 'file:// with --remote-time' FILE, --remote-time FAIL 1447: 'Provide illegal proxy name' HTTP proxy, FAILURE FAIL 1448: 'Redirect following to UTF-8 IDN host name' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 1449: 'FTP download range with integer overflow' FTP, PASV, RETR, Resume FAIL 1453: 'Too long tftp filename' Too long tftp filename, FAILURE FAIL 1455: 'HTTP GET when PROXY Protocol enabled' HTTP, HTTP GET, proxy, haproxy FAIL 1456: 'HTTP-IPv6 GET with PROXY protocol' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 1457: 'Check if %{stderr} and %{stdout} switch between stdout and stderr.' HTTP, protocol, --write-out FAIL 1458: 'HTTP with wildcard --resolve' HTTP, HTTP GET, --resolve FAIL 1460: 'HTTP GET with -Ji and Content-Disposition with existing file' HTTP, HTTP GET, -J FAIL 1462: 'curl invalid category --help' --help FAIL 1463: 'curl file category --help' FILE, --help FAIL 1464: 'curl file category --help with lower/upper mix' FILE, --help FAIL 1465: '--libcurl for POST with binary content' HTTP, HTTP POST, --libcurl FAIL 1466: 'HTTP GET with 3-digit response and only digits in reason' HTTP, HTTP GET FAIL 1467: 'HTTP GET via SOCKS5 proxy via Unix sockets' HTTP, HTTP GET, SOCKS5, UnixSockets FAIL 1468: 'HTTP GET with host name using SOCKS5h via Unix sockets' HTTP, HTTP GET, SOCKS5, SOCKS5h, UnixSockets FAIL 1469: 'Space in FTP upload URL' FTP, URL, FAILURE FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor, FAILURE FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor, FAILURE FAIL 1473: 'first HTTP header starts with white space' HTTP, HTTP GET, header line folding FAIL 1474: '--proto -all disables all protocols' HTTP, HTTP GET, --proto FAIL 1475: '-f and 416 with Content-Range: */size' HTTP, HTTP GET, Resume FAIL 1476: 'PSL violating cookie with mixed case domain and cookie domain property' HTTP, HTTP GET, cookies FAIL 1479: 'HTTP/1.1 response followed by an HTTP/0.9 response over the same connection' HTTP, HTTP/0.9 FAIL 1480: 'HTTP Continue response without final response' HTTP FAIL 1481: '--libcurl with TLS version options' HTTP, HTTP GET, --libcurl FAIL 1482: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1483: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1484: 'HTTP HEAD with response body to ignore' HTTP, HTTP HEAD FAIL 1485: 'get curlinfo on last header in callback' HTTP, HTTP GET FAIL 1487: 'HTTP GET with -J and Content-Disposition on 301' HTTP, HTTP GET, -J FAIL 1489: '-D sent to stderr' HTTP, HTTP GET FAIL 1490: '"upload" with file:// overwriting existing' FILE FAIL 1491: 'file:// don't overwrite self with --skip-existing' FILE FAIL 1492: 'HTTP GET with -J + --show-headers but no Content-Disposition:' HTTP, HTTP GET, -J, --show-headers FAIL 1493: 'HTTP GET with identity + chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1494: 'HTTP GET with identity twice in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1495: 'HTTP GET with chunked + identity in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1496: 'HTTP GET with gzip + chunked transfer-encoding without being asked' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1497: 'HTTP GET --retry on 503 error with output to /dev/null' HTTP, HTTP GET, retry FAIL 1498: 'HTTP PUT from stdin using period' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1499: 'HTTP chunked encoding and chunked trailer, twice' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1500: 'curl_multi_wait' HTTP, HTTP GET, multi FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi FAIL 1508: 'Close a multi handle without using it' HTTP, multi FAIL 1509: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, FAILURE, resolve FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, FAILURE, resolve FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response FAIL 1518: 'Extract Location: with broken URL' HTTP FAIL 1519: 'Extract Location: with broken absolute URL' HTTP FAIL 1520: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY FAIL 1524: 'HTTP PUT with 303 redirect' HTTP, HTTP PUT, followlocation FAIL 1525: 'CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1527: 'Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1541: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET FAIL 1546: 'HTTP transfer-encoding wrong order' HTTP, HTTP GET, Transfer-Encoding FAIL 1547: 'FTP dir list PASV overriding PORT' FTP, PASV, LIST FAIL 1548: 'TELNET read stdin without upload file' TELNET FAIL 1549: 'Receive expired cookies and CURLINFO_COOKIELIST' HTTP, cookies FAIL 1550: 'verify setting pipelining blocklisting options' multi FAIL 1551: 're-run redirected transfer without setting URL again' multi FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH FAIL 1553: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET FAIL 1557: 'Remove easy handle in pending connections doesn't leave dangling entry' multi, crash FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs FAIL 1563: 'Make sure redirects to CURLPROTO_GOPHER are forbidden by default' GOPHER, HTTP GET, followlocation FAIL 1564: 'wakeup before poll with no easy handles' multi, wakeup FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup FAIL 1566: '--etag-compare that gets a 304 back shouldn't overwrite the file' HTTP, HTTP GET, --etag-compare FAIL 1567: 're-run redirected transfer without setting CURLU URL again' HTTP, URL API, CURLOPT_CURLU, CURLOPT_FOLLOWLOCATION FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR FAIL 1571: 'CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1572: 'CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1573: 'CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1574: 'CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1575: 'CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1576: 'CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1577: 'CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1578: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1579: 'CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1580: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1581: 'CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1599: 'FTP with netrc using no user but control code in password' FTP, netrc FAIL 1600: 'NTLM unit tests' unittest, NTLM FAIL 1601: 'MD5 unit tests' unittest, MD5 FAIL 1605: 'Test negative data lengths as input to libcurl functions' unittest FAIL 1606: 'verify speedcheck' unittest, speedcheck FAIL 1607: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE FAIL 1608: 'verify DNS shuffling' unittest, curlopt_dns_shuffle_addresses FAIL 1609: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE FAIL 1610: 'SHA256 unit tests' unittest, SHA256 FAIL 1611: 'MD4 unit tests' unittest, MD4 FAIL 1612: 'HMAC unit tests' unittest, HMAC FAIL 1613: 'Send "OPTIONS *" with --request-target to a proxy' HTTP, HTTP proxy, --request-target FAIL 1615: 'SHA-512/256 unit tests' unittest, SHA-512/256 FAIL 1620: 'unit tests for url.c' unittest, URL FAIL 1621: 'unit tests for stripcredentials from URL' unittest, stripcredentials FAIL 1633: '--retry with a 429 response and Retry-After:' HTTP, HTTP GET, RETRY-AFTER FAIL 1634: '--retry with a 429 response and Retry-After: and --fail' HTTP, HTTP GET, RETRY-AFTER FAIL 1635: '--retry with a 429 response and Retry-After: and --fail-with-body' HTTP, HTTP GET, RETRY-AFTER FAIL 1652: 'infof' unittest, infof FAIL 1654: 'alt-svc' unittest, Alt-Svc FAIL 1660: 'HSTS' unittest, HSTS FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header FAIL 1680: 'HTTP GET with explicit clobber' HTTP, HTTP GET, --clobber FAIL 1681: 'HTTP GET without clobber' HTTP, HTTP GET, --no-clobber FAIL 1682: 'HTTP GET without clobber and --output-dir' HTTP, HTTP GET, --no-clobber FAIL 1683: 'HTTP GET without clobber when 100 files already exist' HTTP, HTTP GET, --no-clobber FAIL 1704: 'HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response' HTTP, HTTP GET, HTTP/2 FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE FAIL 1904: 'HTTP CONNECT with 204 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1905: 'CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object' HTTP, cookies, FLUSH FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL FAIL 1909: 'HTTP GET --retry-all-errors to overcome partial transfer' HTTP, HTTP GET, retry FAIL 1910: 'HTTP credentials with newline and redirect' HTTP, HTTP Basic, CURLOPT_FOLLOWLOCATION FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' connection reuse FAIL 1940: 'curl_easy_header' curl_easy_header FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT FAIL 1944: 'curl_easy_header with redirect' curl_easy_header FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED FAIL 1964: 'HTTP AWS_SIGV4 with X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4 FAIL 1977: 'CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL' CURLOPT_CURLU, CURLINFO_EFFECTIVE_URL FAIL 2000: 'FTP RETR followed by FILE' FTP, PASV, FILE, multiprotocol FAIL 2001: 'HTTP GET followed by FTP RETR followed by FILE' HTTP, HTTP GET, FTP, PASV, FILE, multiprotocol FAIL 2002: 'HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2003: 'HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2005: 'netrc match with password only in file, no username. machine follows' HTTP, netrc FAIL 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2025: 'HTTP authorization retry (Basic switching to NTLM)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth FAIL 2028: 'HTTP authorization retry (Digest switching to NTLM)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2029: 'HTTP authorization retry (NTLM switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2030: 'HTTP authorization retry (NTLM switching to Digest)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2031: 'HTTP authorization retry (NTLM)' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 2039: 'FTP (optional .netrc with 'default' override; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 2040: 'HTTP Basic authorization, then without authorization' HTTP, HTTP GET, HTTP Basic auth FAIL 2044: 'Attempt to set a default protocol that does not exist' --proto-default FAIL 2045: 'Set the default protocol to ftp for a schemeless URL' FTP, --proto-default FAIL 2046: 'Connection reuse with IDN host name' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 2047: 'Connection reuse with IDN host name over HTTP proxy' HTTP, HTTP GET, HTTP proxy, IDN, followlocation, --write-out FAIL 2049: 'Connect to specific host' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2050: '--connect-to via HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO FAIL 2051: 'Connect to specific host: Reuse existing connections if possible' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2052: '--connect-to: do not mix connections with and without a "connect to host"' HTTP, HTTP GET, CURLOPT_CONNECT_TO, --resolve FAIL 2053: 'Connect to specific host with IP addresses' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2054: 'Connect to specific host: use the first "connect-to" string that matches' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2055: '--connect-to via SOCKS proxy and HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5 FAIL 2058: 'HTTP Digest with PUT, resumed upload, modified method and SHA-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2059: 'HTTP Digest with PUT, resumed upload, modified method, SHA-256 and userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2060: 'HTTP Digest with PUT, resumed upload, SHA-512-256, userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2061: 'HTTP with RFC7616 SHA256 Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 2062: 'HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false' HTTP, HTTP GET, HTTP Digest auth FAIL 2063: 'HTTP with RFC7616 SHA-256 Digest authorization and userhash=true' HTTP, HTTP GET, HTTP Digest auth FAIL 2064: 'HTTP with RFC7616 Digest authorization with bad password and SHA256' HTTP, HTTP GET, HTTP Digest auth FAIL 2065: 'HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2066: 'HTTP with RFC7616 Digest, bad password, SHA-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2067: 'HTTP POST --digest with SHA256 and user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2068: 'HTTP POST Digest with SHA-512-256, userhash and set Content-Length' HTTP, HTTP POST, HTTP Digest auth FAIL 2069: 'HTTP POST Digest with SHA-256, userhash and set Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2071: 'basic file:// file with "127.0.0.1" hostname' FILE FAIL 2072: 'file:// with Unix path resolution behavior for the case of extra slashes' FILE FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST FAIL 2074: 'HTTP GET' HTTP, HTTP GET, AUTH OAUTHBEARER FAIL 2075: 'Verify usernames are not allowed in url' --disallow-username-in-url, HTTP FAIL 2076: 'HTTP with digest auth and URI contains query' HTTP, HTTP GET, HTTP Digest auth FAIL 2077: 'curl --fail --negotiate to unauthenticated service fails' HTTP, HTTP GET, GSS-API FAIL 2078: 'curl --negotiate should not send empty POST request only' HTTP, HTTP GET, GSS-API FAIL 2080: 'config file with overly long option' FILE, config FAIL 2081: 'Automatic referrer credential and anchor stripping check' HTTP, HTTP GET, referer, followlocation, --write-out FAIL 2082: 'Pre-request callback for HTTP' HTTP FAIL 2083: 'Pre-request callback for FTP' FTP FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6 FAIL 2200: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2201: 'MQTT PUBLISH with user and password valid' MQTT, MQTT PUBLISH FAIL 2202: 'MQTT PUBLISH with invalid user and password' MQTT, MQTT PUBLISH FAIL 2203: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 2204: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2205: 'MQTT with very long user name' MQTT, MQTT SUBSCRIBE FAIL 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET FAIL 2307: 'FTP retrieve a byte-range with end larger than file' FTP, EPSV, RETR, Range FAIL 2308: 'verify return code when write callback returns error' HTTP, HTTP GET FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP FAIL 2601: 'bufq unit tests' unittest, bufq FAIL 2603: 'http1 parser unit tests' unittest, http1 FAIL 2604: 'Curl_get_pathname unit test' unittest FAIL 3002: 'SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3003: 'SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3004: 'SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3005: 'SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3006: 'SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3007: 'SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3008: '--output-dir' -O FAIL 3009: '--output-dir a non-existing directory' -O FAIL 3010: 'HTTP retry-after reset' HTTP, HTTP Basic, RETRY-AFTER FAIL 3011: '--output-dir with --create-dirs' -O FAIL 3012: '--output-dir with -J and -R' -O, -J, --output-dir, --remote-time FAIL 3013: 'Two --output-dir with --next in between' -O, -J, --output-dir FAIL 3014: 'Check if %{num_headers} returns correct number of headers' HTTP, --write-out FAIL 3015: 'HTTP GET -w num_headers with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 3016: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3017: 'MQTT SUBSCRIBE with pathological PUBLISH length' MQTT, MQTT SUBSCRIBE FAIL 3018: 'MQTT SUBSCRIBE with PUBLISH larger than --max-filesize' MQTT, MQTT SUBSCRIBE, --max-filesize FAIL 3019: 'HTTP with invalid --resolve syntax' HTTP, HTTP GET, --resolve FAIL 3020: 'HTTP with invalid --connect-to syntax' HTTP, HTTP GET, --connect-to FAIL 3025: 'CURLOPT_HTTP200ALIASES' HTTP, HTTP GET FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail FAIL 3028: 'HTTP GET when PROXY Protocol enabled behind a proxy' HTTP, HTTP CONNECT FAIL 3029: 'HTTP with multiple -D' HTTP FAIL 3030: 'HTTP with multiple transfers in one -D' HTTP FAIL 3031: '--output-dir with --create-dirs' --dump-header FAIL 3032: 'HTTP redirect loop 3x swsbounce test' HTTP, --location FAIL 3033: 'CURLOPT_FRESH_CONNECT=2' curl_easy_setopt, connection reuse, libtest FAIL 3034: 'Test reset resolves rewind failure' CURLOPT_READFUNCTION, curl_easy_reset, rewind FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies FAIL 3104: 'CURLOPT_COOKIELIST with Netscape format' cookies FAIL 3105: 'curl_multi_remove_handle twice' curl_multi_remove_handle FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IP' HTTP, HTTP GET, proxy, haproxy FAIL 3202: 'HTTP-IPv6 GET with PROXY protocol with spoofed client IP' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 3203: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET FAIL 3209: 'Upload message via IMAP with upload flags' IMAP, Clear Text, APPEND, UPLOAD FAIL 3210: 'Upload message unread via IMAP' IMAP, Clear Text, APPEND, UPLOAD FAIL 3211: 'uint_bset unit tests' unittest, uint_bset FAIL 3212: 'uint_bset unit tests' unittest, uint_bset FAIL 3213: 'uint_spbset unit tests' unittest, uint_spbset FAIL 3215: 'SMTP DSN' SMTP DSN TESTFAIL: These test cases failed: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 314 315 316 317 318 319 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 357 360 361 362 365 366 367 368 369 370 371 372 373 374 376 378 379 380 381 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 402 405 411 415 416 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 434 435 436 440 441 442 443 444 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 467 468 469 470 471 473 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 507 508 509 510 511 512 513 514 515 516 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 559 561 562 563 564 565 566 567 568 569 570 571 572 574 575 576 577 578 579 580 581 584 585 586 588 589 590 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 658 659 660 661 662 663 666 667 668 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 685 686 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 746 747 748 749 750 751 752 754 755 756 757 759 760 761 762 763 784 785 786 787 788 789 790 791 792 793 794 796 797 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 824 825 826 827 828 829 830 831 833 834 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 870 871 872 873 874 875 876 877 879 880 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 935 936 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 962 963 964 965 966 967 968 969 973 974 975 976 977 978 979 980 981 982 983 984 985 986 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1084 1085 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1098 1099 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1114 1115 1116 1117 1118 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1133 1134 1136 1137 1138 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1164 1166 1168 1170 1171 1172 1174 1176 1178 1180 1181 1183 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1210 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1273 1274 1277 1278 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1296 1297 1298 1299 1300 1302 1303 1308 1309 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 1324 1325 1326 1327 1328 1329 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1396 1398 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1447 1448 1449 1453 1455 1456 1457 1458 1460 1462 1463 1464 1465 1466 1467 1468 1469 1471 1472 1473 1474 1475 1476 1479 1480 1481 1482 1483 1484 1485 1487 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1511 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1539 1540 1541 1542 1543 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1590 1591 1593 1594 1595 1596 1597 1598 1599 1600 1601 1605 1606 1607 1608 1609 1610 1611 1612 1613 1615 1620 1621 1633 1634 1635 1652 1654 1660 1670 1671 1680 1681 1682 1683 1704 1800 1900 1901 1903 1904 1905 1906 1907 1909 1910 1911 1913 1914 1915 1916 1917 1919 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1964 1977 2000 2001 2002 2003 2005 2023 2024 2025 2026 2027 2028 2029 2030 2031 2039 2040 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2071 2072 2073 2074 2075 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2200 2201 2202 2203 2204 2205 2306 2307 2308 2309 2601 2603 2604 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3027 3028 3029 3030 3031 3032 3033 3034 3100 3101 3103 3104 3105 3201 3202 3203 3204 3209 3210 3211 3212 3213 3215 make[1]: *** [Makefile:834: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1096: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_6b903c7b-2abf-4fb6-a9a5-997f71e85c9d/build